Skip to content

Commit 6593bf9

Browse files
committed
pr_comp.h: define enums for all instructions FTE added.
Even the ones we don't use.
1 parent d95c435 commit 6593bf9

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

pr_comp.h

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,65 @@ typedef enum opcode_e
320320
OP_STOREF_F, //1 fpu element...
321321
OP_STOREF_S, //1 string reference
322322
OP_STOREF_I, //1 non-string reference/int
323+
324+
//fteqw r5744+
325+
OP_STOREP_B,//((char*)b)[(int)c] = (int)a
326+
OP_LOADP_B, //(int)c = *(char*)
327+
328+
//fteqw r5768+
329+
//opcodes for 32bit uints
330+
OP_LE_U, //aka GT
331+
OP_LT_U, //aka GE
332+
OP_DIV_U, //don't need mul+add+sub
333+
OP_RSHIFT_U, //lshift is the same for signed+unsigned
334+
335+
//opcodes for 64bit ints
336+
OP_ADD_I64,
337+
OP_SUB_I64,
338+
OP_MUL_I64,
339+
OP_DIV_I64,
340+
OP_BITAND_I64,
341+
OP_BITOR_I64,
342+
OP_BITXOR_I64,
343+
OP_LSHIFT_I64I,
344+
OP_RSHIFT_I64I,
345+
OP_LE_I64, //aka GT
346+
OP_LT_I64, //aka GE
347+
OP_EQ_I64,
348+
OP_NE_I64,
349+
//extra opcodes for 64bit uints
350+
OP_LE_U64, //aka GT
351+
OP_LT_U64, //aka GE
352+
OP_DIV_U64,
353+
OP_RSHIFT_U64I,
354+
355+
//general 64bitness
356+
OP_STORE_I64,
357+
OP_STOREP_I64,
358+
OP_STOREF_I64,
359+
OP_LOAD_I64,
360+
OP_LOADA_I64,
361+
OP_LOADP_I64,
362+
//various conversions for our 64bit types (yay type promotion)
363+
OP_CONV_UI64, //zero extend
364+
OP_CONV_II64, //sign extend
365+
OP_CONV_I64I, //truncate
366+
OP_CONV_FD, //extension
367+
OP_CONV_DF, //truncation
368+
OP_CONV_I64F, //logically a promotion (always signed)
369+
OP_CONV_FI64, //demotion (always signed)
370+
OP_CONV_I64D, //'promotion' (always signed)
371+
OP_CONV_DI64, //demotion (always signed)
372+
373+
//opcodes for doubles.
374+
OP_ADD_D,
375+
OP_SUB_D,
376+
OP_MUL_D,
377+
OP_DIV_D,
378+
OP_LE_D,
379+
OP_LT_D,
380+
OP_EQ_D,
381+
OP_NE_D,
323382
}
324383
opcode_t;
325384

0 commit comments

Comments
 (0)