summaryrefslogtreecommitdiff
path: root/cginstructions.c
diff options
context:
space:
mode:
Diffstat (limited to 'cginstructions.c')
-rw-r--r--cginstructions.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/cginstructions.c b/cginstructions.c
index bd5c49d..45dab01 100644
--- a/cginstructions.c
+++ b/cginstructions.c
@@ -907,6 +907,20 @@ INSTRUCTION_GRAPH g_load_s_x (INSTRUCTION_GRAPH graph_1,int offset,int shift,INS
return instruction;
}
+
+INSTRUCTION_GRAPH g_load_sqb_id (int offset,INSTRUCTION_GRAPH graph_1)
+{
+ INSTRUCTION_GRAPH instruction;
+
+ instruction=g_new_node (GLOAD_SQB_ID,0,2*sizeof (union instruction_parameter));
+
+ instruction->instruction_parameters[0].i=offset;
+ instruction->instruction_parameters[1].p=graph_1;
+
+ graph_1->instruction_d_min_a_cost+=1;
+
+ return instruction;
+}
#endif
INSTRUCTION_GRAPH g_movem (int offset,INSTRUCTION_GRAPH graph_1,int n)
@@ -6467,6 +6481,18 @@ void code_load_si16 (CleanInt offset)
s_push_b (graph_2);
}
+#ifdef G_AI64
+void code_load_si32 (CleanInt offset)
+{
+ INSTRUCTION_GRAPH graph_1,graph_2;
+
+ graph_1=s_pop_b ();
+ graph_2=g_load_sqb_id (offset,graph_1);
+
+ s_push_b (graph_2);
+}
+#endif
+
void code_load_ui8 (CleanInt offset)
{
INSTRUCTION_GRAPH graph_1,graph_2;