Change (s)iXX to intXX, uiXX to uintXX, fXX to floatXX
authorNick Downing <nick@ndcode.org>
Mon, 22 Jan 2024 10:15:06 +0000 (21:15 +1100)
committerNick Downing <nick@ndcode.org>
Mon, 22 Jan 2024 10:15:06 +0000 (21:15 +1100)
c_vm.c
test.asm
vm_asm.l
vm_asm.t
vm_asm.y

diff --git a/c_vm.c b/c_vm.c
index 92ffa00..f9b593c 100644 (file)
--- a/c_vm.c
+++ b/c_vm.c
 enum op {
   // the following are coded as OP_xxx
   OP_NOP = 0,
-  OP_ADD_EXPR_I8_R1,
-  OP_ADD_EXPR_I8_R2,
-  OP_ADD_EXPR_I8_R3,
-  OP_ADD_EXPR_I8_R4,
-  OP_ADD_EXPR_I8_R5,
-  OP_ADD_EXPR_I16_R1,
-  OP_ADD_EXPR_I16_R2,
-  OP_ADD_EXPR_I16_R3,
-  OP_ADD_EXPR_I16_R4,
-  OP_ADD_EXPR_I16_R5,
-  OP_ADD_EXPR_I32_R1,
-  OP_ADD_EXPR_I32_R2,
-  OP_ADD_EXPR_I32_R3,
-  OP_ADD_EXPR_I32_R4,
-  OP_ADD_EXPR_I32_R5,
-  OP_ADD_I8,
-  OP_ADD_I16,
-  OP_ADD_I32,
-  OP_ADD_F32,
-  OP_AND_I8,
-  OP_AND_I16,
-  OP_AND_I32,
+  OP_ADD_EXPR_INT8_R1,
+  OP_ADD_EXPR_INT8_R2,
+  OP_ADD_EXPR_INT8_R3,
+  OP_ADD_EXPR_INT8_R4,
+  OP_ADD_EXPR_INT8_R5,
+  OP_ADD_EXPR_INT16_R1,
+  OP_ADD_EXPR_INT16_R2,
+  OP_ADD_EXPR_INT16_R3,
+  OP_ADD_EXPR_INT16_R4,
+  OP_ADD_EXPR_INT16_R5,
+  OP_ADD_EXPR_INT32_R1,
+  OP_ADD_EXPR_INT32_R2,
+  OP_ADD_EXPR_INT32_R3,
+  OP_ADD_EXPR_INT32_R4,
+  OP_ADD_EXPR_INT32_R5,
+  OP_ADD_INT8,
+  OP_ADD_INT16,
+  OP_ADD_INT32,
+  OP_ADD_FLOAT32,
+  OP_AND_INT8,
+  OP_AND_INT16,
+  OP_AND_INT32,
   OP_CALL,
-  OP_CALL_EXPR_I8,
-  OP_CALL_EXPR_I16,
-  OP_CALL_EXPR_I32,
-  OP_CVT_SI8_I16,
-  OP_CVT_SI8_I32,
-  OP_CVT_SI8_F32,
-  OP_CVT_SI16_I32,
-  OP_CVT_SI16_F32,
-  OP_CVT_SI32_F32,
-  OP_CVT_UI8_I16,
-  OP_CVT_UI8_I32,
-  OP_CVT_UI8_F32,
-  OP_CVT_UI16_I32,
-  OP_CVT_UI16_F32,
-  OP_CVT_UI32_F32,
-  OP_CVT_F32_I8,
-  OP_CVT_F32_I16,
-  OP_CVT_F32_I32,
-  OP_DIV_SI8,
-  OP_DIV_SI16,
-  OP_DIV_SI32,
-  OP_DIV_UI8,
-  OP_DIV_UI16,
-  OP_DIV_UI32,
-  OP_DIV_F32,
-  OP_DIV_R_SI8,
-  OP_DIV_R_SI16,
-  OP_DIV_R_SI32,
-  OP_DIV_R_UI8,
-  OP_DIV_R_UI16,
-  OP_DIV_R_UI32,
-  OP_DIV_R_F32,
-  OP_EQ_I8,
-  OP_EQ_I16,
-  OP_EQ_I32,
-  OP_EQ_F32,
-  OP_GE_SI8,
-  OP_GE_SI16,
-  OP_GE_SI32,
-  OP_GE_UI8,
-  OP_GE_UI16,
-  OP_GE_UI32,
-  OP_GE_F32,
-  OP_GT_SI8,
-  OP_GT_SI16,
-  OP_GT_SI32,
-  OP_GT_UI8,
-  OP_GT_UI16,
-  OP_GT_UI32,
-  OP_GT_F32,
+  OP_CALL_EXPR_INT8,
+  OP_CALL_EXPR_INT16,
+  OP_CALL_EXPR_INT32,
+  OP_CVT_INT8_INT16,
+  OP_CVT_INT8_INT32,
+  OP_CVT_INT8_FLOAT32,
+  OP_CVT_INT16_INT32,
+  OP_CVT_INT16_FLOAT32,
+  OP_CVT_INT32_FLOAT32,
+  OP_CVT_UINT8_INT16,
+  OP_CVT_UINT8_INT32,
+  OP_CVT_UINT8_FLOAT32,
+  OP_CVT_UINT16_INT32,
+  OP_CVT_UINT16_FLOAT32,
+  OP_CVT_UINT32_FLOAT32,
+  OP_CVT_FLOAT32_INT8,
+  OP_CVT_FLOAT32_INT16,
+  OP_CVT_FLOAT32_INT32,
+  OP_DIV_INT8,
+  OP_DIV_INT16,
+  OP_DIV_INT32,
+  OP_DIV_UINT8,
+  OP_DIV_UINT16,
+  OP_DIV_UINT32,
+  OP_DIV_FLOAT32,
+  OP_DIV_R_INT8,
+  OP_DIV_R_INT16,
+  OP_DIV_R_INT32,
+  OP_DIV_R_UINT8,
+  OP_DIV_R_UINT16,
+  OP_DIV_R_UINT32,
+  OP_DIV_R_FLOAT32,
+  OP_EQ_INT8,
+  OP_EQ_INT16,
+  OP_EQ_INT32,
+  OP_EQ_FLOAT32,
+  OP_GE_INT8,
+  OP_GE_INT16,
+  OP_GE_INT32,
+  OP_GE_UINT8,
+  OP_GE_UINT16,
+  OP_GE_UINT32,
+  OP_GE_FLOAT32,
+  OP_GT_INT8,
+  OP_GT_INT16,
+  OP_GT_INT32,
+  OP_GT_UINT8,
+  OP_GT_UINT16,
+  OP_GT_UINT32,
+  OP_GT_FLOAT32,
   OP_IMM_EXPR_8,
   OP_IMM_EXPR_16,
   OP_IMM_EXPR_32,
-  OP_JMPF_I8_EXPR_I8,
-  OP_JMPF_I8_EXPR_I16,
-  OP_JMPF_I8_EXPR_I32,
-  OP_JMPF_I16_EXPR_I8,
-  OP_JMPF_I16_EXPR_I16,
-  OP_JMPF_I16_EXPR_I32,
-  OP_JMPF_I32_EXPR_I8,
-  OP_JMPF_I32_EXPR_I16,
-  OP_JMPF_I32_EXPR_I32,
-  OP_JMPF_F32_EXPR_I8,
-  OP_JMPF_F32_EXPR_I16,
-  OP_JMPF_F32_EXPR_I32,
-  OP_JMPF_R1_EXPR_I8,
-  OP_JMPF_R1_EXPR_I16,
-  OP_JMPF_R1_EXPR_I32,
-  OP_JMPF_R2_EXPR_I8,
-  OP_JMPF_R2_EXPR_I16,
-  OP_JMPF_R2_EXPR_I32,
-  OP_JMPF_R3_EXPR_I8,
-  OP_JMPF_R3_EXPR_I16,
-  OP_JMPF_R3_EXPR_I32,
-  OP_JMPT_I8_EXPR_I8,
-  OP_JMPT_I8_EXPR_I16,
-  OP_JMPT_I8_EXPR_I32,
-  OP_JMPT_I16_EXPR_I8,
-  OP_JMPT_I16_EXPR_I16,
-  OP_JMPT_I16_EXPR_I32,
-  OP_JMPT_I32_EXPR_I8,
-  OP_JMPT_I32_EXPR_I16,
-  OP_JMPT_I32_EXPR_I32,
-  OP_JMPT_F32_EXPR_I8,
-  OP_JMPT_F32_EXPR_I16,
-  OP_JMPT_F32_EXPR_I32,
-  OP_JMPT_R1_EXPR_I8,
-  OP_JMPT_R1_EXPR_I16,
-  OP_JMPT_R1_EXPR_I32,
-  OP_JMPT_R2_EXPR_I8,
-  OP_JMPT_R2_EXPR_I16,
-  OP_JMPT_R2_EXPR_I32,
-  OP_JMPT_R3_EXPR_I8,
-  OP_JMPT_R3_EXPR_I16,
-  OP_JMPT_R3_EXPR_I32,
+  OP_JMPF_INT8_EXPR_INT8,
+  OP_JMPF_INT8_EXPR_INT16,
+  OP_JMPF_INT8_EXPR_INT32,
+  OP_JMPF_INT16_EXPR_INT8,
+  OP_JMPF_INT16_EXPR_INT16,
+  OP_JMPF_INT16_EXPR_INT32,
+  OP_JMPF_INT32_EXPR_INT8,
+  OP_JMPF_INT32_EXPR_INT16,
+  OP_JMPF_INT32_EXPR_INT32,
+  OP_JMPF_FLOAT32_EXPR_INT8,
+  OP_JMPF_FLOAT32_EXPR_INT16,
+  OP_JMPF_FLOAT32_EXPR_INT32,
+  OP_JMPF_R1_EXPR_INT8,
+  OP_JMPF_R1_EXPR_INT16,
+  OP_JMPF_R1_EXPR_INT32,
+  OP_JMPF_R2_EXPR_INT8,
+  OP_JMPF_R2_EXPR_INT16,
+  OP_JMPF_R2_EXPR_INT32,
+  OP_JMPF_R3_EXPR_INT8,
+  OP_JMPF_R3_EXPR_INT16,
+  OP_JMPF_R3_EXPR_INT32,
+  OP_JMPT_INT8_EXPR_INT8,
+  OP_JMPT_INT8_EXPR_INT16,
+  OP_JMPT_INT8_EXPR_INT32,
+  OP_JMPT_INT16_EXPR_INT8,
+  OP_JMPT_INT16_EXPR_INT16,
+  OP_JMPT_INT16_EXPR_INT32,
+  OP_JMPT_INT32_EXPR_INT8,
+  OP_JMPT_INT32_EXPR_INT16,
+  OP_JMPT_INT32_EXPR_INT32,
+  OP_JMPT_FLOAT32_EXPR_INT8,
+  OP_JMPT_FLOAT32_EXPR_INT16,
+  OP_JMPT_FLOAT32_EXPR_INT32,
+  OP_JMPT_R1_EXPR_INT8,
+  OP_JMPT_R1_EXPR_INT16,
+  OP_JMPT_R1_EXPR_INT32,
+  OP_JMPT_R2_EXPR_INT8,
+  OP_JMPT_R2_EXPR_INT16,
+  OP_JMPT_R2_EXPR_INT32,
+  OP_JMPT_R3_EXPR_INT8,
+  OP_JMPT_R3_EXPR_INT16,
+  OP_JMPT_R3_EXPR_INT32,
   OP_LD_8,
   OP_LD_16,
   OP_LD_32,
-  OP_LEA_EXPR_I8_R1,
-  OP_LEA_EXPR_I8_R2,
-  OP_LEA_EXPR_I8_R3,
-  OP_LEA_EXPR_I8_R4,
-  OP_LEA_EXPR_I8_R5,
-  OP_LEA_EXPR_I16_R1,
-  OP_LEA_EXPR_I16_R2,
-  OP_LEA_EXPR_I16_R3,
-  OP_LEA_EXPR_I16_R4,
-  OP_LEA_EXPR_I16_R5,
-  OP_LEA_EXPR_I32_R1,
-  OP_LEA_EXPR_I32_R2,
-  OP_LEA_EXPR_I32_R3,
-  OP_LEA_EXPR_I32_R4,
-  OP_LEA_EXPR_I32_R5,
-  OP_LE_SI8,
-  OP_LE_SI16,
-  OP_LE_SI32,
-  OP_LE_UI8,
-  OP_LE_UI16,
-  OP_LE_UI32,
-  OP_LE_F32,
-  OP_LT_SI8,
-  OP_LT_SI16,
-  OP_LT_SI32,
-  OP_LT_UI8,
-  OP_LT_UI16,
-  OP_LT_UI32,
-  OP_LT_F32,
-  OP_MOD_SI8,
-  OP_MOD_SI16,
-  OP_MOD_SI32,
-  OP_MOD_UI8,
-  OP_MOD_UI16,
-  OP_MOD_UI32,
-  OP_MOD_R_SI8,
-  OP_MOD_R_SI16,
-  OP_MOD_R_SI32,
-  OP_MOD_R_UI8,
-  OP_MOD_R_UI16,
-  OP_MOD_R_UI32,
+  OP_LEA_EXPR_INT8_R1,
+  OP_LEA_EXPR_INT8_R2,
+  OP_LEA_EXPR_INT8_R3,
+  OP_LEA_EXPR_INT8_R4,
+  OP_LEA_EXPR_INT8_R5,
+  OP_LEA_EXPR_INT16_R1,
+  OP_LEA_EXPR_INT16_R2,
+  OP_LEA_EXPR_INT16_R3,
+  OP_LEA_EXPR_INT16_R4,
+  OP_LEA_EXPR_INT16_R5,
+  OP_LEA_EXPR_INT32_R1,
+  OP_LEA_EXPR_INT32_R2,
+  OP_LEA_EXPR_INT32_R3,
+  OP_LEA_EXPR_INT32_R4,
+  OP_LEA_EXPR_INT32_R5,
+  OP_LE_INT8,
+  OP_LE_INT16,
+  OP_LE_INT32,
+  OP_LE_UINT8,
+  OP_LE_UINT16,
+  OP_LE_UINT32,
+  OP_LE_FLOAT32,
+  OP_LT_INT8,
+  OP_LT_INT16,
+  OP_LT_INT32,
+  OP_LT_UINT8,
+  OP_LT_UINT16,
+  OP_LT_UINT32,
+  OP_LT_FLOAT32,
+  OP_MOD_INT8,
+  OP_MOD_INT16,
+  OP_MOD_INT32,
+  OP_MOD_UINT8,
+  OP_MOD_UINT16,
+  OP_MOD_UINT32,
+  OP_MOD_R_INT8,
+  OP_MOD_R_INT16,
+  OP_MOD_R_INT32,
+  OP_MOD_R_UINT8,
+  OP_MOD_R_UINT16,
+  OP_MOD_R_UINT32,
   OP_MOV_R0_R1,
   OP_MOV_R0_R2,
   OP_MOV_R0_R3,
@@ -175,24 +175,24 @@ enum op {
   OP_MOV_R3_R0,
   OP_MOV_R4_R0,
   OP_MOV_R5_R0,
-  OP_MUL_I8,
-  OP_MUL_I16,
-  OP_MUL_I32,
-  OP_MUL_F32,
-  OP_NEG_I8,
-  OP_NEG_I16,
-  OP_NEG_I32,
-  OP_NEG_F32,
-  OP_NE_I8,
-  OP_NE_I16,
-  OP_NE_I32,
-  OP_NE_F32,
-  OP_NOT_I8,
-  OP_NOT_I16,
-  OP_NOT_I32,
-  OP_OR_I8,
-  OP_OR_I16,
-  OP_OR_I32,
+  OP_MUL_INT8,
+  OP_MUL_INT16,
+  OP_MUL_INT32,
+  OP_MUL_FLOAT32,
+  OP_NEG_INT8,
+  OP_NEG_INT16,
+  OP_NEG_INT32,
+  OP_NEG_FLOAT32,
+  OP_NE_INT8,
+  OP_NE_INT16,
+  OP_NE_INT32,
+  OP_NE_FLOAT32,
+  OP_NOT_INT8,
+  OP_NOT_INT16,
+  OP_NOT_INT32,
+  OP_OR_INT8,
+  OP_OR_INT16,
+  OP_OR_INT32,
   OP_POP_8,
   OP_POP_16,
   OP_POP_32,
@@ -210,428 +210,428 @@ enum op {
   OP_PUSH_R4,
   OP_PUSH_R5,
   OP_RET,
-  OP_SHL_I8,
-  OP_SHL_I16,
-  OP_SHL_I32,
-  OP_SHL_R_I8,
-  OP_SHL_R_I16,
-  OP_SHL_R_I32,
-  OP_SHR_SI8,
-  OP_SHR_SI16,
-  OP_SHR_SI32,
-  OP_SHR_UI8,
-  OP_SHR_UI16,
-  OP_SHR_UI32,
-  OP_SHR_R_SI8,
-  OP_SHR_R_SI16,
-  OP_SHR_R_SI32,
-  OP_SHR_R_UI8,
-  OP_SHR_R_UI16,
-  OP_SHR_R_UI32,
+  OP_SHL_INT8,
+  OP_SHL_INT16,
+  OP_SHL_INT32,
+  OP_SHL_R_INT8,
+  OP_SHL_R_INT16,
+  OP_SHL_R_INT32,
+  OP_SHR_INT8,
+  OP_SHR_INT16,
+  OP_SHR_INT32,
+  OP_SHR_UINT8,
+  OP_SHR_UINT16,
+  OP_SHR_UINT32,
+  OP_SHR_R_INT8,
+  OP_SHR_R_INT16,
+  OP_SHR_R_INT32,
+  OP_SHR_R_UINT8,
+  OP_SHR_R_UINT16,
+  OP_SHR_R_UINT32,
   OP_ST_8,
   OP_ST_16,
   OP_ST_32,
   OP_ST_R_8,
   OP_ST_R_16,
   OP_ST_R_32,
-  OP_SUB_I8,
-  OP_SUB_I16,
-  OP_SUB_I32,
-  OP_SUB_F32,
-  OP_SUB_R_I8,
-  OP_SUB_R_I16,
-  OP_SUB_R_I32,
-  OP_SUB_R_F32,
+  OP_SUB_INT8,
+  OP_SUB_INT16,
+  OP_SUB_INT32,
+  OP_SUB_FLOAT32,
+  OP_SUB_R_INT8,
+  OP_SUB_R_INT16,
+  OP_SUB_R_INT32,
+  OP_SUB_R_FLOAT32,
   OP_TRAP,
-  OP_XOR_I8,
-  OP_XOR_I16,
-  OP_XOR_I32,
+  OP_XOR_INT8,
+  OP_XOR_INT16,
+  OP_XOR_INT32,
 
   // the following are coded as 0xff, OP_xxx & 0xff
   // the commented items are for a system with 64-bit addressing
-  //OP_ADD_EXPR_I64_R1 = 0x100,
-  //OP_ADD_EXPR_I64_R2,
-  //OP_ADD_EXPR_I64_R3,
-  //OP_ADD_EXPR_I64_R4,
-  //OP_ADD_EXPR_I64_R5,
-  OP_ADD_I64 = 0x100,
-  OP_ADD_I128,
-  OP_ADD_F64,
-  OP_ADD_F128,
-  OP_AND_I64,
-  OP_AND_I128,
-  //OP_CALL_EXPR_I64,
-  OP_CVT_SI8_I64,
-  OP_CVT_SI8_I128,
-  OP_CVT_SI8_F64,
-  OP_CVT_SI8_F128,
-  OP_CVT_SI16_I64,
-  OP_CVT_SI16_I128,
-  OP_CVT_SI16_F64,
-  OP_CVT_SI16_F128,
-  OP_CVT_SI32_I64,
-  OP_CVT_SI32_I128,
-  OP_CVT_SI32_F64,
-  OP_CVT_SI32_F128,
-  OP_CVT_SI64_I128,
-  OP_CVT_SI64_F32,
-  OP_CVT_SI64_F64,
-  OP_CVT_SI64_F128,
-  OP_CVT_SI128_F32,
-  OP_CVT_SI128_F64,
-  OP_CVT_SI128_F128,
-  OP_CVT_UI8_I64,
-  OP_CVT_UI8_I128,
-  OP_CVT_UI8_F64,
-  OP_CVT_UI8_F128,
-  OP_CVT_UI16_I64,
-  OP_CVT_UI16_I128,
-  OP_CVT_UI16_F64,
-  OP_CVT_UI16_F128,
-  OP_CVT_UI32_I64,
-  OP_CVT_UI32_I128,
-  OP_CVT_UI32_F64,
-  OP_CVT_UI32_F128,
-  OP_CVT_UI64_I128,
-  OP_CVT_UI64_F32,
-  OP_CVT_UI64_F64,
-  OP_CVT_UI64_F128,
-  OP_CVT_UI128_F32,
-  OP_CVT_UI128_F64,
-  OP_CVT_UI128_F128,
-  OP_CVT_F32_F64,
-  OP_CVT_F32_F128,
-  OP_CVT_F32_I64,
-  OP_CVT_F32_I128,
-  OP_CVT_F64_F32,
-  OP_CVT_F64_F128,
-  OP_CVT_F64_I8,
-  OP_CVT_F64_I16,
-  OP_CVT_F64_I32,
-  OP_CVT_F64_I64,
-  OP_CVT_F64_I128,
-  OP_CVT_F128_F32,
-  OP_CVT_F128_F64,
-  OP_CVT_F128_I8,
-  OP_CVT_F128_I16,
-  OP_CVT_F128_I32,
-  OP_CVT_F128_I64,
-  OP_CVT_F128_I128,
-  OP_DIV_SI64,
-  OP_DIV_SI128,
-  OP_DIV_UI64,
-  OP_DIV_UI128,
-  OP_DIV_F64,
-  OP_DIV_F128,
-  OP_DIV_R_SI64,
-  OP_DIV_R_SI128,
-  OP_DIV_R_UI64,
-  OP_DIV_R_UI128,
-  OP_DIV_R_F64,
-  OP_DIV_R_F128,
-  OP_EQ_I64,
-  OP_EQ_I128,
-  OP_EQ_F64,
-  OP_EQ_F128,
-  OP_GE_SI64,
-  OP_GE_SI128,
-  OP_GE_UI64,
-  OP_GE_UI128,
-  OP_GE_F64,
-  OP_GE_F128,
-  OP_GT_SI64,
-  OP_GT_SI128,
-  OP_GT_UI64,
-  OP_GT_UI128,
-  OP_GT_F64,
-  OP_GT_F128,
+  //OP_ADD_EXPR_INT64_R1 = 0x100,
+  //OP_ADD_EXPR_INT64_R2,
+  //OP_ADD_EXPR_INT64_R3,
+  //OP_ADD_EXPR_INT64_R4,
+  //OP_ADD_EXPR_INT64_R5,
+  OP_ADD_INT64 = 0x100,
+  OP_ADD_INT128,
+  OP_ADD_FLOAT64,
+  OP_ADD_FLOAT128,
+  OP_AND_INT64,
+  OP_AND_INT128,
+  //OP_CALL_EXPR_INT64,
+  OP_CVT_INT8_INT64,
+  OP_CVT_INT8_INT128,
+  OP_CVT_INT8_FLOAT64,
+  OP_CVT_INT8_FLOAT128,
+  OP_CVT_INT16_INT64,
+  OP_CVT_INT16_INT128,
+  OP_CVT_INT16_FLOAT64,
+  OP_CVT_INT16_FLOAT128,
+  OP_CVT_INT32_INT64,
+  OP_CVT_INT32_INT128,
+  OP_CVT_INT32_FLOAT64,
+  OP_CVT_INT32_FLOAT128,
+  OP_CVT_INT64_INT128,
+  OP_CVT_INT64_FLOAT32,
+  OP_CVT_INT64_FLOAT64,
+  OP_CVT_INT64_FLOAT128,
+  OP_CVT_INT128_FLOAT32,
+  OP_CVT_INT128_FLOAT64,
+  OP_CVT_INT128_FLOAT128,
+  OP_CVT_UINT8_INT64,
+  OP_CVT_UINT8_INT128,
+  OP_CVT_UINT8_FLOAT64,
+  OP_CVT_UINT8_FLOAT128,
+  OP_CVT_UINT16_INT64,
+  OP_CVT_UINT16_INT128,
+  OP_CVT_UINT16_FLOAT64,
+  OP_CVT_UINT16_FLOAT128,
+  OP_CVT_UINT32_INT64,
+  OP_CVT_UINT32_INT128,
+  OP_CVT_UINT32_FLOAT64,
+  OP_CVT_UINT32_FLOAT128,
+  OP_CVT_UINT64_INT128,
+  OP_CVT_UINT64_FLOAT32,
+  OP_CVT_UINT64_FLOAT64,
+  OP_CVT_UINT64_FLOAT128,
+  OP_CVT_UINT128_FLOAT32,
+  OP_CVT_UINT128_FLOAT64,
+  OP_CVT_UINT128_FLOAT128,
+  OP_CVT_FLOAT32_FLOAT64,
+  OP_CVT_FLOAT32_FLOAT128,
+  OP_CVT_FLOAT32_INT64,
+  OP_CVT_FLOAT32_INT128,
+  OP_CVT_FLOAT64_FLOAT32,
+  OP_CVT_FLOAT64_FLOAT128,
+  OP_CVT_FLOAT64_INT8,
+  OP_CVT_FLOAT64_INT16,
+  OP_CVT_FLOAT64_INT32,
+  OP_CVT_FLOAT64_INT64,
+  OP_CVT_FLOAT64_INT128,
+  OP_CVT_FLOAT128_FLOAT32,
+  OP_CVT_FLOAT128_FLOAT64,
+  OP_CVT_FLOAT128_INT8,
+  OP_CVT_FLOAT128_INT16,
+  OP_CVT_FLOAT128_INT32,
+  OP_CVT_FLOAT128_INT64,
+  OP_CVT_FLOAT128_INT128,
+  OP_DIV_INT64,
+  OP_DIV_INT128,
+  OP_DIV_UINT64,
+  OP_DIV_UINT128,
+  OP_DIV_FLOAT64,
+  OP_DIV_FLOAT128,
+  OP_DIV_R_INT64,
+  OP_DIV_R_INT128,
+  OP_DIV_R_UINT64,
+  OP_DIV_R_UINT128,
+  OP_DIV_R_FLOAT64,
+  OP_DIV_R_FLOAT128,
+  OP_EQ_INT64,
+  OP_EQ_INT128,
+  OP_EQ_FLOAT64,
+  OP_EQ_FLOAT128,
+  OP_GE_INT64,
+  OP_GE_INT128,
+  OP_GE_UINT64,
+  OP_GE_UINT128,
+  OP_GE_FLOAT64,
+  OP_GE_FLOAT128,
+  OP_GT_INT64,
+  OP_GT_INT128,
+  OP_GT_UINT64,
+  OP_GT_UINT128,
+  OP_GT_FLOAT64,
+  OP_GT_FLOAT128,
   OP_IMM_EXPR_64,
   OP_IMM_EXPR_128,
-  //OP_JMPF_I8_EXPR_I64,
-  //OP_JMPF_I16_EXPR_I64,
-  //OP_JMPF_I32_EXPR_I64,
-  OP_JMPF_I64_EXPR_I8,
-  OP_JMPF_I64_EXPR_I16,
-  OP_JMPF_I64_EXPR_I32,
-  //OP_JMPF_I64_EXPR_I64,
-  OP_JMPF_I128_EXPR_I8,
-  OP_JMPF_I128_EXPR_I16,
-  OP_JMPF_I128_EXPR_I32,
-  //OP_JMPF_I128_EXPR_I64,
-  //OP_JMPF_F32_EXPR_I64,
-  OP_JMPF_F64_EXPR_I8,
-  OP_JMPF_F64_EXPR_I16,
-  OP_JMPF_F64_EXPR_I32,
-  //OP_JMPF_F64_EXPR_I64,
-  OP_JMPF_F128_EXPR_I8,
-  OP_JMPF_F128_EXPR_I16,
-  OP_JMPF_F128_EXPR_I32,
-  //OP_JMPF_F128_EXPR_I64,
-  //OP_JMPF_R1_EXPR_I64,
-  //OP_JMPF_R2_EXPR_I64,
-  //OP_JMPF_R3_EXPR_I64,
-  //OP_JMPT_I8_EXPR_I64,
-  //OP_JMPT_I16_EXPR_I64,
-  //OP_JMPT_I32_EXPR_I64,
-  OP_JMPT_I64_EXPR_I8,
-  OP_JMPT_I64_EXPR_I16,
-  OP_JMPT_I64_EXPR_I32,
-  //OP_JMPT_I64_EXPR_I64,
-  OP_JMPT_I128_EXPR_I8,
-  OP_JMPT_I128_EXPR_I16,
-  OP_JMPT_I128_EXPR_I32,
-  //OP_JMPT_I128_EXPR_I64,
-  //OP_JMPT_F32_EXPR_I64,
-  OP_JMPT_F64_EXPR_I8,
-  OP_JMPT_F64_EXPR_I16,
-  OP_JMPT_F64_EXPR_I32,
-  //OP_JMPT_F64_EXPR_I64,
-  OP_JMPT_F128_EXPR_I8,
-  OP_JMPT_F128_EXPR_I16,
-  OP_JMPT_F128_EXPR_I32,
-  //OP_JMPT_F128_EXPR_I64,
-  //OP_JMPT_R1_EXPR_I64,
-  //OP_JMPT_R2_EXPR_I64,
-  //OP_JMPT_R3_EXPR_I64,
+  //OP_JMPF_INT8_EXPR_INT64,
+  //OP_JMPF_INT16_EXPR_INT64,
+  //OP_JMPF_INT32_EXPR_INT64,
+  OP_JMPF_INT64_EXPR_INT8,
+  OP_JMPF_INT64_EXPR_INT16,
+  OP_JMPF_INT64_EXPR_INT32,
+  //OP_JMPF_INT64_EXPR_INT64,
+  OP_JMPF_INT128_EXPR_INT8,
+  OP_JMPF_INT128_EXPR_INT16,
+  OP_JMPF_INT128_EXPR_INT32,
+  //OP_JMPF_INT128_EXPR_INT64,
+  //OP_JMPF_FLOAT32_EXPR_INT64,
+  OP_JMPF_FLOAT64_EXPR_INT8,
+  OP_JMPF_FLOAT64_EXPR_INT16,
+  OP_JMPF_FLOAT64_EXPR_INT32,
+  //OP_JMPF_FLOAT64_EXPR_INT64,
+  OP_JMPF_FLOAT128_EXPR_INT8,
+  OP_JMPF_FLOAT128_EXPR_INT16,
+  OP_JMPF_FLOAT128_EXPR_INT32,
+  //OP_JMPF_FLOAT128_EXPR_INT64,
+  //OP_JMPF_R1_EXPR_INT64,
+  //OP_JMPF_R2_EXPR_INT64,
+  //OP_JMPF_R3_EXPR_INT64,
+  //OP_JMPT_INT8_EXPR_INT64,
+  //OP_JMPT_INT16_EXPR_INT64,
+  //OP_JMPT_INT32_EXPR_INT64,
+  OP_JMPT_INT64_EXPR_INT8,
+  OP_JMPT_INT64_EXPR_INT16,
+  OP_JMPT_INT64_EXPR_INT32,
+  //OP_JMPT_INT64_EXPR_INT64,
+  OP_JMPT_INT128_EXPR_INT8,
+  OP_JMPT_INT128_EXPR_INT16,
+  OP_JMPT_INT128_EXPR_INT32,
+  //OP_JMPT_INT128_EXPR_INT64,
+  //OP_JMPT_FLOAT32_EXPR_INT64,
+  OP_JMPT_FLOAT64_EXPR_INT8,
+  OP_JMPT_FLOAT64_EXPR_INT16,
+  OP_JMPT_FLOAT64_EXPR_INT32,
+  //OP_JMPT_FLOAT64_EXPR_INT64,
+  OP_JMPT_FLOAT128_EXPR_INT8,
+  OP_JMPT_FLOAT128_EXPR_INT16,
+  OP_JMPT_FLOAT128_EXPR_INT32,
+  //OP_JMPT_FLOAT128_EXPR_INT64,
+  //OP_JMPT_R1_EXPR_INT64,
+  //OP_JMPT_R2_EXPR_INT64,
+  //OP_JMPT_R3_EXPR_INT64,
   OP_LD_64,
   OP_LD_128,
-  //OP_LEA_EXPR_I64_R1,
-  //OP_LEA_EXPR_I64_R2,
-  //OP_LEA_EXPR_I64_R3,
-  //OP_LEA_EXPR_I64_R4,
-  //OP_LEA_EXPR_I64_R5,
-  OP_LE_SI64,
-  OP_LE_SI128,
-  OP_LE_UI64,
-  OP_LE_UI128,
-  OP_LE_F64,
-  OP_LE_F128,
-  OP_LT_SI64,
-  OP_LT_SI128,
-  OP_LT_UI64,
-  OP_LT_UI128,
-  OP_LT_F64,
-  OP_LT_F128,
-  OP_MOD_SI64,
-  OP_MOD_SI128,
-  OP_MOD_UI64,
-  OP_MOD_UI128,
-  OP_MOD_R_SI64,
-  OP_MOD_R_SI128,
-  OP_MOD_R_UI64,
-  OP_MOD_R_UI128,
-  OP_MUL_I64,
-  OP_MUL_I128,
-  OP_MUL_F64,
-  OP_MUL_F128,
-  OP_NEG_I64,
-  OP_NEG_I128,
-  OP_NEG_F64,
-  OP_NEG_F128,
-  OP_NE_I64,
-  OP_NE_I128,
-  OP_NE_F64,
-  OP_NE_F128,
-  OP_NOT_I64,
-  OP_NOT_I128,
-  OP_OR_I64,
-  OP_OR_I128,
+  //OP_LEA_EXPR_INT64_R1,
+  //OP_LEA_EXPR_INT64_R2,
+  //OP_LEA_EXPR_INT64_R3,
+  //OP_LEA_EXPR_INT64_R4,
+  //OP_LEA_EXPR_INT64_R5,
+  OP_LE_INT64,
+  OP_LE_INT128,
+  OP_LE_UINT64,
+  OP_LE_UINT128,
+  OP_LE_FLOAT64,
+  OP_LE_FLOAT128,
+  OP_LT_INT64,
+  OP_LT_INT128,
+  OP_LT_UINT64,
+  OP_LT_UINT128,
+  OP_LT_FLOAT64,
+  OP_LT_FLOAT128,
+  OP_MOD_INT64,
+  OP_MOD_INT128,
+  OP_MOD_UINT64,
+  OP_MOD_UINT128,
+  OP_MOD_R_INT64,
+  OP_MOD_R_INT128,
+  OP_MOD_R_UINT64,
+  OP_MOD_R_UINT128,
+  OP_MUL_INT64,
+  OP_MUL_INT128,
+  OP_MUL_FLOAT64,
+  OP_MUL_FLOAT128,
+  OP_NEG_INT64,
+  OP_NEG_INT128,
+  OP_NEG_FLOAT64,
+  OP_NEG_FLOAT128,
+  OP_NE_INT64,
+  OP_NE_INT128,
+  OP_NE_FLOAT64,
+  OP_NE_FLOAT128,
+  OP_NOT_INT64,
+  OP_NOT_INT128,
+  OP_OR_INT64,
+  OP_OR_INT128,
   OP_POP_64,
   OP_POP_128,
   OP_PUSH_64,
   OP_PUSH_128,
-  OP_SHL_I64,
-  OP_SHL_I128,
-  OP_SHL_R_I64,
-  OP_SHL_R_I128,
-  OP_SHR_SI64,
-  OP_SHR_SI128,
-  OP_SHR_UI64,
-  OP_SHR_UI128,
-  OP_SHR_R_SI64,
-  OP_SHR_R_SI128,
-  OP_SHR_R_UI64,
-  OP_SHR_R_UI128,
+  OP_SHL_INT64,
+  OP_SHL_INT128,
+  OP_SHL_R_INT64,
+  OP_SHL_R_INT128,
+  OP_SHR_INT64,
+  OP_SHR_INT128,
+  OP_SHR_UINT64,
+  OP_SHR_UINT128,
+  OP_SHR_R_INT64,
+  OP_SHR_R_INT128,
+  OP_SHR_R_UINT64,
+  OP_SHR_R_UINT128,
   OP_ST_64,
   OP_ST_128,
   OP_ST_R_64,
   OP_ST_R_128,
-  OP_SUB_I64,
-  OP_SUB_I128,
-  OP_SUB_F64,
-  OP_SUB_F128,
-  OP_SUB_R_I64,
-  OP_SUB_R_I128,
-  OP_SUB_R_F64,
-  OP_SUB_R_F128,
-  OP_XOR_I64,
-  OP_XOR_I128,
+  OP_SUB_INT64,
+  OP_SUB_INT128,
+  OP_SUB_FLOAT64,
+  OP_SUB_FLOAT128,
+  OP_SUB_R_INT64,
+  OP_SUB_R_INT128,
+  OP_SUB_R_FLOAT64,
+  OP_SUB_R_FLOAT128,
+  OP_XOR_INT64,
+  OP_XOR_INT128,
 };
 
 int main(void) {
   printf("OP_NOP = 0x%x\n", OP_NOP);
-  printf("OP_ADD_EXPR_I8_R1 = 0x%x\n", OP_ADD_EXPR_I8_R1);
-  printf("OP_ADD_EXPR_I8_R2 = 0x%x\n", OP_ADD_EXPR_I8_R2);
-  printf("OP_ADD_EXPR_I8_R3 = 0x%x\n", OP_ADD_EXPR_I8_R3);
-  printf("OP_ADD_EXPR_I8_R4 = 0x%x\n", OP_ADD_EXPR_I8_R4);
-  printf("OP_ADD_EXPR_I8_R5 = 0x%x\n", OP_ADD_EXPR_I8_R5);
-  printf("OP_ADD_EXPR_I16_R1 = 0x%x\n", OP_ADD_EXPR_I16_R1);
-  printf("OP_ADD_EXPR_I16_R2 = 0x%x\n", OP_ADD_EXPR_I16_R2);
-  printf("OP_ADD_EXPR_I16_R3 = 0x%x\n", OP_ADD_EXPR_I16_R3);
-  printf("OP_ADD_EXPR_I16_R4 = 0x%x\n", OP_ADD_EXPR_I16_R4);
-  printf("OP_ADD_EXPR_I16_R5 = 0x%x\n", OP_ADD_EXPR_I16_R5);
-  printf("OP_ADD_EXPR_I32_R1 = 0x%x\n", OP_ADD_EXPR_I32_R1);
-  printf("OP_ADD_EXPR_I32_R2 = 0x%x\n", OP_ADD_EXPR_I32_R2);
-  printf("OP_ADD_EXPR_I32_R3 = 0x%x\n", OP_ADD_EXPR_I32_R3);
-  printf("OP_ADD_EXPR_I32_R4 = 0x%x\n", OP_ADD_EXPR_I32_R4);
-  printf("OP_ADD_EXPR_I32_R5 = 0x%x\n", OP_ADD_EXPR_I32_R5);
-  printf("OP_ADD_I8 = 0x%x\n", OP_ADD_I8);
-  printf("OP_ADD_I16 = 0x%x\n", OP_ADD_I16);
-  printf("OP_ADD_I32 = 0x%x\n", OP_ADD_I32);
-  printf("OP_ADD_F32 = 0x%x\n", OP_ADD_F32);
-  printf("OP_AND_I8 = 0x%x\n", OP_AND_I8);
-  printf("OP_AND_I16 = 0x%x\n", OP_AND_I16);
-  printf("OP_AND_I32 = 0x%x\n", OP_AND_I32);
+  printf("OP_ADD_EXPR_INT8_R1 = 0x%x\n", OP_ADD_EXPR_INT8_R1);
+  printf("OP_ADD_EXPR_INT8_R2 = 0x%x\n", OP_ADD_EXPR_INT8_R2);
+  printf("OP_ADD_EXPR_INT8_R3 = 0x%x\n", OP_ADD_EXPR_INT8_R3);
+  printf("OP_ADD_EXPR_INT8_R4 = 0x%x\n", OP_ADD_EXPR_INT8_R4);
+  printf("OP_ADD_EXPR_INT8_R5 = 0x%x\n", OP_ADD_EXPR_INT8_R5);
+  printf("OP_ADD_EXPR_INT16_R1 = 0x%x\n", OP_ADD_EXPR_INT16_R1);
+  printf("OP_ADD_EXPR_INT16_R2 = 0x%x\n", OP_ADD_EXPR_INT16_R2);
+  printf("OP_ADD_EXPR_INT16_R3 = 0x%x\n", OP_ADD_EXPR_INT16_R3);
+  printf("OP_ADD_EXPR_INT16_R4 = 0x%x\n", OP_ADD_EXPR_INT16_R4);
+  printf("OP_ADD_EXPR_INT16_R5 = 0x%x\n", OP_ADD_EXPR_INT16_R5);
+  printf("OP_ADD_EXPR_INT32_R1 = 0x%x\n", OP_ADD_EXPR_INT32_R1);
+  printf("OP_ADD_EXPR_INT32_R2 = 0x%x\n", OP_ADD_EXPR_INT32_R2);
+  printf("OP_ADD_EXPR_INT32_R3 = 0x%x\n", OP_ADD_EXPR_INT32_R3);
+  printf("OP_ADD_EXPR_INT32_R4 = 0x%x\n", OP_ADD_EXPR_INT32_R4);
+  printf("OP_ADD_EXPR_INT32_R5 = 0x%x\n", OP_ADD_EXPR_INT32_R5);
+  printf("OP_ADD_INT8 = 0x%x\n", OP_ADD_INT8);
+  printf("OP_ADD_INT16 = 0x%x\n", OP_ADD_INT16);
+  printf("OP_ADD_INT32 = 0x%x\n", OP_ADD_INT32);
+  printf("OP_ADD_FLOAT32 = 0x%x\n", OP_ADD_FLOAT32);
+  printf("OP_AND_INT8 = 0x%x\n", OP_AND_INT8);
+  printf("OP_AND_INT16 = 0x%x\n", OP_AND_INT16);
+  printf("OP_AND_INT32 = 0x%x\n", OP_AND_INT32);
   printf("OP_CALL = 0x%x\n", OP_CALL);
-  printf("OP_CALL_EXPR_I8 = 0x%x\n", OP_CALL_EXPR_I8);
-  printf("OP_CALL_EXPR_I16 = 0x%x\n", OP_CALL_EXPR_I16);
-  printf("OP_CALL_EXPR_I32 = 0x%x\n", OP_CALL_EXPR_I32);
-  printf("OP_CVT_SI8_I16 = 0x%x\n", OP_CVT_SI8_I16);
-  printf("OP_CVT_SI8_I32 = 0x%x\n", OP_CVT_SI8_I32);
-  printf("OP_CVT_SI8_F32 = 0x%x\n", OP_CVT_SI8_F32);
-  printf("OP_CVT_SI16_I32 = 0x%x\n", OP_CVT_SI16_I32);
-  printf("OP_CVT_SI16_F32 = 0x%x\n", OP_CVT_SI16_F32);
-  printf("OP_CVT_SI32_F32 = 0x%x\n", OP_CVT_SI32_F32);
-  printf("OP_CVT_UI8_I16 = 0x%x\n", OP_CVT_UI8_I16);
-  printf("OP_CVT_UI8_I32 = 0x%x\n", OP_CVT_UI8_I32);
-  printf("OP_CVT_UI8_F32 = 0x%x\n", OP_CVT_UI8_F32);
-  printf("OP_CVT_UI16_I32 = 0x%x\n", OP_CVT_UI16_I32);
-  printf("OP_CVT_UI16_F32 = 0x%x\n", OP_CVT_UI16_F32);
-  printf("OP_CVT_UI32_F32 = 0x%x\n", OP_CVT_UI32_F32);
-  printf("OP_CVT_F32_I8 = 0x%x\n", OP_CVT_F32_I8);
-  printf("OP_CVT_F32_I16 = 0x%x\n", OP_CVT_F32_I16);
-  printf("OP_CVT_F32_I32 = 0x%x\n", OP_CVT_F32_I32);
-  printf("OP_DIV_SI8 = 0x%x\n", OP_DIV_SI8);
-  printf("OP_DIV_SI16 = 0x%x\n", OP_DIV_SI16);
-  printf("OP_DIV_SI32 = 0x%x\n", OP_DIV_SI32);
-  printf("OP_DIV_UI8 = 0x%x\n", OP_DIV_UI8);
-  printf("OP_DIV_UI16 = 0x%x\n", OP_DIV_UI16);
-  printf("OP_DIV_UI32 = 0x%x\n", OP_DIV_UI32);
-  printf("OP_DIV_F32 = 0x%x\n", OP_DIV_F32);
-  printf("OP_DIV_R_SI8 = 0x%x\n", OP_DIV_R_SI8);
-  printf("OP_DIV_R_SI16 = 0x%x\n", OP_DIV_R_SI16);
-  printf("OP_DIV_R_SI32 = 0x%x\n", OP_DIV_R_SI32);
-  printf("OP_DIV_R_UI8 = 0x%x\n", OP_DIV_R_UI8);
-  printf("OP_DIV_R_UI16 = 0x%x\n", OP_DIV_R_UI16);
-  printf("OP_DIV_R_UI32 = 0x%x\n", OP_DIV_R_UI32);
-  printf("OP_DIV_R_F32 = 0x%x\n", OP_DIV_R_F32);
-  printf("OP_EQ_I8 = 0x%x\n", OP_EQ_I8);
-  printf("OP_EQ_I16 = 0x%x\n", OP_EQ_I16);
-  printf("OP_EQ_I32 = 0x%x\n", OP_EQ_I32);
-  printf("OP_EQ_F32 = 0x%x\n", OP_EQ_F32);
-  printf("OP_GE_SI8 = 0x%x\n", OP_GE_SI8);
-  printf("OP_GE_SI16 = 0x%x\n", OP_GE_SI16);
-  printf("OP_GE_SI32 = 0x%x\n", OP_GE_SI32);
-  printf("OP_GE_UI8 = 0x%x\n", OP_GE_UI8);
-  printf("OP_GE_UI16 = 0x%x\n", OP_GE_UI16);
-  printf("OP_GE_UI32 = 0x%x\n", OP_GE_UI32);
-  printf("OP_GE_F32 = 0x%x\n", OP_GE_F32);
-  printf("OP_GT_SI8 = 0x%x\n", OP_GT_SI8);
-  printf("OP_GT_SI16 = 0x%x\n", OP_GT_SI16);
-  printf("OP_GT_SI32 = 0x%x\n", OP_GT_SI32);
-  printf("OP_GT_UI8 = 0x%x\n", OP_GT_UI8);
-  printf("OP_GT_UI16 = 0x%x\n", OP_GT_UI16);
-  printf("OP_GT_UI32 = 0x%x\n", OP_GT_UI32);
-  printf("OP_GT_F32 = 0x%x\n", OP_GT_F32);
+  printf("OP_CALL_EXPR_INT8 = 0x%x\n", OP_CALL_EXPR_INT8);
+  printf("OP_CALL_EXPR_INT16 = 0x%x\n", OP_CALL_EXPR_INT16);
+  printf("OP_CALL_EXPR_INT32 = 0x%x\n", OP_CALL_EXPR_INT32);
+  printf("OP_CVT_INT8_INT16 = 0x%x\n", OP_CVT_INT8_INT16);
+  printf("OP_CVT_INT8_INT32 = 0x%x\n", OP_CVT_INT8_INT32);
+  printf("OP_CVT_INT8_FLOAT32 = 0x%x\n", OP_CVT_INT8_FLOAT32);
+  printf("OP_CVT_INT16_INT32 = 0x%x\n", OP_CVT_INT16_INT32);
+  printf("OP_CVT_INT16_FLOAT32 = 0x%x\n", OP_CVT_INT16_FLOAT32);
+  printf("OP_CVT_INT32_FLOAT32 = 0x%x\n", OP_CVT_INT32_FLOAT32);
+  printf("OP_CVT_UINT8_INT16 = 0x%x\n", OP_CVT_UINT8_INT16);
+  printf("OP_CVT_UINT8_INT32 = 0x%x\n", OP_CVT_UINT8_INT32);
+  printf("OP_CVT_UINT8_FLOAT32 = 0x%x\n", OP_CVT_UINT8_FLOAT32);
+  printf("OP_CVT_UINT16_INT32 = 0x%x\n", OP_CVT_UINT16_INT32);
+  printf("OP_CVT_UINT16_FLOAT32 = 0x%x\n", OP_CVT_UINT16_FLOAT32);
+  printf("OP_CVT_UINT32_FLOAT32 = 0x%x\n", OP_CVT_UINT32_FLOAT32);
+  printf("OP_CVT_FLOAT32_INT8 = 0x%x\n", OP_CVT_FLOAT32_INT8);
+  printf("OP_CVT_FLOAT32_INT16 = 0x%x\n", OP_CVT_FLOAT32_INT16);
+  printf("OP_CVT_FLOAT32_INT32 = 0x%x\n", OP_CVT_FLOAT32_INT32);
+  printf("OP_DIV_INT8 = 0x%x\n", OP_DIV_INT8);
+  printf("OP_DIV_INT16 = 0x%x\n", OP_DIV_INT16);
+  printf("OP_DIV_INT32 = 0x%x\n", OP_DIV_INT32);
+  printf("OP_DIV_UINT8 = 0x%x\n", OP_DIV_UINT8);
+  printf("OP_DIV_UINT16 = 0x%x\n", OP_DIV_UINT16);
+  printf("OP_DIV_UINT32 = 0x%x\n", OP_DIV_UINT32);
+  printf("OP_DIV_FLOAT32 = 0x%x\n", OP_DIV_FLOAT32);
+  printf("OP_DIV_R_INT8 = 0x%x\n", OP_DIV_R_INT8);
+  printf("OP_DIV_R_INT16 = 0x%x\n", OP_DIV_R_INT16);
+  printf("OP_DIV_R_INT32 = 0x%x\n", OP_DIV_R_INT32);
+  printf("OP_DIV_R_UINT8 = 0x%x\n", OP_DIV_R_UINT8);
+  printf("OP_DIV_R_UINT16 = 0x%x\n", OP_DIV_R_UINT16);
+  printf("OP_DIV_R_UINT32 = 0x%x\n", OP_DIV_R_UINT32);
+  printf("OP_DIV_R_FLOAT32 = 0x%x\n", OP_DIV_R_FLOAT32);
+  printf("OP_EQ_INT8 = 0x%x\n", OP_EQ_INT8);
+  printf("OP_EQ_INT16 = 0x%x\n", OP_EQ_INT16);
+  printf("OP_EQ_INT32 = 0x%x\n", OP_EQ_INT32);
+  printf("OP_EQ_FLOAT32 = 0x%x\n", OP_EQ_FLOAT32);
+  printf("OP_GE_INT8 = 0x%x\n", OP_GE_INT8);
+  printf("OP_GE_INT16 = 0x%x\n", OP_GE_INT16);
+  printf("OP_GE_INT32 = 0x%x\n", OP_GE_INT32);
+  printf("OP_GE_UINT8 = 0x%x\n", OP_GE_UINT8);
+  printf("OP_GE_UINT16 = 0x%x\n", OP_GE_UINT16);
+  printf("OP_GE_UINT32 = 0x%x\n", OP_GE_UINT32);
+  printf("OP_GE_FLOAT32 = 0x%x\n", OP_GE_FLOAT32);
+  printf("OP_GT_INT8 = 0x%x\n", OP_GT_INT8);
+  printf("OP_GT_INT16 = 0x%x\n", OP_GT_INT16);
+  printf("OP_GT_INT32 = 0x%x\n", OP_GT_INT32);
+  printf("OP_GT_UINT8 = 0x%x\n", OP_GT_UINT8);
+  printf("OP_GT_UINT16 = 0x%x\n", OP_GT_UINT16);
+  printf("OP_GT_UINT32 = 0x%x\n", OP_GT_UINT32);
+  printf("OP_GT_FLOAT32 = 0x%x\n", OP_GT_FLOAT32);
   printf("OP_IMM_EXPR_8 = 0x%x\n", OP_IMM_EXPR_8);
   printf("OP_IMM_EXPR_16 = 0x%x\n", OP_IMM_EXPR_16);
   printf("OP_IMM_EXPR_32 = 0x%x\n", OP_IMM_EXPR_32);
-  printf("OP_JMPF_I8_EXPR_I8 = 0x%x\n", OP_JMPF_I8_EXPR_I8);
-  printf("OP_JMPF_I8_EXPR_I16 = 0x%x\n", OP_JMPF_I8_EXPR_I16);
-  printf("OP_JMPF_I8_EXPR_I32 = 0x%x\n", OP_JMPF_I8_EXPR_I32);
-  printf("OP_JMPF_I16_EXPR_I8 = 0x%x\n", OP_JMPF_I16_EXPR_I8);
-  printf("OP_JMPF_I16_EXPR_I16 = 0x%x\n", OP_JMPF_I16_EXPR_I16);
-  printf("OP_JMPF_I16_EXPR_I32 = 0x%x\n", OP_JMPF_I16_EXPR_I32);
-  printf("OP_JMPF_I32_EXPR_I8 = 0x%x\n", OP_JMPF_I32_EXPR_I8);
-  printf("OP_JMPF_I32_EXPR_I16 = 0x%x\n", OP_JMPF_I32_EXPR_I16);
-  printf("OP_JMPF_I32_EXPR_I32 = 0x%x\n", OP_JMPF_I32_EXPR_I32);
-  printf("OP_JMPF_F32_EXPR_I8 = 0x%x\n", OP_JMPF_F32_EXPR_I8);
-  printf("OP_JMPF_F32_EXPR_I16 = 0x%x\n", OP_JMPF_F32_EXPR_I16);
-  printf("OP_JMPF_F32_EXPR_I32 = 0x%x\n", OP_JMPF_F32_EXPR_I32);
-  printf("OP_JMPF_R1_EXPR_I8 = 0x%x\n", OP_JMPF_R1_EXPR_I8);
-  printf("OP_JMPF_R1_EXPR_I16 = 0x%x\n", OP_JMPF_R1_EXPR_I16);
-  printf("OP_JMPF_R1_EXPR_I32 = 0x%x\n", OP_JMPF_R1_EXPR_I32);
-  printf("OP_JMPF_R2_EXPR_I8 = 0x%x\n", OP_JMPF_R2_EXPR_I8);
-  printf("OP_JMPF_R2_EXPR_I16 = 0x%x\n", OP_JMPF_R2_EXPR_I16);
-  printf("OP_JMPF_R2_EXPR_I32 = 0x%x\n", OP_JMPF_R2_EXPR_I32);
-  printf("OP_JMPF_R3_EXPR_I8 = 0x%x\n", OP_JMPF_R3_EXPR_I8);
-  printf("OP_JMPF_R3_EXPR_I16 = 0x%x\n", OP_JMPF_R3_EXPR_I16);
-  printf("OP_JMPF_R3_EXPR_I32 = 0x%x\n", OP_JMPF_R3_EXPR_I32);
-  printf("OP_JMPT_I8_EXPR_I8 = 0x%x\n", OP_JMPT_I8_EXPR_I8);
-  printf("OP_JMPT_I8_EXPR_I16 = 0x%x\n", OP_JMPT_I8_EXPR_I16);
-  printf("OP_JMPT_I8_EXPR_I32 = 0x%x\n", OP_JMPT_I8_EXPR_I32);
-  printf("OP_JMPT_I16_EXPR_I8 = 0x%x\n", OP_JMPT_I16_EXPR_I8);
-  printf("OP_JMPT_I16_EXPR_I16 = 0x%x\n", OP_JMPT_I16_EXPR_I16);
-  printf("OP_JMPT_I16_EXPR_I32 = 0x%x\n", OP_JMPT_I16_EXPR_I32);
-  printf("OP_JMPT_I32_EXPR_I8 = 0x%x\n", OP_JMPT_I32_EXPR_I8);
-  printf("OP_JMPT_I32_EXPR_I16 = 0x%x\n", OP_JMPT_I32_EXPR_I16);
-  printf("OP_JMPT_I32_EXPR_I32 = 0x%x\n", OP_JMPT_I32_EXPR_I32);
-  printf("OP_JMPT_F32_EXPR_I8 = 0x%x\n", OP_JMPT_F32_EXPR_I8);
-  printf("OP_JMPT_F32_EXPR_I16 = 0x%x\n", OP_JMPT_F32_EXPR_I16);
-  printf("OP_JMPT_F32_EXPR_I32 = 0x%x\n", OP_JMPT_F32_EXPR_I32);
-  printf("OP_JMPT_R1_EXPR_I8 = 0x%x\n", OP_JMPT_R1_EXPR_I8);
-  printf("OP_JMPT_R1_EXPR_I16 = 0x%x\n", OP_JMPT_R1_EXPR_I16);
-  printf("OP_JMPT_R1_EXPR_I32 = 0x%x\n", OP_JMPT_R1_EXPR_I32);
-  printf("OP_JMPT_R2_EXPR_I8 = 0x%x\n", OP_JMPT_R2_EXPR_I8);
-  printf("OP_JMPT_R2_EXPR_I16 = 0x%x\n", OP_JMPT_R2_EXPR_I16);
-  printf("OP_JMPT_R2_EXPR_I32 = 0x%x\n", OP_JMPT_R2_EXPR_I32);
-  printf("OP_JMPT_R3_EXPR_I8 = 0x%x\n", OP_JMPT_R3_EXPR_I8);
-  printf("OP_JMPT_R3_EXPR_I16 = 0x%x\n", OP_JMPT_R3_EXPR_I16);
-  printf("OP_JMPT_R3_EXPR_I32 = 0x%x\n", OP_JMPT_R3_EXPR_I32);
+  printf("OP_JMPF_INT8_EXPR_INT8 = 0x%x\n", OP_JMPF_INT8_EXPR_INT8);
+  printf("OP_JMPF_INT8_EXPR_INT16 = 0x%x\n", OP_JMPF_INT8_EXPR_INT16);
+  printf("OP_JMPF_INT8_EXPR_INT32 = 0x%x\n", OP_JMPF_INT8_EXPR_INT32);
+  printf("OP_JMPF_INT16_EXPR_INT8 = 0x%x\n", OP_JMPF_INT16_EXPR_INT8);
+  printf("OP_JMPF_INT16_EXPR_INT16 = 0x%x\n", OP_JMPF_INT16_EXPR_INT16);
+  printf("OP_JMPF_INT16_EXPR_INT32 = 0x%x\n", OP_JMPF_INT16_EXPR_INT32);
+  printf("OP_JMPF_INT32_EXPR_INT8 = 0x%x\n", OP_JMPF_INT32_EXPR_INT8);
+  printf("OP_JMPF_INT32_EXPR_INT16 = 0x%x\n", OP_JMPF_INT32_EXPR_INT16);
+  printf("OP_JMPF_INT32_EXPR_INT32 = 0x%x\n", OP_JMPF_INT32_EXPR_INT32);
+  printf("OP_JMPF_FLOAT32_EXPR_INT8 = 0x%x\n", OP_JMPF_FLOAT32_EXPR_INT8);
+  printf("OP_JMPF_FLOAT32_EXPR_INT16 = 0x%x\n", OP_JMPF_FLOAT32_EXPR_INT16);
+  printf("OP_JMPF_FLOAT32_EXPR_INT32 = 0x%x\n", OP_JMPF_FLOAT32_EXPR_INT32);
+  printf("OP_JMPF_R1_EXPR_INT8 = 0x%x\n", OP_JMPF_R1_EXPR_INT8);
+  printf("OP_JMPF_R1_EXPR_INT16 = 0x%x\n", OP_JMPF_R1_EXPR_INT16);
+  printf("OP_JMPF_R1_EXPR_INT32 = 0x%x\n", OP_JMPF_R1_EXPR_INT32);
+  printf("OP_JMPF_R2_EXPR_INT8 = 0x%x\n", OP_JMPF_R2_EXPR_INT8);
+  printf("OP_JMPF_R2_EXPR_INT16 = 0x%x\n", OP_JMPF_R2_EXPR_INT16);
+  printf("OP_JMPF_R2_EXPR_INT32 = 0x%x\n", OP_JMPF_R2_EXPR_INT32);
+  printf("OP_JMPF_R3_EXPR_INT8 = 0x%x\n", OP_JMPF_R3_EXPR_INT8);
+  printf("OP_JMPF_R3_EXPR_INT16 = 0x%x\n", OP_JMPF_R3_EXPR_INT16);
+  printf("OP_JMPF_R3_EXPR_INT32 = 0x%x\n", OP_JMPF_R3_EXPR_INT32);
+  printf("OP_JMPT_INT8_EXPR_INT8 = 0x%x\n", OP_JMPT_INT8_EXPR_INT8);
+  printf("OP_JMPT_INT8_EXPR_INT16 = 0x%x\n", OP_JMPT_INT8_EXPR_INT16);
+  printf("OP_JMPT_INT8_EXPR_INT32 = 0x%x\n", OP_JMPT_INT8_EXPR_INT32);
+  printf("OP_JMPT_INT16_EXPR_INT8 = 0x%x\n", OP_JMPT_INT16_EXPR_INT8);
+  printf("OP_JMPT_INT16_EXPR_INT16 = 0x%x\n", OP_JMPT_INT16_EXPR_INT16);
+  printf("OP_JMPT_INT16_EXPR_INT32 = 0x%x\n", OP_JMPT_INT16_EXPR_INT32);
+  printf("OP_JMPT_INT32_EXPR_INT8 = 0x%x\n", OP_JMPT_INT32_EXPR_INT8);
+  printf("OP_JMPT_INT32_EXPR_INT16 = 0x%x\n", OP_JMPT_INT32_EXPR_INT16);
+  printf("OP_JMPT_INT32_EXPR_INT32 = 0x%x\n", OP_JMPT_INT32_EXPR_INT32);
+  printf("OP_JMPT_FLOAT32_EXPR_INT8 = 0x%x\n", OP_JMPT_FLOAT32_EXPR_INT8);
+  printf("OP_JMPT_FLOAT32_EXPR_INT16 = 0x%x\n", OP_JMPT_FLOAT32_EXPR_INT16);
+  printf("OP_JMPT_FLOAT32_EXPR_INT32 = 0x%x\n", OP_JMPT_FLOAT32_EXPR_INT32);
+  printf("OP_JMPT_R1_EXPR_INT8 = 0x%x\n", OP_JMPT_R1_EXPR_INT8);
+  printf("OP_JMPT_R1_EXPR_INT16 = 0x%x\n", OP_JMPT_R1_EXPR_INT16);
+  printf("OP_JMPT_R1_EXPR_INT32 = 0x%x\n", OP_JMPT_R1_EXPR_INT32);
+  printf("OP_JMPT_R2_EXPR_INT8 = 0x%x\n", OP_JMPT_R2_EXPR_INT8);
+  printf("OP_JMPT_R2_EXPR_INT16 = 0x%x\n", OP_JMPT_R2_EXPR_INT16);
+  printf("OP_JMPT_R2_EXPR_INT32 = 0x%x\n", OP_JMPT_R2_EXPR_INT32);
+  printf("OP_JMPT_R3_EXPR_INT8 = 0x%x\n", OP_JMPT_R3_EXPR_INT8);
+  printf("OP_JMPT_R3_EXPR_INT16 = 0x%x\n", OP_JMPT_R3_EXPR_INT16);
+  printf("OP_JMPT_R3_EXPR_INT32 = 0x%x\n", OP_JMPT_R3_EXPR_INT32);
   printf("OP_LD_8 = 0x%x\n", OP_LD_8);
   printf("OP_LD_16 = 0x%x\n", OP_LD_16);
   printf("OP_LD_32 = 0x%x\n", OP_LD_32);
-  printf("OP_LEA_EXPR_I8_R1 = 0x%x\n", OP_LEA_EXPR_I8_R1);
-  printf("OP_LEA_EXPR_I8_R2 = 0x%x\n", OP_LEA_EXPR_I8_R2);
-  printf("OP_LEA_EXPR_I8_R3 = 0x%x\n", OP_LEA_EXPR_I8_R3);
-  printf("OP_LEA_EXPR_I8_R4 = 0x%x\n", OP_LEA_EXPR_I8_R4);
-  printf("OP_LEA_EXPR_I8_R5 = 0x%x\n", OP_LEA_EXPR_I8_R5);
-  printf("OP_LEA_EXPR_I16_R1 = 0x%x\n", OP_LEA_EXPR_I16_R1);
-  printf("OP_LEA_EXPR_I16_R2 = 0x%x\n", OP_LEA_EXPR_I16_R2);
-  printf("OP_LEA_EXPR_I16_R3 = 0x%x\n", OP_LEA_EXPR_I16_R3);
-  printf("OP_LEA_EXPR_I16_R4 = 0x%x\n", OP_LEA_EXPR_I16_R4);
-  printf("OP_LEA_EXPR_I16_R5 = 0x%x\n", OP_LEA_EXPR_I16_R5);
-  printf("OP_LEA_EXPR_I32_R1 = 0x%x\n", OP_LEA_EXPR_I32_R1);
-  printf("OP_LEA_EXPR_I32_R2 = 0x%x\n", OP_LEA_EXPR_I32_R2);
-  printf("OP_LEA_EXPR_I32_R3 = 0x%x\n", OP_LEA_EXPR_I32_R3);
-  printf("OP_LEA_EXPR_I32_R4 = 0x%x\n", OP_LEA_EXPR_I32_R4);
-  printf("OP_LEA_EXPR_I32_R5 = 0x%x\n", OP_LEA_EXPR_I32_R5);
-  printf("OP_LE_SI8 = 0x%x\n", OP_LE_SI8);
-  printf("OP_LE_SI16 = 0x%x\n", OP_LE_SI16);
-  printf("OP_LE_SI32 = 0x%x\n", OP_LE_SI32);
-  printf("OP_LE_UI8 = 0x%x\n", OP_LE_UI8);
-  printf("OP_LE_UI16 = 0x%x\n", OP_LE_UI16);
-  printf("OP_LE_UI32 = 0x%x\n", OP_LE_UI32);
-  printf("OP_LE_F32 = 0x%x\n", OP_LE_F32);
-  printf("OP_LT_SI8 = 0x%x\n", OP_LT_SI8);
-  printf("OP_LT_SI16 = 0x%x\n", OP_LT_SI16);
-  printf("OP_LT_SI32 = 0x%x\n", OP_LT_SI32);
-  printf("OP_LT_UI8 = 0x%x\n", OP_LT_UI8);
-  printf("OP_LT_UI16 = 0x%x\n", OP_LT_UI16);
-  printf("OP_LT_UI32 = 0x%x\n", OP_LT_UI32);
-  printf("OP_LT_F32 = 0x%x\n", OP_LT_F32);
-  printf("OP_MOD_SI8 = 0x%x\n", OP_MOD_SI8);
-  printf("OP_MOD_SI16 = 0x%x\n", OP_MOD_SI16);
-  printf("OP_MOD_SI32 = 0x%x\n", OP_MOD_SI32);
-  printf("OP_MOD_UI8 = 0x%x\n", OP_MOD_UI8);
-  printf("OP_MOD_UI16 = 0x%x\n", OP_MOD_UI16);
-  printf("OP_MOD_UI32 = 0x%x\n", OP_MOD_UI32);
-  printf("OP_MOD_R_SI8 = 0x%x\n", OP_MOD_R_SI8);
-  printf("OP_MOD_R_SI16 = 0x%x\n", OP_MOD_R_SI16);
-  printf("OP_MOD_R_SI32 = 0x%x\n", OP_MOD_R_SI32);
-  printf("OP_MOD_R_UI8 = 0x%x\n", OP_MOD_R_UI8);
-  printf("OP_MOD_R_UI16 = 0x%x\n", OP_MOD_R_UI16);
-  printf("OP_MOD_R_UI32 = 0x%x\n", OP_MOD_R_UI32);
+  printf("OP_LEA_EXPR_INT8_R1 = 0x%x\n", OP_LEA_EXPR_INT8_R1);
+  printf("OP_LEA_EXPR_INT8_R2 = 0x%x\n", OP_LEA_EXPR_INT8_R2);
+  printf("OP_LEA_EXPR_INT8_R3 = 0x%x\n", OP_LEA_EXPR_INT8_R3);
+  printf("OP_LEA_EXPR_INT8_R4 = 0x%x\n", OP_LEA_EXPR_INT8_R4);
+  printf("OP_LEA_EXPR_INT8_R5 = 0x%x\n", OP_LEA_EXPR_INT8_R5);
+  printf("OP_LEA_EXPR_INT16_R1 = 0x%x\n", OP_LEA_EXPR_INT16_R1);
+  printf("OP_LEA_EXPR_INT16_R2 = 0x%x\n", OP_LEA_EXPR_INT16_R2);
+  printf("OP_LEA_EXPR_INT16_R3 = 0x%x\n", OP_LEA_EXPR_INT16_R3);
+  printf("OP_LEA_EXPR_INT16_R4 = 0x%x\n", OP_LEA_EXPR_INT16_R4);
+  printf("OP_LEA_EXPR_INT16_R5 = 0x%x\n", OP_LEA_EXPR_INT16_R5);
+  printf("OP_LEA_EXPR_INT32_R1 = 0x%x\n", OP_LEA_EXPR_INT32_R1);
+  printf("OP_LEA_EXPR_INT32_R2 = 0x%x\n", OP_LEA_EXPR_INT32_R2);
+  printf("OP_LEA_EXPR_INT32_R3 = 0x%x\n", OP_LEA_EXPR_INT32_R3);
+  printf("OP_LEA_EXPR_INT32_R4 = 0x%x\n", OP_LEA_EXPR_INT32_R4);
+  printf("OP_LEA_EXPR_INT32_R5 = 0x%x\n", OP_LEA_EXPR_INT32_R5);
+  printf("OP_LE_INT8 = 0x%x\n", OP_LE_INT8);
+  printf("OP_LE_INT16 = 0x%x\n", OP_LE_INT16);
+  printf("OP_LE_INT32 = 0x%x\n", OP_LE_INT32);
+  printf("OP_LE_UINT8 = 0x%x\n", OP_LE_UINT8);
+  printf("OP_LE_UINT16 = 0x%x\n", OP_LE_UINT16);
+  printf("OP_LE_UINT32 = 0x%x\n", OP_LE_UINT32);
+  printf("OP_LE_FLOAT32 = 0x%x\n", OP_LE_FLOAT32);
+  printf("OP_LT_INT8 = 0x%x\n", OP_LT_INT8);
+  printf("OP_LT_INT16 = 0x%x\n", OP_LT_INT16);
+  printf("OP_LT_INT32 = 0x%x\n", OP_LT_INT32);
+  printf("OP_LT_UINT8 = 0x%x\n", OP_LT_UINT8);
+  printf("OP_LT_UINT16 = 0x%x\n", OP_LT_UINT16);
+  printf("OP_LT_UINT32 = 0x%x\n", OP_LT_UINT32);
+  printf("OP_LT_FLOAT32 = 0x%x\n", OP_LT_FLOAT32);
+  printf("OP_MOD_INT8 = 0x%x\n", OP_MOD_INT8);
+  printf("OP_MOD_INT16 = 0x%x\n", OP_MOD_INT16);
+  printf("OP_MOD_INT32 = 0x%x\n", OP_MOD_INT32);
+  printf("OP_MOD_UINT8 = 0x%x\n", OP_MOD_UINT8);
+  printf("OP_MOD_UINT16 = 0x%x\n", OP_MOD_UINT16);
+  printf("OP_MOD_UINT32 = 0x%x\n", OP_MOD_UINT32);
+  printf("OP_MOD_R_INT8 = 0x%x\n", OP_MOD_R_INT8);
+  printf("OP_MOD_R_INT16 = 0x%x\n", OP_MOD_R_INT16);
+  printf("OP_MOD_R_INT32 = 0x%x\n", OP_MOD_R_INT32);
+  printf("OP_MOD_R_UINT8 = 0x%x\n", OP_MOD_R_UINT8);
+  printf("OP_MOD_R_UINT16 = 0x%x\n", OP_MOD_R_UINT16);
+  printf("OP_MOD_R_UINT32 = 0x%x\n", OP_MOD_R_UINT32);
   printf("OP_MOV_R0_R1 = 0x%x\n", OP_MOV_R0_R1);
   printf("OP_MOV_R0_R2 = 0x%x\n", OP_MOV_R0_R2);
   printf("OP_MOV_R0_R3 = 0x%x\n", OP_MOV_R0_R3);
@@ -642,24 +642,24 @@ int main(void) {
   printf("OP_MOV_R3_R0 = 0x%x\n", OP_MOV_R3_R0);
   printf("OP_MOV_R4_R0 = 0x%x\n", OP_MOV_R4_R0);
   printf("OP_MOV_R5_R0 = 0x%x\n", OP_MOV_R5_R0);
-  printf("OP_MUL_I8 = 0x%x\n", OP_MUL_I8);
-  printf("OP_MUL_I16 = 0x%x\n", OP_MUL_I16);
-  printf("OP_MUL_I32 = 0x%x\n", OP_MUL_I32);
-  printf("OP_MUL_F32 = 0x%x\n", OP_MUL_F32);
-  printf("OP_NEG_I8 = 0x%x\n", OP_NEG_I8);
-  printf("OP_NEG_I16 = 0x%x\n", OP_NEG_I16);
-  printf("OP_NEG_I32 = 0x%x\n", OP_NEG_I32);
-  printf("OP_NEG_F32 = 0x%x\n", OP_NEG_F32);
-  printf("OP_NE_I8 = 0x%x\n", OP_NE_I8);
-  printf("OP_NE_I16 = 0x%x\n", OP_NE_I16);
-  printf("OP_NE_I32 = 0x%x\n", OP_NE_I32);
-  printf("OP_NE_F32 = 0x%x\n", OP_NE_F32);
-  printf("OP_NOT_I8 = 0x%x\n", OP_NOT_I8);
-  printf("OP_NOT_I16 = 0x%x\n", OP_NOT_I16);
-  printf("OP_NOT_I32 = 0x%x\n", OP_NOT_I32);
-  printf("OP_OR_I8 = 0x%x\n", OP_OR_I8);
-  printf("OP_OR_I16 = 0x%x\n", OP_OR_I16);
-  printf("OP_OR_I32 = 0x%x\n", OP_OR_I32);
+  printf("OP_MUL_INT8 = 0x%x\n", OP_MUL_INT8);
+  printf("OP_MUL_INT16 = 0x%x\n", OP_MUL_INT16);
+  printf("OP_MUL_INT32 = 0x%x\n", OP_MUL_INT32);
+  printf("OP_MUL_FLOAT32 = 0x%x\n", OP_MUL_FLOAT32);
+  printf("OP_NEG_INT8 = 0x%x\n", OP_NEG_INT8);
+  printf("OP_NEG_INT16 = 0x%x\n", OP_NEG_INT16);
+  printf("OP_NEG_INT32 = 0x%x\n", OP_NEG_INT32);
+  printf("OP_NEG_FLOAT32 = 0x%x\n", OP_NEG_FLOAT32);
+  printf("OP_NE_INT8 = 0x%x\n", OP_NE_INT8);
+  printf("OP_NE_INT16 = 0x%x\n", OP_NE_INT16);
+  printf("OP_NE_INT32 = 0x%x\n", OP_NE_INT32);
+  printf("OP_NE_FLOAT32 = 0x%x\n", OP_NE_FLOAT32);
+  printf("OP_NOT_INT8 = 0x%x\n", OP_NOT_INT8);
+  printf("OP_NOT_INT16 = 0x%x\n", OP_NOT_INT16);
+  printf("OP_NOT_INT32 = 0x%x\n", OP_NOT_INT32);
+  printf("OP_OR_INT8 = 0x%x\n", OP_OR_INT8);
+  printf("OP_OR_INT16 = 0x%x\n", OP_OR_INT16);
+  printf("OP_OR_INT32 = 0x%x\n", OP_OR_INT32);
   printf("OP_POP_8 = 0x%x\n", OP_POP_8);
   printf("OP_POP_16 = 0x%x\n", OP_POP_16);
   printf("OP_POP_32 = 0x%x\n", OP_POP_32);
@@ -677,258 +677,258 @@ int main(void) {
   printf("OP_PUSH_R4 = 0x%x\n", OP_PUSH_R4);
   printf("OP_PUSH_R5 = 0x%x\n", OP_PUSH_R5);
   printf("OP_RET = 0x%x\n", OP_RET);
-  printf("OP_SHL_I8 = 0x%x\n", OP_SHL_I8);
-  printf("OP_SHL_I16 = 0x%x\n", OP_SHL_I16);
-  printf("OP_SHL_I32 = 0x%x\n", OP_SHL_I32);
-  printf("OP_SHL_R_I8 = 0x%x\n", OP_SHL_R_I8);
-  printf("OP_SHL_R_I16 = 0x%x\n", OP_SHL_R_I16);
-  printf("OP_SHL_R_I32 = 0x%x\n", OP_SHL_R_I32);
-  printf("OP_SHR_SI8 = 0x%x\n", OP_SHR_SI8);
-  printf("OP_SHR_SI16 = 0x%x\n", OP_SHR_SI16);
-  printf("OP_SHR_SI32 = 0x%x\n", OP_SHR_SI32);
-  printf("OP_SHR_UI8 = 0x%x\n", OP_SHR_UI8);
-  printf("OP_SHR_UI16 = 0x%x\n", OP_SHR_UI16);
-  printf("OP_SHR_UI32 = 0x%x\n", OP_SHR_UI32);
-  printf("OP_SHR_R_SI8 = 0x%x\n", OP_SHR_R_SI8);
-  printf("OP_SHR_R_SI16 = 0x%x\n", OP_SHR_R_SI16);
-  printf("OP_SHR_R_SI32 = 0x%x\n", OP_SHR_R_SI32);
-  printf("OP_SHR_R_UI8 = 0x%x\n", OP_SHR_R_UI8);
-  printf("OP_SHR_R_UI16 = 0x%x\n", OP_SHR_R_UI16);
-  printf("OP_SHR_R_UI32 = 0x%x\n", OP_SHR_R_UI32);
+  printf("OP_SHL_INT8 = 0x%x\n", OP_SHL_INT8);
+  printf("OP_SHL_INT16 = 0x%x\n", OP_SHL_INT16);
+  printf("OP_SHL_INT32 = 0x%x\n", OP_SHL_INT32);
+  printf("OP_SHL_R_INT8 = 0x%x\n", OP_SHL_R_INT8);
+  printf("OP_SHL_R_INT16 = 0x%x\n", OP_SHL_R_INT16);
+  printf("OP_SHL_R_INT32 = 0x%x\n", OP_SHL_R_INT32);
+  printf("OP_SHR_INT8 = 0x%x\n", OP_SHR_INT8);
+  printf("OP_SHR_INT16 = 0x%x\n", OP_SHR_INT16);
+  printf("OP_SHR_INT32 = 0x%x\n", OP_SHR_INT32);
+  printf("OP_SHR_UINT8 = 0x%x\n", OP_SHR_UINT8);
+  printf("OP_SHR_UINT16 = 0x%x\n", OP_SHR_UINT16);
+  printf("OP_SHR_UINT32 = 0x%x\n", OP_SHR_UINT32);
+  printf("OP_SHR_R_INT8 = 0x%x\n", OP_SHR_R_INT8);
+  printf("OP_SHR_R_INT16 = 0x%x\n", OP_SHR_R_INT16);
+  printf("OP_SHR_R_INT32 = 0x%x\n", OP_SHR_R_INT32);
+  printf("OP_SHR_R_UINT8 = 0x%x\n", OP_SHR_R_UINT8);
+  printf("OP_SHR_R_UINT16 = 0x%x\n", OP_SHR_R_UINT16);
+  printf("OP_SHR_R_UINT32 = 0x%x\n", OP_SHR_R_UINT32);
   printf("OP_ST_8 = 0x%x\n", OP_ST_8);
   printf("OP_ST_16 = 0x%x\n", OP_ST_16);
   printf("OP_ST_32 = 0x%x\n", OP_ST_32);
   printf("OP_ST_R_8 = 0x%x\n", OP_ST_R_8);
   printf("OP_ST_R_16 = 0x%x\n", OP_ST_R_16);
   printf("OP_ST_R_32 = 0x%x\n", OP_ST_R_32);
-  printf("OP_SUB_I8 = 0x%x\n", OP_SUB_I8);
-  printf("OP_SUB_I16 = 0x%x\n", OP_SUB_I16);
-  printf("OP_SUB_I32 = 0x%x\n", OP_SUB_I32);
-  printf("OP_SUB_F32 = 0x%x\n", OP_SUB_F32);
-  printf("OP_SUB_R_I8 = 0x%x\n", OP_SUB_R_I8);
-  printf("OP_SUB_R_I16 = 0x%x\n", OP_SUB_R_I16);
-  printf("OP_SUB_R_I32 = 0x%x\n", OP_SUB_R_I32);
-  printf("OP_SUB_R_F32 = 0x%x\n", OP_SUB_R_F32);
+  printf("OP_SUB_INT8 = 0x%x\n", OP_SUB_INT8);
+  printf("OP_SUB_INT16 = 0x%x\n", OP_SUB_INT16);
+  printf("OP_SUB_INT32 = 0x%x\n", OP_SUB_INT32);
+  printf("OP_SUB_FLOAT32 = 0x%x\n", OP_SUB_FLOAT32);
+  printf("OP_SUB_R_INT8 = 0x%x\n", OP_SUB_R_INT8);
+  printf("OP_SUB_R_INT16 = 0x%x\n", OP_SUB_R_INT16);
+  printf("OP_SUB_R_INT32 = 0x%x\n", OP_SUB_R_INT32);
+  printf("OP_SUB_R_FLOAT32 = 0x%x\n", OP_SUB_R_FLOAT32);
   printf("OP_TRAP = 0x%x\n", OP_TRAP);
-  printf("OP_XOR_I8 = 0x%x\n", OP_XOR_I8);
-  printf("OP_XOR_I16 = 0x%x\n", OP_XOR_I16);
-  printf("OP_XOR_I32 = 0x%x\n", OP_XOR_I32);
-  //printf("OP_ADD_EXPR_I64_R1 = 0x%x\n", OP_ADD_EXPR_I64_R1);
-  //printf("OP_ADD_EXPR_I64_R2 = 0x%x\n", OP_ADD_EXPR_I64_R2);
-  //printf("OP_ADD_EXPR_I64_R3 = 0x%x\n", OP_ADD_EXPR_I64_R3);
-  //printf("OP_ADD_EXPR_I64_R4 = 0x%x\n", OP_ADD_EXPR_I64_R4);
-  //printf("OP_ADD_EXPR_I64_R5 = 0x%x\n", OP_ADD_EXPR_I64_R5);
-  printf("OP_ADD_I64 = 0x%x\n", OP_ADD_I64);
-  printf("OP_ADD_I128 = 0x%x\n", OP_ADD_I128);
-  printf("OP_ADD_F64 = 0x%x\n", OP_ADD_F64);
-  printf("OP_ADD_F128 = 0x%x\n", OP_ADD_F128);
-  printf("OP_AND_I64 = 0x%x\n", OP_AND_I64);
-  printf("OP_AND_I128 = 0x%x\n", OP_AND_I128);
-  //printf("OP_CALL_EXPR_I64 = 0x%x\n", OP_CALL_EXPR_I64);
-  printf("OP_CVT_SI8_I64 = 0x%x\n", OP_CVT_SI8_I64);
-  printf("OP_CVT_SI8_I128 = 0x%x\n", OP_CVT_SI8_I128);
-  printf("OP_CVT_SI8_F64 = 0x%x\n", OP_CVT_SI8_F64);
-  printf("OP_CVT_SI8_F128 = 0x%x\n", OP_CVT_SI8_F128);
-  printf("OP_CVT_SI16_I64 = 0x%x\n", OP_CVT_SI16_I64);
-  printf("OP_CVT_SI16_I128 = 0x%x\n", OP_CVT_SI16_I128);
-  printf("OP_CVT_SI16_F64 = 0x%x\n", OP_CVT_SI16_F64);
-  printf("OP_CVT_SI16_F128 = 0x%x\n", OP_CVT_SI16_F128);
-  printf("OP_CVT_SI32_I64 = 0x%x\n", OP_CVT_SI32_I64);
-  printf("OP_CVT_SI32_I128 = 0x%x\n", OP_CVT_SI32_I128);
-  printf("OP_CVT_SI32_F64 = 0x%x\n", OP_CVT_SI32_F64);
-  printf("OP_CVT_SI32_F128 = 0x%x\n", OP_CVT_SI32_F128);
-  printf("OP_CVT_SI64_I128 = 0x%x\n", OP_CVT_SI64_I128);
-  printf("OP_CVT_SI64_F32 = 0x%x\n", OP_CVT_SI64_F32);
-  printf("OP_CVT_SI64_F64 = 0x%x\n", OP_CVT_SI64_F64);
-  printf("OP_CVT_SI64_F128 = 0x%x\n", OP_CVT_SI64_F128);
-  printf("OP_CVT_SI128_F32 = 0x%x\n", OP_CVT_SI128_F32);
-  printf("OP_CVT_SI128_F64 = 0x%x\n", OP_CVT_SI128_F64);
-  printf("OP_CVT_SI128_F128 = 0x%x\n", OP_CVT_SI128_F128);
-  printf("OP_CVT_UI8_I64 = 0x%x\n", OP_CVT_UI8_I64);
-  printf("OP_CVT_UI8_I128 = 0x%x\n", OP_CVT_UI8_I128);
-  printf("OP_CVT_UI8_F64 = 0x%x\n", OP_CVT_UI8_F64);
-  printf("OP_CVT_UI8_F128 = 0x%x\n", OP_CVT_UI8_F128);
-  printf("OP_CVT_UI16_I64 = 0x%x\n", OP_CVT_UI16_I64);
-  printf("OP_CVT_UI16_I128 = 0x%x\n", OP_CVT_UI16_I128);
-  printf("OP_CVT_UI16_F64 = 0x%x\n", OP_CVT_UI16_F64);
-  printf("OP_CVT_UI16_F128 = 0x%x\n", OP_CVT_UI16_F128);
-  printf("OP_CVT_UI32_I64 = 0x%x\n", OP_CVT_UI32_I64);
-  printf("OP_CVT_UI32_I128 = 0x%x\n", OP_CVT_UI32_I128);
-  printf("OP_CVT_UI32_F64 = 0x%x\n", OP_CVT_UI32_F64);
-  printf("OP_CVT_UI32_F128 = 0x%x\n", OP_CVT_UI32_F128);
-  printf("OP_CVT_UI64_I128 = 0x%x\n", OP_CVT_UI64_I128);
-  printf("OP_CVT_UI64_F32 = 0x%x\n", OP_CVT_UI64_F32);
-  printf("OP_CVT_UI64_F64 = 0x%x\n", OP_CVT_UI64_F64);
-  printf("OP_CVT_UI64_F128 = 0x%x\n", OP_CVT_UI64_F128);
-  printf("OP_CVT_UI128_F32 = 0x%x\n", OP_CVT_UI128_F32);
-  printf("OP_CVT_UI128_F64 = 0x%x\n", OP_CVT_UI128_F64);
-  printf("OP_CVT_UI128_F128 = 0x%x\n", OP_CVT_UI128_F128);
-  printf("OP_CVT_F32_F64 = 0x%x\n", OP_CVT_F32_F64);
-  printf("OP_CVT_F32_F128 = 0x%x\n", OP_CVT_F32_F128);
-  printf("OP_CVT_F32_I64 = 0x%x\n", OP_CVT_F32_I64);
-  printf("OP_CVT_F32_I128 = 0x%x\n", OP_CVT_F32_I128);
-  printf("OP_CVT_F64_F32 = 0x%x\n", OP_CVT_F64_F32);
-  printf("OP_CVT_F64_F128 = 0x%x\n", OP_CVT_F64_F128);
-  printf("OP_CVT_F64_I8 = 0x%x\n", OP_CVT_F64_I8);
-  printf("OP_CVT_F64_I16 = 0x%x\n", OP_CVT_F64_I16);
-  printf("OP_CVT_F64_I32 = 0x%x\n", OP_CVT_F64_I32);
-  printf("OP_CVT_F64_I64 = 0x%x\n", OP_CVT_F64_I64);
-  printf("OP_CVT_F64_I128 = 0x%x\n", OP_CVT_F64_I128);
-  printf("OP_CVT_F128_F32 = 0x%x\n", OP_CVT_F128_F32);
-  printf("OP_CVT_F128_F64 = 0x%x\n", OP_CVT_F128_F64);
-  printf("OP_CVT_F128_I8 = 0x%x\n", OP_CVT_F128_I8);
-  printf("OP_CVT_F128_I16 = 0x%x\n", OP_CVT_F128_I16);
-  printf("OP_CVT_F128_I32 = 0x%x\n", OP_CVT_F128_I32);
-  printf("OP_CVT_F128_I64 = 0x%x\n", OP_CVT_F128_I64);
-  printf("OP_CVT_F128_I128 = 0x%x\n", OP_CVT_F128_I128);
-  printf("OP_DIV_SI64 = 0x%x\n", OP_DIV_SI64);
-  printf("OP_DIV_SI128 = 0x%x\n", OP_DIV_SI128);
-  printf("OP_DIV_UI64 = 0x%x\n", OP_DIV_UI64);
-  printf("OP_DIV_UI128 = 0x%x\n", OP_DIV_UI128);
-  printf("OP_DIV_F64 = 0x%x\n", OP_DIV_F64);
-  printf("OP_DIV_F128 = 0x%x\n", OP_DIV_F128);
-  printf("OP_DIV_R_SI64 = 0x%x\n", OP_DIV_R_SI64);
-  printf("OP_DIV_R_SI128 = 0x%x\n", OP_DIV_R_SI128);
-  printf("OP_DIV_R_UI64 = 0x%x\n", OP_DIV_R_UI64);
-  printf("OP_DIV_R_UI128 = 0x%x\n", OP_DIV_R_UI128);
-  printf("OP_DIV_R_F64 = 0x%x\n", OP_DIV_R_F64);
-  printf("OP_DIV_R_F128 = 0x%x\n", OP_DIV_R_F128);
-  printf("OP_EQ_I64 = 0x%x\n", OP_EQ_I64);
-  printf("OP_EQ_I128 = 0x%x\n", OP_EQ_I128);
-  printf("OP_EQ_F64 = 0x%x\n", OP_EQ_F64);
-  printf("OP_EQ_F128 = 0x%x\n", OP_EQ_F128);
-  printf("OP_GE_SI64 = 0x%x\n", OP_GE_SI64);
-  printf("OP_GE_SI128 = 0x%x\n", OP_GE_SI128);
-  printf("OP_GE_UI64 = 0x%x\n", OP_GE_UI64);
-  printf("OP_GE_UI128 = 0x%x\n", OP_GE_UI128);
-  printf("OP_GE_F64 = 0x%x\n", OP_GE_F64);
-  printf("OP_GE_F128 = 0x%x\n", OP_GE_F128);
-  printf("OP_GT_SI64 = 0x%x\n", OP_GT_SI64);
-  printf("OP_GT_SI128 = 0x%x\n", OP_GT_SI128);
-  printf("OP_GT_UI64 = 0x%x\n", OP_GT_UI64);
-  printf("OP_GT_UI128 = 0x%x\n", OP_GT_UI128);
-  printf("OP_GT_F64 = 0x%x\n", OP_GT_F64);
-  printf("OP_GT_F128 = 0x%x\n", OP_GT_F128);
+  printf("OP_XOR_INT8 = 0x%x\n", OP_XOR_INT8);
+  printf("OP_XOR_INT16 = 0x%x\n", OP_XOR_INT16);
+  printf("OP_XOR_INT32 = 0x%x\n", OP_XOR_INT32);
+  //printf("OP_ADD_EXPR_INT64_R1 = 0x%x\n", OP_ADD_EXPR_INT64_R1);
+  //printf("OP_ADD_EXPR_INT64_R2 = 0x%x\n", OP_ADD_EXPR_INT64_R2);
+  //printf("OP_ADD_EXPR_INT64_R3 = 0x%x\n", OP_ADD_EXPR_INT64_R3);
+  //printf("OP_ADD_EXPR_INT64_R4 = 0x%x\n", OP_ADD_EXPR_INT64_R4);
+  //printf("OP_ADD_EXPR_INT64_R5 = 0x%x\n", OP_ADD_EXPR_INT64_R5);
+  printf("OP_ADD_INT64 = 0x%x\n", OP_ADD_INT64);
+  printf("OP_ADD_INT128 = 0x%x\n", OP_ADD_INT128);
+  printf("OP_ADD_FLOAT64 = 0x%x\n", OP_ADD_FLOAT64);
+  printf("OP_ADD_FLOAT128 = 0x%x\n", OP_ADD_FLOAT128);
+  printf("OP_AND_INT64 = 0x%x\n", OP_AND_INT64);
+  printf("OP_AND_INT128 = 0x%x\n", OP_AND_INT128);
+  //printf("OP_CALL_EXPR_INT64 = 0x%x\n", OP_CALL_EXPR_INT64);
+  printf("OP_CVT_INT8_INT64 = 0x%x\n", OP_CVT_INT8_INT64);
+  printf("OP_CVT_INT8_INT128 = 0x%x\n", OP_CVT_INT8_INT128);
+  printf("OP_CVT_INT8_FLOAT64 = 0x%x\n", OP_CVT_INT8_FLOAT64);
+  printf("OP_CVT_INT8_FLOAT128 = 0x%x\n", OP_CVT_INT8_FLOAT128);
+  printf("OP_CVT_INT16_INT64 = 0x%x\n", OP_CVT_INT16_INT64);
+  printf("OP_CVT_INT16_INT128 = 0x%x\n", OP_CVT_INT16_INT128);
+  printf("OP_CVT_INT16_FLOAT64 = 0x%x\n", OP_CVT_INT16_FLOAT64);
+  printf("OP_CVT_INT16_FLOAT128 = 0x%x\n", OP_CVT_INT16_FLOAT128);
+  printf("OP_CVT_INT32_INT64 = 0x%x\n", OP_CVT_INT32_INT64);
+  printf("OP_CVT_INT32_INT128 = 0x%x\n", OP_CVT_INT32_INT128);
+  printf("OP_CVT_INT32_FLOAT64 = 0x%x\n", OP_CVT_INT32_FLOAT64);
+  printf("OP_CVT_INT32_FLOAT128 = 0x%x\n", OP_CVT_INT32_FLOAT128);
+  printf("OP_CVT_INT64_INT128 = 0x%x\n", OP_CVT_INT64_INT128);
+  printf("OP_CVT_INT64_FLOAT32 = 0x%x\n", OP_CVT_INT64_FLOAT32);
+  printf("OP_CVT_INT64_FLOAT64 = 0x%x\n", OP_CVT_INT64_FLOAT64);
+  printf("OP_CVT_INT64_FLOAT128 = 0x%x\n", OP_CVT_INT64_FLOAT128);
+  printf("OP_CVT_INT128_FLOAT32 = 0x%x\n", OP_CVT_INT128_FLOAT32);
+  printf("OP_CVT_INT128_FLOAT64 = 0x%x\n", OP_CVT_INT128_FLOAT64);
+  printf("OP_CVT_INT128_FLOAT128 = 0x%x\n", OP_CVT_INT128_FLOAT128);
+  printf("OP_CVT_UINT8_INT64 = 0x%x\n", OP_CVT_UINT8_INT64);
+  printf("OP_CVT_UINT8_INT128 = 0x%x\n", OP_CVT_UINT8_INT128);
+  printf("OP_CVT_UINT8_FLOAT64 = 0x%x\n", OP_CVT_UINT8_FLOAT64);
+  printf("OP_CVT_UINT8_FLOAT128 = 0x%x\n", OP_CVT_UINT8_FLOAT128);
+  printf("OP_CVT_UINT16_INT64 = 0x%x\n", OP_CVT_UINT16_INT64);
+  printf("OP_CVT_UINT16_INT128 = 0x%x\n", OP_CVT_UINT16_INT128);
+  printf("OP_CVT_UINT16_FLOAT64 = 0x%x\n", OP_CVT_UINT16_FLOAT64);
+  printf("OP_CVT_UINT16_FLOAT128 = 0x%x\n", OP_CVT_UINT16_FLOAT128);
+  printf("OP_CVT_UINT32_INT64 = 0x%x\n", OP_CVT_UINT32_INT64);
+  printf("OP_CVT_UINT32_INT128 = 0x%x\n", OP_CVT_UINT32_INT128);
+  printf("OP_CVT_UINT32_FLOAT64 = 0x%x\n", OP_CVT_UINT32_FLOAT64);
+  printf("OP_CVT_UINT32_FLOAT128 = 0x%x\n", OP_CVT_UINT32_FLOAT128);
+  printf("OP_CVT_UINT64_INT128 = 0x%x\n", OP_CVT_UINT64_INT128);
+  printf("OP_CVT_UINT64_FLOAT32 = 0x%x\n", OP_CVT_UINT64_FLOAT32);
+  printf("OP_CVT_UINT64_FLOAT64 = 0x%x\n", OP_CVT_UINT64_FLOAT64);
+  printf("OP_CVT_UINT64_FLOAT128 = 0x%x\n", OP_CVT_UINT64_FLOAT128);
+  printf("OP_CVT_UINT128_FLOAT32 = 0x%x\n", OP_CVT_UINT128_FLOAT32);
+  printf("OP_CVT_UINT128_FLOAT64 = 0x%x\n", OP_CVT_UINT128_FLOAT64);
+  printf("OP_CVT_UINT128_FLOAT128 = 0x%x\n", OP_CVT_UINT128_FLOAT128);
+  printf("OP_CVT_FLOAT32_FLOAT64 = 0x%x\n", OP_CVT_FLOAT32_FLOAT64);
+  printf("OP_CVT_FLOAT32_FLOAT128 = 0x%x\n", OP_CVT_FLOAT32_FLOAT128);
+  printf("OP_CVT_FLOAT32_INT64 = 0x%x\n", OP_CVT_FLOAT32_INT64);
+  printf("OP_CVT_FLOAT32_INT128 = 0x%x\n", OP_CVT_FLOAT32_INT128);
+  printf("OP_CVT_FLOAT64_FLOAT32 = 0x%x\n", OP_CVT_FLOAT64_FLOAT32);
+  printf("OP_CVT_FLOAT64_FLOAT128 = 0x%x\n", OP_CVT_FLOAT64_FLOAT128);
+  printf("OP_CVT_FLOAT64_INT8 = 0x%x\n", OP_CVT_FLOAT64_INT8);
+  printf("OP_CVT_FLOAT64_INT16 = 0x%x\n", OP_CVT_FLOAT64_INT16);
+  printf("OP_CVT_FLOAT64_INT32 = 0x%x\n", OP_CVT_FLOAT64_INT32);
+  printf("OP_CVT_FLOAT64_INT64 = 0x%x\n", OP_CVT_FLOAT64_INT64);
+  printf("OP_CVT_FLOAT64_INT128 = 0x%x\n", OP_CVT_FLOAT64_INT128);
+  printf("OP_CVT_FLOAT128_FLOAT32 = 0x%x\n", OP_CVT_FLOAT128_FLOAT32);
+  printf("OP_CVT_FLOAT128_FLOAT64 = 0x%x\n", OP_CVT_FLOAT128_FLOAT64);
+  printf("OP_CVT_FLOAT128_INT8 = 0x%x\n", OP_CVT_FLOAT128_INT8);
+  printf("OP_CVT_FLOAT128_INT16 = 0x%x\n", OP_CVT_FLOAT128_INT16);
+  printf("OP_CVT_FLOAT128_INT32 = 0x%x\n", OP_CVT_FLOAT128_INT32);
+  printf("OP_CVT_FLOAT128_INT64 = 0x%x\n", OP_CVT_FLOAT128_INT64);
+  printf("OP_CVT_FLOAT128_INT128 = 0x%x\n", OP_CVT_FLOAT128_INT128);
+  printf("OP_DIV_INT64 = 0x%x\n", OP_DIV_INT64);
+  printf("OP_DIV_INT128 = 0x%x\n", OP_DIV_INT128);
+  printf("OP_DIV_UINT64 = 0x%x\n", OP_DIV_UINT64);
+  printf("OP_DIV_UINT128 = 0x%x\n", OP_DIV_UINT128);
+  printf("OP_DIV_FLOAT64 = 0x%x\n", OP_DIV_FLOAT64);
+  printf("OP_DIV_FLOAT128 = 0x%x\n", OP_DIV_FLOAT128);
+  printf("OP_DIV_R_INT64 = 0x%x\n", OP_DIV_R_INT64);
+  printf("OP_DIV_R_INT128 = 0x%x\n", OP_DIV_R_INT128);
+  printf("OP_DIV_R_UINT64 = 0x%x\n", OP_DIV_R_UINT64);
+  printf("OP_DIV_R_UINT128 = 0x%x\n", OP_DIV_R_UINT128);
+  printf("OP_DIV_R_FLOAT64 = 0x%x\n", OP_DIV_R_FLOAT64);
+  printf("OP_DIV_R_FLOAT128 = 0x%x\n", OP_DIV_R_FLOAT128);
+  printf("OP_EQ_INT64 = 0x%x\n", OP_EQ_INT64);
+  printf("OP_EQ_INT128 = 0x%x\n", OP_EQ_INT128);
+  printf("OP_EQ_FLOAT64 = 0x%x\n", OP_EQ_FLOAT64);
+  printf("OP_EQ_FLOAT128 = 0x%x\n", OP_EQ_FLOAT128);
+  printf("OP_GE_INT64 = 0x%x\n", OP_GE_INT64);
+  printf("OP_GE_INT128 = 0x%x\n", OP_GE_INT128);
+  printf("OP_GE_UINT64 = 0x%x\n", OP_GE_UINT64);
+  printf("OP_GE_UINT128 = 0x%x\n", OP_GE_UINT128);
+  printf("OP_GE_FLOAT64 = 0x%x\n", OP_GE_FLOAT64);
+  printf("OP_GE_FLOAT128 = 0x%x\n", OP_GE_FLOAT128);
+  printf("OP_GT_INT64 = 0x%x\n", OP_GT_INT64);
+  printf("OP_GT_INT128 = 0x%x\n", OP_GT_INT128);
+  printf("OP_GT_UINT64 = 0x%x\n", OP_GT_UINT64);
+  printf("OP_GT_UINT128 = 0x%x\n", OP_GT_UINT128);
+  printf("OP_GT_FLOAT64 = 0x%x\n", OP_GT_FLOAT64);
+  printf("OP_GT_FLOAT128 = 0x%x\n", OP_GT_FLOAT128);
   printf("OP_IMM_EXPR_64 = 0x%x\n", OP_IMM_EXPR_64);
   printf("OP_IMM_EXPR_128 = 0x%x\n", OP_IMM_EXPR_128);
-  //printf("OP_JMPF_I8_EXPR_I64 = 0x%x\n", OP_JMPF_I8_EXPR_I64);
-  //printf("OP_JMPF_I16_EXPR_I64 = 0x%x\n", OP_JMPF_I16_EXPR_I64);
-  //printf("OP_JMPF_I32_EXPR_I64 = 0x%x\n", OP_JMPF_I32_EXPR_I64);
-  printf("OP_JMPF_I64_EXPR_I8 = 0x%x\n", OP_JMPF_I64_EXPR_I8);
-  printf("OP_JMPF_I64_EXPR_I16 = 0x%x\n", OP_JMPF_I64_EXPR_I16);
-  printf("OP_JMPF_I64_EXPR_I32 = 0x%x\n", OP_JMPF_I64_EXPR_I32);
-  //printf("OP_JMPF_I64_EXPR_I64 = 0x%x\n", OP_JMPF_I64_EXPR_I64);
-  printf("OP_JMPF_I128_EXPR_I8 = 0x%x\n", OP_JMPF_I128_EXPR_I8);
-  printf("OP_JMPF_I128_EXPR_I16 = 0x%x\n", OP_JMPF_I128_EXPR_I16);
-  printf("OP_JMPF_I128_EXPR_I32 = 0x%x\n", OP_JMPF_I128_EXPR_I32);
-  //printf("OP_JMPF_I128_EXPR_I64 = 0x%x\n", OP_JMPF_I128_EXPR_I64);
-  //printf("OP_JMPF_F32_EXPR_I64 = 0x%x\n", OP_JMPF_F32_EXPR_I64);
-  printf("OP_JMPF_F64_EXPR_I8 = 0x%x\n", OP_JMPF_F64_EXPR_I8);
-  printf("OP_JMPF_F64_EXPR_I16 = 0x%x\n", OP_JMPF_F64_EXPR_I16);
-  printf("OP_JMPF_F64_EXPR_I32 = 0x%x\n", OP_JMPF_F64_EXPR_I32);
-  //printf("OP_JMPF_F64_EXPR_I64 = 0x%x\n", OP_JMPF_F64_EXPR_I64);
-  printf("OP_JMPF_F128_EXPR_I8 = 0x%x\n", OP_JMPF_F128_EXPR_I8);
-  printf("OP_JMPF_F128_EXPR_I16 = 0x%x\n", OP_JMPF_F128_EXPR_I16);
-  printf("OP_JMPF_F128_EXPR_I32 = 0x%x\n", OP_JMPF_F128_EXPR_I32);
-  //printf("OP_JMPF_F128_EXPR_I64 = 0x%x\n", OP_JMPF_F128_EXPR_I64);
-  //printf("OP_JMPF_R1_EXPR_I64 = 0x%x\n", OP_JMPF_R1_EXPR_I64);
-  //printf("OP_JMPF_R2_EXPR_I64 = 0x%x\n", OP_JMPF_R2_EXPR_I64);
-  //printf("OP_JMPF_R3_EXPR_I64 = 0x%x\n", OP_JMPF_R3_EXPR_I64);
-  //printf("OP_JMPT_I8_EXPR_I64 = 0x%x\n", OP_JMPT_I8_EXPR_I64);
-  //printf("OP_JMPT_I16_EXPR_I64 = 0x%x\n", OP_JMPT_I16_EXPR_I64);
-  //printf("OP_JMPT_I32_EXPR_I64 = 0x%x\n", OP_JMPT_I32_EXPR_I64);
-  printf("OP_JMPT_I64_EXPR_I8 = 0x%x\n", OP_JMPT_I64_EXPR_I8);
-  printf("OP_JMPT_I64_EXPR_I16 = 0x%x\n", OP_JMPT_I64_EXPR_I16);
-  printf("OP_JMPT_I64_EXPR_I32 = 0x%x\n", OP_JMPT_I64_EXPR_I32);
-  //printf("OP_JMPT_I64_EXPR_I64 = 0x%x\n", OP_JMPT_I64_EXPR_I64);
-  printf("OP_JMPT_I128_EXPR_I8 = 0x%x\n", OP_JMPT_I128_EXPR_I8);
-  printf("OP_JMPT_I128_EXPR_I16 = 0x%x\n", OP_JMPT_I128_EXPR_I16);
-  printf("OP_JMPT_I128_EXPR_I32 = 0x%x\n", OP_JMPT_I128_EXPR_I32);
-  //printf("OP_JMPT_I128_EXPR_I64 = 0x%x\n", OP_JMPT_I128_EXPR_I64);
-  //printf("OP_JMPT_F32_EXPR_I64 = 0x%x\n", OP_JMPT_F32_EXPR_I64);
-  printf("OP_JMPT_F64_EXPR_I8 = 0x%x\n", OP_JMPT_F64_EXPR_I8);
-  printf("OP_JMPT_F64_EXPR_I16 = 0x%x\n", OP_JMPT_F64_EXPR_I16);
-  printf("OP_JMPT_F64_EXPR_I32 = 0x%x\n", OP_JMPT_F64_EXPR_I32);
-  //printf("OP_JMPT_F64_EXPR_I64 = 0x%x\n", OP_JMPT_F64_EXPR_I64);
-  printf("OP_JMPT_F128_EXPR_I8 = 0x%x\n", OP_JMPT_F128_EXPR_I8);
-  printf("OP_JMPT_F128_EXPR_I16 = 0x%x\n", OP_JMPT_F128_EXPR_I16);
-  printf("OP_JMPT_F128_EXPR_I32 = 0x%x\n", OP_JMPT_F128_EXPR_I32);
-  //printf("OP_JMPT_F128_EXPR_I64 = 0x%x\n", OP_JMPT_F128_EXPR_I64);
-  //printf("OP_JMPT_R1_EXPR_I64 = 0x%x\n", OP_JMPT_R1_EXPR_I64);
-  //printf("OP_JMPT_R2_EXPR_I64 = 0x%x\n", OP_JMPT_R2_EXPR_I64);
-  //printf("OP_JMPT_R3_EXPR_I64 = 0x%x\n", OP_JMPT_R3_EXPR_I64);
+  //printf("OP_JMPF_INT8_EXPR_INT64 = 0x%x\n", OP_JMPF_INT8_EXPR_INT64);
+  //printf("OP_JMPF_INT16_EXPR_INT64 = 0x%x\n", OP_JMPF_INT16_EXPR_INT64);
+  //printf("OP_JMPF_INT32_EXPR_INT64 = 0x%x\n", OP_JMPF_INT32_EXPR_INT64);
+  printf("OP_JMPF_INT64_EXPR_INT8 = 0x%x\n", OP_JMPF_INT64_EXPR_INT8);
+  printf("OP_JMPF_INT64_EXPR_INT16 = 0x%x\n", OP_JMPF_INT64_EXPR_INT16);
+  printf("OP_JMPF_INT64_EXPR_INT32 = 0x%x\n", OP_JMPF_INT64_EXPR_INT32);
+  //printf("OP_JMPF_INT64_EXPR_INT64 = 0x%x\n", OP_JMPF_INT64_EXPR_INT64);
+  printf("OP_JMPF_INT128_EXPR_INT8 = 0x%x\n", OP_JMPF_INT128_EXPR_INT8);
+  printf("OP_JMPF_INT128_EXPR_INT16 = 0x%x\n", OP_JMPF_INT128_EXPR_INT16);
+  printf("OP_JMPF_INT128_EXPR_INT32 = 0x%x\n", OP_JMPF_INT128_EXPR_INT32);
+  //printf("OP_JMPF_INT128_EXPR_INT64 = 0x%x\n", OP_JMPF_INT128_EXPR_INT64);
+  //printf("OP_JMPF_FLOAT32_EXPR_INT64 = 0x%x\n", OP_JMPF_FLOAT32_EXPR_INT64);
+  printf("OP_JMPF_FLOAT64_EXPR_INT8 = 0x%x\n", OP_JMPF_FLOAT64_EXPR_INT8);
+  printf("OP_JMPF_FLOAT64_EXPR_INT16 = 0x%x\n", OP_JMPF_FLOAT64_EXPR_INT16);
+  printf("OP_JMPF_FLOAT64_EXPR_INT32 = 0x%x\n", OP_JMPF_FLOAT64_EXPR_INT32);
+  //printf("OP_JMPF_FLOAT64_EXPR_INT64 = 0x%x\n", OP_JMPF_FLOAT64_EXPR_INT64);
+  printf("OP_JMPF_FLOAT128_EXPR_INT8 = 0x%x\n", OP_JMPF_FLOAT128_EXPR_INT8);
+  printf("OP_JMPF_FLOAT128_EXPR_INT16 = 0x%x\n", OP_JMPF_FLOAT128_EXPR_INT16);
+  printf("OP_JMPF_FLOAT128_EXPR_INT32 = 0x%x\n", OP_JMPF_FLOAT128_EXPR_INT32);
+  //printf("OP_JMPF_FLOAT128_EXPR_INT64 = 0x%x\n", OP_JMPF_FLOAT128_EXPR_INT64);
+  //printf("OP_JMPF_R1_EXPR_INT64 = 0x%x\n", OP_JMPF_R1_EXPR_INT64);
+  //printf("OP_JMPF_R2_EXPR_INT64 = 0x%x\n", OP_JMPF_R2_EXPR_INT64);
+  //printf("OP_JMPF_R3_EXPR_INT64 = 0x%x\n", OP_JMPF_R3_EXPR_INT64);
+  //printf("OP_JMPT_INT8_EXPR_INT64 = 0x%x\n", OP_JMPT_INT8_EXPR_INT64);
+  //printf("OP_JMPT_INT16_EXPR_INT64 = 0x%x\n", OP_JMPT_INT16_EXPR_INT64);
+  //printf("OP_JMPT_INT32_EXPR_INT64 = 0x%x\n", OP_JMPT_INT32_EXPR_INT64);
+  printf("OP_JMPT_INT64_EXPR_INT8 = 0x%x\n", OP_JMPT_INT64_EXPR_INT8);
+  printf("OP_JMPT_INT64_EXPR_INT16 = 0x%x\n", OP_JMPT_INT64_EXPR_INT16);
+  printf("OP_JMPT_INT64_EXPR_INT32 = 0x%x\n", OP_JMPT_INT64_EXPR_INT32);
+  //printf("OP_JMPT_INT64_EXPR_INT64 = 0x%x\n", OP_JMPT_INT64_EXPR_INT64);
+  printf("OP_JMPT_INT128_EXPR_INT8 = 0x%x\n", OP_JMPT_INT128_EXPR_INT8);
+  printf("OP_JMPT_INT128_EXPR_INT16 = 0x%x\n", OP_JMPT_INT128_EXPR_INT16);
+  printf("OP_JMPT_INT128_EXPR_INT32 = 0x%x\n", OP_JMPT_INT128_EXPR_INT32);
+  //printf("OP_JMPT_INT128_EXPR_INT64 = 0x%x\n", OP_JMPT_INT128_EXPR_INT64);
+  //printf("OP_JMPT_FLOAT32_EXPR_INT64 = 0x%x\n", OP_JMPT_FLOAT32_EXPR_INT64);
+  printf("OP_JMPT_FLOAT64_EXPR_INT8 = 0x%x\n", OP_JMPT_FLOAT64_EXPR_INT8);
+  printf("OP_JMPT_FLOAT64_EXPR_INT16 = 0x%x\n", OP_JMPT_FLOAT64_EXPR_INT16);
+  printf("OP_JMPT_FLOAT64_EXPR_INT32 = 0x%x\n", OP_JMPT_FLOAT64_EXPR_INT32);
+  //printf("OP_JMPT_FLOAT64_EXPR_INT64 = 0x%x\n", OP_JMPT_FLOAT64_EXPR_INT64);
+  printf("OP_JMPT_FLOAT128_EXPR_INT8 = 0x%x\n", OP_JMPT_FLOAT128_EXPR_INT8);
+  printf("OP_JMPT_FLOAT128_EXPR_INT16 = 0x%x\n", OP_JMPT_FLOAT128_EXPR_INT16);
+  printf("OP_JMPT_FLOAT128_EXPR_INT32 = 0x%x\n", OP_JMPT_FLOAT128_EXPR_INT32);
+  //printf("OP_JMPT_FLOAT128_EXPR_INT64 = 0x%x\n", OP_JMPT_FLOAT128_EXPR_INT64);
+  //printf("OP_JMPT_R1_EXPR_INT64 = 0x%x\n", OP_JMPT_R1_EXPR_INT64);
+  //printf("OP_JMPT_R2_EXPR_INT64 = 0x%x\n", OP_JMPT_R2_EXPR_INT64);
+  //printf("OP_JMPT_R3_EXPR_INT64 = 0x%x\n", OP_JMPT_R3_EXPR_INT64);
   printf("OP_LD_64 = 0x%x\n", OP_LD_64);
   printf("OP_LD_128 = 0x%x\n", OP_LD_128);
-  //printf("OP_LEA_EXPR_I64_R1 = 0x%x\n", OP_LEA_EXPR_I64_R1);
-  //printf("OP_LEA_EXPR_I64_R2 = 0x%x\n", OP_LEA_EXPR_I64_R2);
-  //printf("OP_LEA_EXPR_I64_R3 = 0x%x\n", OP_LEA_EXPR_I64_R3);
-  //printf("OP_LEA_EXPR_I64_R4 = 0x%x\n", OP_LEA_EXPR_I64_R4);
-  //printf("OP_LEA_EXPR_I64_R5 = 0x%x\n", OP_LEA_EXPR_I64_R5);
-  printf("OP_LE_SI64 = 0x%x\n", OP_LE_SI64);
-  printf("OP_LE_SI128 = 0x%x\n", OP_LE_SI128);
-  printf("OP_LE_UI64 = 0x%x\n", OP_LE_UI64);
-  printf("OP_LE_UI128 = 0x%x\n", OP_LE_UI128);
-  printf("OP_LE_F64 = 0x%x\n", OP_LE_F64);
-  printf("OP_LE_F128 = 0x%x\n", OP_LE_F128);
-  printf("OP_LT_SI64 = 0x%x\n", OP_LT_SI64);
-  printf("OP_LT_SI128 = 0x%x\n", OP_LT_SI128);
-  printf("OP_LT_UI64 = 0x%x\n", OP_LT_UI64);
-  printf("OP_LT_UI128 = 0x%x\n", OP_LT_UI128);
-  printf("OP_LT_F64 = 0x%x\n", OP_LT_F64);
-  printf("OP_LT_F128 = 0x%x\n", OP_LT_F128);
-  printf("OP_MOD_SI64 = 0x%x\n", OP_MOD_SI64);
-  printf("OP_MOD_SI128 = 0x%x\n", OP_MOD_SI128);
-  printf("OP_MOD_UI64 = 0x%x\n", OP_MOD_UI64);
-  printf("OP_MOD_UI128 = 0x%x\n", OP_MOD_UI128);
-  printf("OP_MOD_R_SI64 = 0x%x\n", OP_MOD_R_SI64);
-  printf("OP_MOD_R_SI128 = 0x%x\n", OP_MOD_R_SI128);
-  printf("OP_MOD_R_UI64 = 0x%x\n", OP_MOD_R_UI64);
-  printf("OP_MOD_R_UI128 = 0x%x\n", OP_MOD_R_UI128);
-  printf("OP_MUL_I64 = 0x%x\n", OP_MUL_I64);
-  printf("OP_MUL_I128 = 0x%x\n", OP_MUL_I128);
-  printf("OP_MUL_F64 = 0x%x\n", OP_MUL_F64);
-  printf("OP_MUL_F128 = 0x%x\n", OP_MUL_F128);
-  printf("OP_NEG_I64 = 0x%x\n", OP_NEG_I64);
-  printf("OP_NEG_I128 = 0x%x\n", OP_NEG_I128);
-  printf("OP_NEG_F64 = 0x%x\n", OP_NEG_F64);
-  printf("OP_NEG_F128 = 0x%x\n", OP_NEG_F128);
-  printf("OP_NE_I64 = 0x%x\n", OP_NE_I64);
-  printf("OP_NE_I128 = 0x%x\n", OP_NE_I128);
-  printf("OP_NE_F64 = 0x%x\n", OP_NE_F64);
-  printf("OP_NE_F128 = 0x%x\n", OP_NE_F128);
-  printf("OP_NOT_I64 = 0x%x\n", OP_NOT_I64);
-  printf("OP_NOT_I128 = 0x%x\n", OP_NOT_I128);
-  printf("OP_OR_I64 = 0x%x\n", OP_OR_I64);
-  printf("OP_OR_I128 = 0x%x\n", OP_OR_I128);
+  //printf("OP_LEA_EXPR_INT64_R1 = 0x%x\n", OP_LEA_EXPR_INT64_R1);
+  //printf("OP_LEA_EXPR_INT64_R2 = 0x%x\n", OP_LEA_EXPR_INT64_R2);
+  //printf("OP_LEA_EXPR_INT64_R3 = 0x%x\n", OP_LEA_EXPR_INT64_R3);
+  //printf("OP_LEA_EXPR_INT64_R4 = 0x%x\n", OP_LEA_EXPR_INT64_R4);
+  //printf("OP_LEA_EXPR_INT64_R5 = 0x%x\n", OP_LEA_EXPR_INT64_R5);
+  printf("OP_LE_INT64 = 0x%x\n", OP_LE_INT64);
+  printf("OP_LE_INT128 = 0x%x\n", OP_LE_INT128);
+  printf("OP_LE_UINT64 = 0x%x\n", OP_LE_UINT64);
+  printf("OP_LE_UINT128 = 0x%x\n", OP_LE_UINT128);
+  printf("OP_LE_FLOAT64 = 0x%x\n", OP_LE_FLOAT64);
+  printf("OP_LE_FLOAT128 = 0x%x\n", OP_LE_FLOAT128);
+  printf("OP_LT_INT64 = 0x%x\n", OP_LT_INT64);
+  printf("OP_LT_INT128 = 0x%x\n", OP_LT_INT128);
+  printf("OP_LT_UINT64 = 0x%x\n", OP_LT_UINT64);
+  printf("OP_LT_UINT128 = 0x%x\n", OP_LT_UINT128);
+  printf("OP_LT_FLOAT64 = 0x%x\n", OP_LT_FLOAT64);
+  printf("OP_LT_FLOAT128 = 0x%x\n", OP_LT_FLOAT128);
+  printf("OP_MOD_INT64 = 0x%x\n", OP_MOD_INT64);
+  printf("OP_MOD_INT128 = 0x%x\n", OP_MOD_INT128);
+  printf("OP_MOD_UINT64 = 0x%x\n", OP_MOD_UINT64);
+  printf("OP_MOD_UINT128 = 0x%x\n", OP_MOD_UINT128);
+  printf("OP_MOD_R_INT64 = 0x%x\n", OP_MOD_R_INT64);
+  printf("OP_MOD_R_INT128 = 0x%x\n", OP_MOD_R_INT128);
+  printf("OP_MOD_R_UINT64 = 0x%x\n", OP_MOD_R_UINT64);
+  printf("OP_MOD_R_UINT128 = 0x%x\n", OP_MOD_R_UINT128);
+  printf("OP_MUL_INT64 = 0x%x\n", OP_MUL_INT64);
+  printf("OP_MUL_INT128 = 0x%x\n", OP_MUL_INT128);
+  printf("OP_MUL_FLOAT64 = 0x%x\n", OP_MUL_FLOAT64);
+  printf("OP_MUL_FLOAT128 = 0x%x\n", OP_MUL_FLOAT128);
+  printf("OP_NEG_INT64 = 0x%x\n", OP_NEG_INT64);
+  printf("OP_NEG_INT128 = 0x%x\n", OP_NEG_INT128);
+  printf("OP_NEG_FLOAT64 = 0x%x\n", OP_NEG_FLOAT64);
+  printf("OP_NEG_FLOAT128 = 0x%x\n", OP_NEG_FLOAT128);
+  printf("OP_NE_INT64 = 0x%x\n", OP_NE_INT64);
+  printf("OP_NE_INT128 = 0x%x\n", OP_NE_INT128);
+  printf("OP_NE_FLOAT64 = 0x%x\n", OP_NE_FLOAT64);
+  printf("OP_NE_FLOAT128 = 0x%x\n", OP_NE_FLOAT128);
+  printf("OP_NOT_INT64 = 0x%x\n", OP_NOT_INT64);
+  printf("OP_NOT_INT128 = 0x%x\n", OP_NOT_INT128);
+  printf("OP_OR_INT64 = 0x%x\n", OP_OR_INT64);
+  printf("OP_OR_INT128 = 0x%x\n", OP_OR_INT128);
   printf("OP_POP_64 = 0x%x\n", OP_POP_64);
   printf("OP_POP_128 = 0x%x\n", OP_POP_128);
   printf("OP_PUSH_64 = 0x%x\n", OP_PUSH_64);
   printf("OP_PUSH_128 = 0x%x\n", OP_PUSH_128);
-  printf("OP_SHL_I64 = 0x%x\n", OP_SHL_I64);
-  printf("OP_SHL_I128 = 0x%x\n", OP_SHL_I128);
-  printf("OP_SHL_R_I64 = 0x%x\n", OP_SHL_R_I64);
-  printf("OP_SHL_R_I128 = 0x%x\n", OP_SHL_R_I128);
-  printf("OP_SHR_SI64 = 0x%x\n", OP_SHR_SI64);
-  printf("OP_SHR_SI128 = 0x%x\n", OP_SHR_SI128);
-  printf("OP_SHR_UI64 = 0x%x\n", OP_SHR_UI64);
-  printf("OP_SHR_UI128 = 0x%x\n", OP_SHR_UI128);
-  printf("OP_SHR_R_SI64 = 0x%x\n", OP_SHR_R_SI64);
-  printf("OP_SHR_R_SI128 = 0x%x\n", OP_SHR_R_SI128);
-  printf("OP_SHR_R_UI64 = 0x%x\n", OP_SHR_R_UI64);
-  printf("OP_SHR_R_UI128 = 0x%x\n", OP_SHR_R_UI128);
+  printf("OP_SHL_INT64 = 0x%x\n", OP_SHL_INT64);
+  printf("OP_SHL_INT128 = 0x%x\n", OP_SHL_INT128);
+  printf("OP_SHL_R_INT64 = 0x%x\n", OP_SHL_R_INT64);
+  printf("OP_SHL_R_INT128 = 0x%x\n", OP_SHL_R_INT128);
+  printf("OP_SHR_INT64 = 0x%x\n", OP_SHR_INT64);
+  printf("OP_SHR_INT128 = 0x%x\n", OP_SHR_INT128);
+  printf("OP_SHR_UINT64 = 0x%x\n", OP_SHR_UINT64);
+  printf("OP_SHR_UINT128 = 0x%x\n", OP_SHR_UINT128);
+  printf("OP_SHR_R_INT64 = 0x%x\n", OP_SHR_R_INT64);
+  printf("OP_SHR_R_INT128 = 0x%x\n", OP_SHR_R_INT128);
+  printf("OP_SHR_R_UINT64 = 0x%x\n", OP_SHR_R_UINT64);
+  printf("OP_SHR_R_UINT128 = 0x%x\n", OP_SHR_R_UINT128);
   printf("OP_ST_64 = 0x%x\n", OP_ST_64);
   printf("OP_ST_128 = 0x%x\n", OP_ST_128);
   printf("OP_ST_R_64 = 0x%x\n", OP_ST_R_64);
   printf("OP_ST_R_128 = 0x%x\n", OP_ST_R_128);
-  printf("OP_SUB_I64 = 0x%x\n", OP_SUB_I64);
-  printf("OP_SUB_I128 = 0x%x\n", OP_SUB_I128);
-  printf("OP_SUB_F64 = 0x%x\n", OP_SUB_F64);
-  printf("OP_SUB_F128 = 0x%x\n", OP_SUB_F128);
-  printf("OP_SUB_R_I64 = 0x%x\n", OP_SUB_R_I64);
-  printf("OP_SUB_R_I128 = 0x%x\n", OP_SUB_R_I128);
-  printf("OP_SUB_R_F64 = 0x%x\n", OP_SUB_R_F64);
-  printf("OP_SUB_R_F128 = 0x%x\n", OP_SUB_R_F128);
-  printf("OP_XOR_I64 = 0x%x\n", OP_XOR_I64);
-  printf("OP_XOR_I128 = 0x%x\n", OP_XOR_I128);
+  printf("OP_SUB_INT64 = 0x%x\n", OP_SUB_INT64);
+  printf("OP_SUB_INT128 = 0x%x\n", OP_SUB_INT128);
+  printf("OP_SUB_FLOAT64 = 0x%x\n", OP_SUB_FLOAT64);
+  printf("OP_SUB_FLOAT128 = 0x%x\n", OP_SUB_FLOAT128);
+  printf("OP_SUB_R_INT64 = 0x%x\n", OP_SUB_R_INT64);
+  printf("OP_SUB_R_INT128 = 0x%x\n", OP_SUB_R_INT128);
+  printf("OP_SUB_R_FLOAT64 = 0x%x\n", OP_SUB_R_FLOAT64);
+  printf("OP_SUB_R_FLOAT128 = 0x%x\n", OP_SUB_R_FLOAT128);
+  printf("OP_XOR_INT64 = 0x%x\n", OP_XOR_INT64);
+  printf("OP_XOR_INT128 = 0x%x\n", OP_XOR_INT128);
   return 0;
 }
index fb3cb71..9bd028e 100644 (file)
--- a/test.asm
+++ b/test.asm
@@ -7,186 +7,186 @@ main: ; stack alignment 0x10
        imm hello_world,pcr32
        call print_str,pcr32
 
-       imm 0x01234567,i32
-       call print_hex_i32,pcr32
+       imm 0x01234567,int32
+       call print_hex_int32,pcr32
        call print_newline,pcr32
 
-       imm 0,i32
-       call print_dec_i32,pcr32
+       imm 0,int32
+       call print_dec_int32,pcr32
        call print_newline,pcr32
 
-       imm 123456789,i32
-       call print_dec_i32,pcr32
+       imm 123456789,int32
+       call print_dec_int32,pcr32
        call print_newline,pcr32
 
-       imm -123456789,i32
-       call print_dec_i32,pcr32
+       imm -123456789,int32
+       call print_dec_int32,pcr32
        call print_newline,pcr32
 
-       imm 0,f32
-       call print_sci_f32,pcr32
+       imm 0,float32
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
-       imm 1.23456789e19,f32
-       call print_sci_f32,pcr32
+       imm 1.23456789e19,float32
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
-       imm -1.23456789e-19,f32
-       call print_sci_f32,pcr32
+       imm -1.23456789e-19,float32
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
-       imm 1.40129846e-45,f32
-       call print_sci_f32,pcr32
+       imm 1.40129846e-45,float32
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
        ; square root calculation tests
        ; the square root routine is C-style (takes argument on stack)
-       add -8,i32,sp
-       imm 2,f32
+       add -8,int32,sp
+       imm 2,float32
        push 32
-       call sqrt_f32,pcr32
-       add 0xc,i32,sp
-       call print_sci_f32,pcr32
+       call sqrt_float32,pcr32
+       add 0xc,int32,sp
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
-       add -8,i32,sp
-       imm 1000,f32
+       add -8,int32,sp
+       imm 1000,float32
        push 32
-       call sqrt_f32,pcr32
-       add 0xc,i32,sp
-       call print_sci_f32,pcr32
+       call sqrt_float32,pcr32
+       add 0xc,int32,sp
+       call print_sci_float32,pcr32
        call print_newline,pcr32
 
        ; done
-       imm 0,i32
+       imm 0,int32
        push 32
        call exit,pcr32
 
 hello_world:
-       .data 'h',i8
-       .data 'e',i8
-       .data 'l',i8
-       .data 'l',i8
-       .data 'o',i8
-       .data ',',i8
-       .data ' ',i8
-       .data 'w',i8
-       .data 'o',i8
-       .data 'r',i8
-       .data 'l',i8
-       .data 'd',i8
-       .data '\n',i8
-       .data 0,i8
+       .data 'h',int8
+       .data 'e',int8
+       .data 'l',int8
+       .data 'l',int8
+       .data 'o',int8
+       .data ',',int8
+       .data ' ',int8
+       .data 'w',int8
+       .data 'o',int8
+       .data 'r',int8
+       .data 'l',int8
+       .data 'd',int8
+       .data '\n',int8
+       .data 0,int8
 
 print_str:
        mov r0,r2
        ld 8
-       jmpf i8,print_str_done,pcr32
+       jmpf int8,print_str_done,pcr32
 print_str_loop:
-       cvt si8,i32
+       cvt int8,int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
-       add 1,i32,r2
+       add 4,int32,sp
+       add 1,int32,r2
        mov r2,r0
        ld 8
-       jmpt i8,print_str_loop,pcr32
+       jmpt int8,print_str_loop,pcr32
 print_str_done:
        ret
 
 print_newline:
-       imm 0xa,i32
+       imm 0xa,int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
        ret
 
-print_hex_i32:
+print_hex_int32:
        push 32
 
        push 32
-       imm 16,i8
-       shr ui32
-       call print_hex_i16,pcr32
+       imm 16,int8
+       shr uint32
+       call print_hex_int16,pcr32
 
        pop 32
        ; fallthru
 
-print_hex_i16:
+print_hex_int16:
        push 16
 
        push 16
-       imm 8,i8
-       shr ui16
-       call print_hex_i8,pcr32
-       add 2,i32,sp
+       imm 8,int8
+       shr uint16
+       call print_hex_int8,pcr32
+       add 2,int32,sp
 
        pop 16
        ; fallthru
 
-print_hex_i8:
+print_hex_int8:
        push 8
 
        push 8
-       imm 4,i8
-       shr ui8
+       imm 4,int8
+       shr uint8
        call print_hex_nibble,pcr32
-       add 3,i32,sp
+       add 3,int32,sp
 
        pop 8
        ; fallthru
 
 print_hex_nibble:
        push 8
-       imm 0xf,i8
-       and i8
-       cvt si8,i32
+       imm 0xf,int8
+       and int8
+       cvt int8,int32
 
        push 8
        imm print_hex_table,pcr32
-       add i8
+       add int8
        ld 8
 
-       cvt si8,i32
+       cvt int8,int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
        ret
 
 print_hex_table:
-       .data '0',i8
-       .data '1',i8
-       .data '2',i8
-       .data '3',i8
-       .data '4',i8
-       .data '5',i8
-       .data '6',i8
-       .data '7',i8
-       .data '8',i8
-       .data '9',i8
-       .data 'a',i8
-       .data 'b',i8
-       .data 'c',i8
-       .data 'd',i8
-       .data 'e',i8
-       .data 'f',i8
+       .data '0',int8
+       .data '1',int8
+       .data '2',int8
+       .data '3',int8
+       .data '4',int8
+       .data '5',int8
+       .data '6',int8
+       .data '7',int8
+       .data '8',int8
+       .data '9',int8
+       .data 'a',int8
+       .data 'b',int8
+       .data 'c',int8
+       .data 'd',int8
+       .data 'e',int8
+       .data 'f',int8
 
-print_dec_i32: ; stack alignment 8
+print_dec_int32: ; stack alignment 8
        push 32
 
        push 32
-       imm 0,i32
-       lt si32
-       jmpf i8,print_dec_pos,pcr32
+       imm 0,int32
+       lt int32
+       jmpf int8,print_dec_pos,pcr32
 
-       imm '-',i32
+       imm '-',int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
        pop 32
-       neg i32
+       neg int32
        push 32
 
 print_dec_pos:
@@ -198,55 +198,55 @@ print_dec_loop0:
        push 32
 
        push 32
-       imm 10,i32
-       mod ui32
+       imm 10,int32
+       mod uint32
        push 8
-       imm '0',i8
-       add i8
+       imm '0',int8
+       add int8
        push 8
-       add -1,i32,r2
+       add -1,int32,r2
        mov r2,r0
        st_r 8
 
-       imm 10,i32
-       div ui32
-       jmpt i32,print_dec_loop0,pcr32
+       imm 10,int32
+       div uint32
+       jmpt int32,print_dec_loop0,pcr32
 
 print_dec_loop1:
        mov r2,r0
        ld 8
-       cvt si8,i32
+       cvt int8,int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
-       add 1,i32,r2
+       add 1,int32,r2
        mov r2,r0
        push 32
        imm print_dec_buf_end,pcr32
-       lt ui32
-       jmpt i8,print_dec_loop1,pcr32
+       lt uint32
+       jmpt int8,print_dec_loop1,pcr32
 
        ret
 
        .space 10 ; 1 << 31 == 2147483648
 print_dec_buf_end:
 
-print_sci_f32:
+print_sci_float32:
        push 32
 
        push 32
-       imm 0,f32
-       lt f32
-       jmpf i8,print_sci_pos,pcr32
+       imm 0,float32
+       lt float32
+       jmpf int8,print_sci_pos,pcr32
 
-       imm '-',i32
+       imm '-',int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
        pop 32
-       neg f32
+       neg float32
        push 32
 
 print_sci_pos:
@@ -264,14 +264,14 @@ print_sci_pos:
        push 32
 
        push 32
-       imm 1,f32
-       lt f32
-       jmpt i8,print_sci_multiply,pcr32
+       imm 1,float32
+       lt float32
+       jmpt int8,print_sci_multiply,pcr32
 
        ; dividing it down case
 
        ; r3 is shift register for exponent bits
-       imm 0,i32
+       imm 0,int32
        mov r0,r3
 
 print_sci_loop0:
@@ -282,38 +282,38 @@ print_sci_loop0:
        push 32
        mov r2,r0
        ld 32
-       ge f32
+       ge float32
        push 8
 
        ; shift exponent bit into r3
-       cvt si8,i32
+       cvt int8,int32
        push 32
        mov r3,r0
        push 32
-       imm 1,i8
-       shl i32
-       or i32
+       imm 1,int8
+       shl int32
+       or int32
        mov r0,r3
-       add 3,i32,sp
+       add 3,int32,sp
 
        ; if exponent bit is 1, divide
        pop 8
-       jmpf i8,print_sci_no_div,pcr32
+       jmpf int8,print_sci_no_div,pcr32
 
-       lea 4,i32,r2
+       lea 4,int32,r2
        ld 32
-       mul f32
+       mul float32
        push 32
 
 print_sci_no_div:
-       add 8,i32,r2
+       add 8,int32,r2
        mov r2,r0
        push 32
        imm print_sci_table_end,pcr32
-       lt ui32
-       jmpt i8,print_sci_loop0,pcr32
+       lt uint32
+       jmpt int8,print_sci_loop0,pcr32
 
-       imm 1e8,f32 ; factor to shift left by 8 decimal places
+       imm 1e8,float32 ; factor to shift left by 8 decimal places
        jmp print_sci_normalized,pcr32
 
 print_sci_multiply:
@@ -321,7 +321,7 @@ print_sci_multiply:
 
        ; r3 is shift register for exponent bits
        ; we will build negative exponent directly, starting with all ones
-       imm -1,i32
+       imm -1,int32
        mov r0,r3
 
 print_sci_loop1:
@@ -330,72 +330,72 @@ print_sci_loop1:
        push 32
 
        push 32
-       lea 4,i32,r2
+       lea 4,int32,r2
        ld 32
-       ge f32
+       ge float32
        push 8
 
        ; shift exponent bit into r3
-       cvt si8,i32
+       cvt int8,int32
        push 32
        mov r3,r0
        push 32
-       imm 1,i8
-       shl i32
-       or i32
+       imm 1,int8
+       shl int32
+       or int32
        mov r0,r3
-       add 3,i32,sp
+       add 3,int32,sp
 
        ; if exponent bit is 0, multiply
        pop 8
-       jmpt i8,print_sci_no_mul,pcr32
+       jmpt int8,print_sci_no_mul,pcr32
 
        mov r2,r0
        ld 32
-       mul f32
+       mul float32
        push 32
 
 print_sci_no_mul:
-       add 8,i32,r2
+       add 8,int32,r2
        mov r2,r0
        push 32
        imm print_sci_table_end,pcr32
-       lt ui32
-       jmpt i8,print_sci_loop1,pcr32
+       lt uint32
+       jmpt int8,print_sci_loop1,pcr32
 
        ; at this point the number is still < 1, do final multiply by 10
        ; we used "not exponent" rather than "neg exponent" for extra -1
-       imm 1e9,f32 ; 10 * factor to shift left by 8 decimal places
+       imm 1e9,float32 ; 10 * factor to shift left by 8 decimal places
 
 print_sci_normalized:
        ; convert mantissa to 9 digit integer with 8 decimal places
-       mul f32
+       mul float32
        push 32
-       imm .5,f32
-       add f32
-       cvt f32,i32
+       imm .5,float32
+       add float32
+       cvt float32,int32
        push 32
 
        ; if mantissa is zero, zero out exponent as well
-       jmpt i32,print_sci_not_zero,pcr32
+       jmpt int32,print_sci_not_zero,pcr32
 
-       imm 0,i32
+       imm 0,int32
        mov r0,r3
        jmp print_sci_no_overflow,pcr32
 
 print_sci_not_zero:
        ; check for 10-digit integer (rounding overflow)
        push 32
-       imm 1000000000,i32
-       ge ui32
-       jmpf i8,print_sci_no_overflow,pcr32
+       imm 1000000000,int32
+       ge uint32
+       jmpf int8,print_sci_no_overflow,pcr32
 
        ; move along one digit position and bump exponent
        ; note: no rounding is needed, as low order digit must be 0
-       imm 10,i32
-       div ui32
+       imm 10,int32
+       div uint32
        push 32
-       add 1,i32,r3
+       add 1,int32,r3
 
 print_sci_no_overflow:
        ; render all 9 digits backwards into buffer
@@ -407,69 +407,69 @@ print_sci_loop2:
        push 32
 
        push 32
-       imm 10,i32
-       mod ui32
+       imm 10,int32
+       mod uint32
        push 8
-       imm '0',i8
-       add i8
+       imm '0',int8
+       add int8
        push 8
-       add -1,i32,r2
+       add -1,int32,r2
        mov r2,r0
        st_r 8
 
-       imm 10,i32
-       div ui32
+       imm 10,int32
+       div uint32
        push 32
 
        mov r2,r0
        push 32
        imm print_sci_buf,pcr32
-       gt ui32
-       jmpt i8,print_sci_loop2,pcr32
+       gt uint32
+       jmpt int8,print_sci_loop2,pcr32
 
        pop 32 ; should be 0, discard
 
        ; print first digit
        mov r2,r0
        ld 8
-       cvt si8,i32
+       cvt int8,int32
 
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
-       add 1,i32,r2
+       add 1,int32,r2
 
        ; print decimal point
-       imm '.',i32
+       imm '.',int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
        ; print remaining digits
 print_sci_loop3:
        mov r2,r0
        ld 8
-       cvt si8,i32
+       cvt int8,int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
-       add 1,i32,r2
+       add 1,int32,r2
        mov r2,r0
        push 32
        imm print_sci_buf_end,pcr32
-       lt ui32
-       jmpt i8,print_sci_loop3,pcr32
+       lt uint32
+       jmpt int8,print_sci_loop3,pcr32
 
        ; print exponent part
-       imm 'e',i32
+       imm 'e',int32
        push 32
        call putchar,pcr32
-       add 4,i32,sp
+       add 4,int32,sp
 
        mov r3,r0
-       jmp print_dec_i32,pcr32
+       jmp print_dec_int32,pcr32
 
 print_sci_buf:
        .space 9
@@ -477,57 +477,57 @@ print_sci_buf_end:
 
        .align 4
 print_sci_table:
-       .data 1e32,f32
-       .data 1e-32,f32
-       .data 1e16,f32
-       .data 1e-16,f32
-       .data 1e8,f32
-       .data 1e-8,f32
-       .data 1e4,f32
-       .data 1e-4,f32
-       .data 1e2,f32
-       .data 1e-2,f32
-       .data 1e1,f32
-       .data 1e-1,f32
+       .data 1e32,float32
+       .data 1e-32,float32
+       .data 1e16,float32
+       .data 1e-16,float32
+       .data 1e8,float32
+       .data 1e-8,float32
+       .data 1e4,float32
+       .data 1e-4,float32
+       .data 1e2,float32
+       .data 1e-2,float32
+       .data 1e1,float32
+       .data 1e-1,float32
 print_sci_table_end:
 
 ; this routine is C-style
 ; it is called with stack alignment 0x10 (but only needs 4)
 ; it takes the argument on the stack at entry sp + 4
 ; it preserves r2 register (r3 register is not used)
-sqrt_f32:
+sqrt_float32:
        ; prologue
        mov r2,r0
        push 32
 
-       imm 8,i32 ; iterations
+       imm 8,int32 ; iterations
        mov r0,r2
 
-       imm 1,f32 ; initial estimate
+       imm 1,float32 ; initial estimate
        push 32
 sqrt_loop:
        pop 32
 
        push 32
        push 32
-       lea 0x10,i32,sp
+       lea 0x10,int32,sp
        ld 32
-       div_r f32
-       add f32
+       div_r float32
+       add float32
        push 32
-       imm .5,f32
-       mul f32
+       imm .5,float32
+       mul float32
 
        push 32
-       add -1,i32,r2
+       add -1,int32,r2
        mov r2,r0
-       jmpt i32,sqrt_loop,pcr32
+       jmpt int32,sqrt_loop,pcr32
 
        ; epilogue (return value is on stack)
-       lea 4,i32,sp
+       lea 4,int32,sp
        ld 32
        mov r0,r2
 
        pop 32
-       add 4,i32,sp
+       add 4,int32,sp
        ret
index 3339a1f..a3c4e9e 100644 (file)
--- a/vm_asm.l
+++ b/vm_asm.l
@@ -65,16 +65,16 @@ div                                 return y_tab.DIV
 div_r                                  return y_tab.DIV_R
 eq                                     return y_tab.EQ
 expr                                   return y_tab.EXPR
-f32                                    return y_tab.F32
-f64                                    return y_tab.F64
-f128                                   return y_tab.F128
+float32                                        return y_tab.FLOAT32
+float64                                        return y_tab.FLOAT64
+float128                                       return y_tab.FLOAT128
 ge                                     return y_tab.GE
 gt                                     return y_tab.GT
-i8                                     return y_tab.I8
-i16                                    return y_tab.I16
-i32                                    return y_tab.I32
-i64                                    return y_tab.I64
-i128                                   return y_tab.I128
+int8                                   return y_tab.INT8
+int16                                  return y_tab.INT16
+int32                                  return y_tab.INT32
+int64                                  return y_tab.INT64
+int128                                 return y_tab.INT128
 imm                                    return y_tab.IMM
 jmp                                    return y_tab.JMP
 jmpf                                   return y_tab.JMPF
@@ -126,11 +126,11 @@ shl                                       return y_tab.SHL
 shl_r                                  return y_tab.SHL_R
 shr                                    return y_tab.SHR
 shr_r                                  return y_tab.SHR_R
-si8                                    return y_tab.SI8
-si16                                   return y_tab.SI16
-si32                                   return y_tab.SI32
-si64                                   return y_tab.SI64
-si128                                  return y_tab.SI128
+int8                                   return y_tab.INT8
+int16                                  return y_tab.INT16
+int32                                  return y_tab.INT32
+int64                                  return y_tab.INT64
+int128                                 return y_tab.INT128
 sp                                     return y_tab.R4
 st                                     return y_tab.ST
 st[ \t\v\f]+8/[ \t\n\v\f;]             return y_tab.ST_8
@@ -147,11 +147,11 @@ st_r[ \t\v\f]+128/[ \t\n\v\f;]            return y_tab.ST_R_128
 sub                                    return y_tab.SUB
 sub_r                                  return y_tab.SUB_R
 trap                                   return y_tab.TRAP
-ui8                                    return y_tab.UI8
-ui16                                   return y_tab.UI16
-ui32                                   return y_tab.UI32
-ui64                                   return y_tab.UI64
-ui128                                  return y_tab.UI128
+uint8                                  return y_tab.UINT8
+uint16                                 return y_tab.UINT16
+uint32                                 return y_tab.UINT32
+uint64                                 return y_tab.UINT64
+uint128                                        return y_tab.UINT128
 xor                                    return y_tab.XOR
 
 {NONDIGIT}(?:{NONDIGIT}|{DIGIT})* {
index 5ebd919..22cab23 100644 (file)
--- a/vm_asm.t
+++ b/vm_asm.t
   gmpy2.get_context().precision = 128
 
   OP_NOP = 0x0
-  OP_ADD_EXPR_I8_R1 = 0x1
-  OP_ADD_EXPR_I8_R2 = 0x2
-  OP_ADD_EXPR_I8_R3 = 0x3
-  OP_ADD_EXPR_I8_R4 = 0x4
-  OP_ADD_EXPR_I8_R5 = 0x5
-  OP_ADD_EXPR_I16_R1 = 0x6
-  OP_ADD_EXPR_I16_R2 = 0x7
-  OP_ADD_EXPR_I16_R3 = 0x8
-  OP_ADD_EXPR_I16_R4 = 0x9
-  OP_ADD_EXPR_I16_R5 = 0xa
-  OP_ADD_EXPR_I32_R1 = 0xb
-  OP_ADD_EXPR_I32_R2 = 0xc
-  OP_ADD_EXPR_I32_R3 = 0xd
-  OP_ADD_EXPR_I32_R4 = 0xe
-  OP_ADD_EXPR_I32_R5 = 0xf
-  OP_ADD_I8 = 0x10
-  OP_ADD_I16 = 0x11
-  OP_ADD_I32 = 0x12
-  OP_ADD_F32 = 0x13
-  OP_AND_I8 = 0x14
-  OP_AND_I16 = 0x15
-  OP_AND_I32 = 0x16
+  OP_ADD_EXPR_INT8_R1 = 0x1
+  OP_ADD_EXPR_INT8_R2 = 0x2
+  OP_ADD_EXPR_INT8_R3 = 0x3
+  OP_ADD_EXPR_INT8_R4 = 0x4
+  OP_ADD_EXPR_INT8_R5 = 0x5
+  OP_ADD_EXPR_INT16_R1 = 0x6
+  OP_ADD_EXPR_INT16_R2 = 0x7
+  OP_ADD_EXPR_INT16_R3 = 0x8
+  OP_ADD_EXPR_INT16_R4 = 0x9
+  OP_ADD_EXPR_INT16_R5 = 0xa
+  OP_ADD_EXPR_INT32_R1 = 0xb
+  OP_ADD_EXPR_INT32_R2 = 0xc
+  OP_ADD_EXPR_INT32_R3 = 0xd
+  OP_ADD_EXPR_INT32_R4 = 0xe
+  OP_ADD_EXPR_INT32_R5 = 0xf
+  OP_ADD_INT8 = 0x10
+  OP_ADD_INT16 = 0x11
+  OP_ADD_INT32 = 0x12
+  OP_ADD_FLOAT32 = 0x13
+  OP_AND_INT8 = 0x14
+  OP_AND_INT16 = 0x15
+  OP_AND_INT32 = 0x16
   OP_CALL = 0x17
-  OP_CALL_EXPR_I8 = 0x18
-  OP_CALL_EXPR_I16 = 0x19
-  OP_CALL_EXPR_I32 = 0x1a
-  OP_CVT_SI8_I16 = 0x1b
-  OP_CVT_SI8_I32 = 0x1c
-  OP_CVT_SI8_F32 = 0x1d
-  OP_CVT_SI16_I32 = 0x1e
-  OP_CVT_SI16_F32 = 0x1f
-  OP_CVT_SI32_F32 = 0x20
-  OP_CVT_UI8_I16 = 0x21
-  OP_CVT_UI8_I32 = 0x22
-  OP_CVT_UI8_F32 = 0x23
-  OP_CVT_UI16_I32 = 0x24
-  OP_CVT_UI16_F32 = 0x25
-  OP_CVT_UI32_F32 = 0x26
-  OP_CVT_F32_I8 = 0x27
-  OP_CVT_F32_I16 = 0x28
-  OP_CVT_F32_I32 = 0x29
-  OP_DIV_SI8 = 0x2a
-  OP_DIV_SI16 = 0x2b
-  OP_DIV_SI32 = 0x2c
-  OP_DIV_UI8 = 0x2d
-  OP_DIV_UI16 = 0x2e
-  OP_DIV_UI32 = 0x2f
-  OP_DIV_F32 = 0x30
-  OP_DIV_R_SI8 = 0x31
-  OP_DIV_R_SI16 = 0x32
-  OP_DIV_R_SI32 = 0x33
-  OP_DIV_R_UI8 = 0x34
-  OP_DIV_R_UI16 = 0x35
-  OP_DIV_R_UI32 = 0x36
-  OP_DIV_R_F32 = 0x37
-  OP_EQ_I8 = 0x38
-  OP_EQ_I16 = 0x39
-  OP_EQ_I32 = 0x3a
-  OP_EQ_F32 = 0x3b
-  OP_GE_SI8 = 0x3c
-  OP_GE_SI16 = 0x3d
-  OP_GE_SI32 = 0x3e
-  OP_GE_UI8 = 0x3f
-  OP_GE_UI16 = 0x40
-  OP_GE_UI32 = 0x41
-  OP_GE_F32 = 0x42
-  OP_GT_SI8 = 0x43
-  OP_GT_SI16 = 0x44
-  OP_GT_SI32 = 0x45
-  OP_GT_UI8 = 0x46
-  OP_GT_UI16 = 0x47
-  OP_GT_UI32 = 0x48
-  OP_GT_F32 = 0x49
+  OP_CALL_EXPR_INT8 = 0x18
+  OP_CALL_EXPR_INT16 = 0x19
+  OP_CALL_EXPR_INT32 = 0x1a
+  OP_CVT_INT8_INT16 = 0x1b
+  OP_CVT_INT8_INT32 = 0x1c
+  OP_CVT_INT8_FLOAT32 = 0x1d
+  OP_CVT_INT16_INT32 = 0x1e
+  OP_CVT_INT16_FLOAT32 = 0x1f
+  OP_CVT_INT32_FLOAT32 = 0x20
+  OP_CVT_UINT8_INT16 = 0x21
+  OP_CVT_UINT8_INT32 = 0x22
+  OP_CVT_UINT8_FLOAT32 = 0x23
+  OP_CVT_UINT16_INT32 = 0x24
+  OP_CVT_UINT16_FLOAT32 = 0x25
+  OP_CVT_UINT32_FLOAT32 = 0x26
+  OP_CVT_FLOAT32_INT8 = 0x27
+  OP_CVT_FLOAT32_INT16 = 0x28
+  OP_CVT_FLOAT32_INT32 = 0x29
+  OP_DIV_INT8 = 0x2a
+  OP_DIV_INT16 = 0x2b
+  OP_DIV_INT32 = 0x2c
+  OP_DIV_UINT8 = 0x2d
+  OP_DIV_UINT16 = 0x2e
+  OP_DIV_UINT32 = 0x2f
+  OP_DIV_FLOAT32 = 0x30
+  OP_DIV_R_INT8 = 0x31
+  OP_DIV_R_INT16 = 0x32
+  OP_DIV_R_INT32 = 0x33
+  OP_DIV_R_UINT8 = 0x34
+  OP_DIV_R_UINT16 = 0x35
+  OP_DIV_R_UINT32 = 0x36
+  OP_DIV_R_FLOAT32 = 0x37
+  OP_EQ_INT8 = 0x38
+  OP_EQ_INT16 = 0x39
+  OP_EQ_INT32 = 0x3a
+  OP_EQ_FLOAT32 = 0x3b
+  OP_GE_INT8 = 0x3c
+  OP_GE_INT16 = 0x3d
+  OP_GE_INT32 = 0x3e
+  OP_GE_UINT8 = 0x3f
+  OP_GE_UINT16 = 0x40
+  OP_GE_UINT32 = 0x41
+  OP_GE_FLOAT32 = 0x42
+  OP_GT_INT8 = 0x43
+  OP_GT_INT16 = 0x44
+  OP_GT_INT32 = 0x45
+  OP_GT_UINT8 = 0x46
+  OP_GT_UINT16 = 0x47
+  OP_GT_UINT32 = 0x48
+  OP_GT_FLOAT32 = 0x49
   OP_IMM_EXPR_8 = 0x4a
   OP_IMM_EXPR_16 = 0x4b
   OP_IMM_EXPR_32 = 0x4c
-  OP_JMPF_I8_EXPR_I8 = 0x4d
-  OP_JMPF_I8_EXPR_I16 = 0x4e
-  OP_JMPF_I8_EXPR_I32 = 0x4f
-  OP_JMPF_I16_EXPR_I8 = 0x50
-  OP_JMPF_I16_EXPR_I16 = 0x51
-  OP_JMPF_I16_EXPR_I32 = 0x52
-  OP_JMPF_I32_EXPR_I8 = 0x53
-  OP_JMPF_I32_EXPR_I16 = 0x54
-  OP_JMPF_I32_EXPR_I32 = 0x55
-  OP_JMPF_F32_EXPR_I8 = 0x56
-  OP_JMPF_F32_EXPR_I16 = 0x57
-  OP_JMPF_F32_EXPR_I32 = 0x58
-  OP_JMPF_R1_EXPR_I8 = 0x59
-  OP_JMPF_R1_EXPR_I16 = 0x5a
-  OP_JMPF_R1_EXPR_I32 = 0x5b
-  OP_JMPF_R2_EXPR_I8 = 0x5c
-  OP_JMPF_R2_EXPR_I16 = 0x5d
-  OP_JMPF_R2_EXPR_I32 = 0x5e
-  OP_JMPF_R3_EXPR_I8 = 0x5f
-  OP_JMPF_R3_EXPR_I16 = 0x60
-  OP_JMPF_R3_EXPR_I32 = 0x61
-  OP_JMPT_I8_EXPR_I8 = 0x62
-  OP_JMPT_I8_EXPR_I16 = 0x63
-  OP_JMPT_I8_EXPR_I32 = 0x64
-  OP_JMPT_I16_EXPR_I8 = 0x65
-  OP_JMPT_I16_EXPR_I16 = 0x66
-  OP_JMPT_I16_EXPR_I32 = 0x67
-  OP_JMPT_I32_EXPR_I8 = 0x68
-  OP_JMPT_I32_EXPR_I16 = 0x69
-  OP_JMPT_I32_EXPR_I32 = 0x6a
-  OP_JMPT_F32_EXPR_I8 = 0x6b
-  OP_JMPT_F32_EXPR_I16 = 0x6c
-  OP_JMPT_F32_EXPR_I32 = 0x6d
-  OP_JMPT_R1_EXPR_I8 = 0x6e
-  OP_JMPT_R1_EXPR_I16 = 0x6f
-  OP_JMPT_R1_EXPR_I32 = 0x70
-  OP_JMPT_R2_EXPR_I8 = 0x71
-  OP_JMPT_R2_EXPR_I16 = 0x72
-  OP_JMPT_R2_EXPR_I32 = 0x73
-  OP_JMPT_R3_EXPR_I8 = 0x74
-  OP_JMPT_R3_EXPR_I16 = 0x75
-  OP_JMPT_R3_EXPR_I32 = 0x76
+  OP_JMPF_INT8_EXPR_INT8 = 0x4d
+  OP_JMPF_INT8_EXPR_INT16 = 0x4e
+  OP_JMPF_INT8_EXPR_INT32 = 0x4f
+  OP_JMPF_INT16_EXPR_INT8 = 0x50
+  OP_JMPF_INT16_EXPR_INT16 = 0x51
+  OP_JMPF_INT16_EXPR_INT32 = 0x52
+  OP_JMPF_INT32_EXPR_INT8 = 0x53
+  OP_JMPF_INT32_EXPR_INT16 = 0x54
+  OP_JMPF_INT32_EXPR_INT32 = 0x55
+  OP_JMPF_FLOAT32_EXPR_INT8 = 0x56
+  OP_JMPF_FLOAT32_EXPR_INT16 = 0x57
+  OP_JMPF_FLOAT32_EXPR_INT32 = 0x58
+  OP_JMPF_R1_EXPR_INT8 = 0x59
+  OP_JMPF_R1_EXPR_INT16 = 0x5a
+  OP_JMPF_R1_EXPR_INT32 = 0x5b
+  OP_JMPF_R2_EXPR_INT8 = 0x5c
+  OP_JMPF_R2_EXPR_INT16 = 0x5d
+  OP_JMPF_R2_EXPR_INT32 = 0x5e
+  OP_JMPF_R3_EXPR_INT8 = 0x5f
+  OP_JMPF_R3_EXPR_INT16 = 0x60
+  OP_JMPF_R3_EXPR_INT32 = 0x61
+  OP_JMPT_INT8_EXPR_INT8 = 0x62
+  OP_JMPT_INT8_EXPR_INT16 = 0x63
+  OP_JMPT_INT8_EXPR_INT32 = 0x64
+  OP_JMPT_INT16_EXPR_INT8 = 0x65
+  OP_JMPT_INT16_EXPR_INT16 = 0x66
+  OP_JMPT_INT16_EXPR_INT32 = 0x67
+  OP_JMPT_INT32_EXPR_INT8 = 0x68
+  OP_JMPT_INT32_EXPR_INT16 = 0x69
+  OP_JMPT_INT32_EXPR_INT32 = 0x6a
+  OP_JMPT_FLOAT32_EXPR_INT8 = 0x6b
+  OP_JMPT_FLOAT32_EXPR_INT16 = 0x6c
+  OP_JMPT_FLOAT32_EXPR_INT32 = 0x6d
+  OP_JMPT_R1_EXPR_INT8 = 0x6e
+  OP_JMPT_R1_EXPR_INT16 = 0x6f
+  OP_JMPT_R1_EXPR_INT32 = 0x70
+  OP_JMPT_R2_EXPR_INT8 = 0x71
+  OP_JMPT_R2_EXPR_INT16 = 0x72
+  OP_JMPT_R2_EXPR_INT32 = 0x73
+  OP_JMPT_R3_EXPR_INT8 = 0x74
+  OP_JMPT_R3_EXPR_INT16 = 0x75
+  OP_JMPT_R3_EXPR_INT32 = 0x76
   OP_LD_8 = 0x77
   OP_LD_16 = 0x78
   OP_LD_32 = 0x79
-  OP_LEA_EXPR_I8_R1 = 0x7a
-  OP_LEA_EXPR_I8_R2 = 0x7b
-  OP_LEA_EXPR_I8_R3 = 0x7c
-  OP_LEA_EXPR_I8_R4 = 0x7d
-  OP_LEA_EXPR_I8_R5 = 0x7e
-  OP_LEA_EXPR_I16_R1 = 0x7f
-  OP_LEA_EXPR_I16_R2 = 0x80
-  OP_LEA_EXPR_I16_R3 = 0x81
-  OP_LEA_EXPR_I16_R4 = 0x82
-  OP_LEA_EXPR_I16_R5 = 0x83
-  OP_LEA_EXPR_I32_R1 = 0x84
-  OP_LEA_EXPR_I32_R2 = 0x85
-  OP_LEA_EXPR_I32_R3 = 0x86
-  OP_LEA_EXPR_I32_R4 = 0x87
-  OP_LEA_EXPR_I32_R5 = 0x88
-  OP_LE_SI8 = 0x89
-  OP_LE_SI16 = 0x8a
-  OP_LE_SI32 = 0x8b
-  OP_LE_UI8 = 0x8c
-  OP_LE_UI16 = 0x8d
-  OP_LE_UI32 = 0x8e
-  OP_LE_F32 = 0x8f
-  OP_LT_SI8 = 0x90
-  OP_LT_SI16 = 0x91
-  OP_LT_SI32 = 0x92
-  OP_LT_UI8 = 0x93
-  OP_LT_UI16 = 0x94
-  OP_LT_UI32 = 0x95
-  OP_LT_F32 = 0x96
-  OP_MOD_SI8 = 0x97
-  OP_MOD_SI16 = 0x98
-  OP_MOD_SI32 = 0x99
-  OP_MOD_UI8 = 0x9a
-  OP_MOD_UI16 = 0x9b
-  OP_MOD_UI32 = 0x9c
-  OP_MOD_R_SI8 = 0x9d
-  OP_MOD_R_SI16 = 0x9e
-  OP_MOD_R_SI32 = 0x9f
-  OP_MOD_R_UI8 = 0xa0
-  OP_MOD_R_UI16 = 0xa1
-  OP_MOD_R_UI32 = 0xa2
+  OP_LEA_EXPR_INT8_R1 = 0x7a
+  OP_LEA_EXPR_INT8_R2 = 0x7b
+  OP_LEA_EXPR_INT8_R3 = 0x7c
+  OP_LEA_EXPR_INT8_R4 = 0x7d
+  OP_LEA_EXPR_INT8_R5 = 0x7e
+  OP_LEA_EXPR_INT16_R1 = 0x7f
+  OP_LEA_EXPR_INT16_R2 = 0x80
+  OP_LEA_EXPR_INT16_R3 = 0x81
+  OP_LEA_EXPR_INT16_R4 = 0x82
+  OP_LEA_EXPR_INT16_R5 = 0x83
+  OP_LEA_EXPR_INT32_R1 = 0x84
+  OP_LEA_EXPR_INT32_R2 = 0x85
+  OP_LEA_EXPR_INT32_R3 = 0x86
+  OP_LEA_EXPR_INT32_R4 = 0x87
+  OP_LEA_EXPR_INT32_R5 = 0x88
+  OP_LE_INT8 = 0x89
+  OP_LE_INT16 = 0x8a
+  OP_LE_INT32 = 0x8b
+  OP_LE_UINT8 = 0x8c
+  OP_LE_UINT16 = 0x8d
+  OP_LE_UINT32 = 0x8e
+  OP_LE_FLOAT32 = 0x8f
+  OP_LT_INT8 = 0x90
+  OP_LT_INT16 = 0x91
+  OP_LT_INT32 = 0x92
+  OP_LT_UINT8 = 0x93
+  OP_LT_UINT16 = 0x94
+  OP_LT_UINT32 = 0x95
+  OP_LT_FLOAT32 = 0x96
+  OP_MOD_INT8 = 0x97
+  OP_MOD_INT16 = 0x98
+  OP_MOD_INT32 = 0x99
+  OP_MOD_UINT8 = 0x9a
+  OP_MOD_UINT16 = 0x9b
+  OP_MOD_UINT32 = 0x9c
+  OP_MOD_R_INT8 = 0x9d
+  OP_MOD_R_INT16 = 0x9e
+  OP_MOD_R_INT32 = 0x9f
+  OP_MOD_R_UINT8 = 0xa0
+  OP_MOD_R_UINT16 = 0xa1
+  OP_MOD_R_UINT32 = 0xa2
   OP_MOV_R0_R1 = 0xa3
   OP_MOV_R0_R2 = 0xa4
   OP_MOV_R0_R3 = 0xa5
   OP_MOV_R3_R0 = 0xaa
   OP_MOV_R4_R0 = 0xab
   OP_MOV_R5_R0 = 0xac
-  OP_MUL_I8 = 0xad
-  OP_MUL_I16 = 0xae
-  OP_MUL_I32 = 0xaf
-  OP_MUL_F32 = 0xb0
-  OP_NEG_I8 = 0xb1
-  OP_NEG_I16 = 0xb2
-  OP_NEG_I32 = 0xb3
-  OP_NEG_F32 = 0xb4
-  OP_NE_I8 = 0xb5
-  OP_NE_I16 = 0xb6
-  OP_NE_I32 = 0xb7
-  OP_NE_F32 = 0xb8
-  OP_NOT_I8 = 0xb9
-  OP_NOT_I16 = 0xba
-  OP_NOT_I32 = 0xbb
-  OP_OR_I8 = 0xbc
-  OP_OR_I16 = 0xbd
-  OP_OR_I32 = 0xbe
+  OP_MUL_INT8 = 0xad
+  OP_MUL_INT16 = 0xae
+  OP_MUL_INT32 = 0xaf
+  OP_MUL_FLOAT32 = 0xb0
+  OP_NEG_INT8 = 0xb1
+  OP_NEG_INT16 = 0xb2
+  OP_NEG_INT32 = 0xb3
+  OP_NEG_FLOAT32 = 0xb4
+  OP_NE_INT8 = 0xb5
+  OP_NE_INT16 = 0xb6
+  OP_NE_INT32 = 0xb7
+  OP_NE_FLOAT32 = 0xb8
+  OP_NOT_INT8 = 0xb9
+  OP_NOT_INT16 = 0xba
+  OP_NOT_INT32 = 0xbb
+  OP_OR_INT8 = 0xbc
+  OP_OR_INT16 = 0xbd
+  OP_OR_INT32 = 0xbe
   OP_POP_8 = 0xbf
   OP_POP_16 = 0xc0
   OP_POP_32 = 0xc1
   OP_PUSH_R4 = 0xcd
   OP_PUSH_R5 = 0xce
   OP_RET = 0xcf
-  OP_SHL_I8 = 0xd0
-  OP_SHL_I16 = 0xd1
-  OP_SHL_I32 = 0xd2
-  OP_SHL_R_I8 = 0xd3
-  OP_SHL_R_I16 = 0xd4
-  OP_SHL_R_I32 = 0xd5
-  OP_SHR_SI8 = 0xd6
-  OP_SHR_SI16 = 0xd7
-  OP_SHR_SI32 = 0xd8
-  OP_SHR_UI8 = 0xd9
-  OP_SHR_UI16 = 0xda
-  OP_SHR_UI32 = 0xdb
-  OP_SHR_R_SI8 = 0xdc
-  OP_SHR_R_SI16 = 0xdd
-  OP_SHR_R_SI32 = 0xde
-  OP_SHR_R_UI8 = 0xdf
-  OP_SHR_R_UI16 = 0xe0
-  OP_SHR_R_UI32 = 0xe1
+  OP_SHL_INT8 = 0xd0
+  OP_SHL_INT16 = 0xd1
+  OP_SHL_INT32 = 0xd2
+  OP_SHL_R_INT8 = 0xd3
+  OP_SHL_R_INT16 = 0xd4
+  OP_SHL_R_INT32 = 0xd5
+  OP_SHR_INT8 = 0xd6
+  OP_SHR_INT16 = 0xd7
+  OP_SHR_INT32 = 0xd8
+  OP_SHR_UINT8 = 0xd9
+  OP_SHR_UINT16 = 0xda
+  OP_SHR_UINT32 = 0xdb
+  OP_SHR_R_INT8 = 0xdc
+  OP_SHR_R_INT16 = 0xdd
+  OP_SHR_R_INT32 = 0xde
+  OP_SHR_R_UINT8 = 0xdf
+  OP_SHR_R_UINT16 = 0xe0
+  OP_SHR_R_UINT32 = 0xe1
   OP_ST_8 = 0xe2
   OP_ST_16 = 0xe3
   OP_ST_32 = 0xe4
   OP_ST_R_8 = 0xe5
   OP_ST_R_16 = 0xe6
   OP_ST_R_32 = 0xe7
-  OP_SUB_I8 = 0xe8
-  OP_SUB_I16 = 0xe9
-  OP_SUB_I32 = 0xea
-  OP_SUB_F32 = 0xeb
-  OP_SUB_R_I8 = 0xec
-  OP_SUB_R_I16 = 0xed
-  OP_SUB_R_I32 = 0xee
-  OP_SUB_R_F32 = 0xef
+  OP_SUB_INT8 = 0xe8
+  OP_SUB_INT16 = 0xe9
+  OP_SUB_INT32 = 0xea
+  OP_SUB_FLOAT32 = 0xeb
+  OP_SUB_R_INT8 = 0xec
+  OP_SUB_R_INT16 = 0xed
+  OP_SUB_R_INT32 = 0xee
+  OP_SUB_R_FLOAT32 = 0xef
   OP_TRAP = 0xf0
-  OP_XOR_I8 = 0xf1
-  OP_XOR_I16 = 0xf2
-  OP_XOR_I32 = 0xf3
-  OP_ADD_I64 = 0x100
-  OP_ADD_I128 = 0x101
-  OP_ADD_F64 = 0x102
-  OP_ADD_F128 = 0x103
-  OP_AND_I64 = 0x104
-  OP_AND_I128 = 0x105
-  OP_CVT_SI8_I64 = 0x106
-  OP_CVT_SI8_I128 = 0x107
-  OP_CVT_SI8_F64 = 0x108
-  OP_CVT_SI8_F128 = 0x109
-  OP_CVT_SI16_I64 = 0x10a
-  OP_CVT_SI16_I128 = 0x10b
-  OP_CVT_SI16_F64 = 0x10c
-  OP_CVT_SI16_F128 = 0x10d
-  OP_CVT_SI32_I64 = 0x10e
-  OP_CVT_SI32_I128 = 0x10f
-  OP_CVT_SI32_F64 = 0x110
-  OP_CVT_SI32_F128 = 0x111
-  OP_CVT_SI64_I128 = 0x112
-  OP_CVT_SI64_F32 = 0x113
-  OP_CVT_SI64_F64 = 0x114
-  OP_CVT_SI64_F128 = 0x115
-  OP_CVT_SI128_F32 = 0x116
-  OP_CVT_SI128_F64 = 0x117
-  OP_CVT_SI128_F128 = 0x118
-  OP_CVT_UI8_I64 = 0x119
-  OP_CVT_UI8_I128 = 0x11a
-  OP_CVT_UI8_F64 = 0x11b
-  OP_CVT_UI8_F128 = 0x11c
-  OP_CVT_UI16_I64 = 0x11d
-  OP_CVT_UI16_I128 = 0x11e
-  OP_CVT_UI16_F64 = 0x11f
-  OP_CVT_UI16_F128 = 0x120
-  OP_CVT_UI32_I64 = 0x121
-  OP_CVT_UI32_I128 = 0x122
-  OP_CVT_UI32_F64 = 0x123
-  OP_CVT_UI32_F128 = 0x124
-  OP_CVT_UI64_I128 = 0x125
-  OP_CVT_UI64_F32 = 0x126
-  OP_CVT_UI64_F64 = 0x127
-  OP_CVT_UI64_F128 = 0x128
-  OP_CVT_UI128_F32 = 0x129
-  OP_CVT_UI128_F64 = 0x12a
-  OP_CVT_UI128_F128 = 0x12b
-  OP_CVT_F32_F64 = 0x12c
-  OP_CVT_F32_F128 = 0x12d
-  OP_CVT_F32_I64 = 0x12e
-  OP_CVT_F32_I128 = 0x12f
-  OP_CVT_F64_F32 = 0x130
-  OP_CVT_F64_F128 = 0x131
-  OP_CVT_F64_I8 = 0x132
-  OP_CVT_F64_I16 = 0x133
-  OP_CVT_F64_I32 = 0x134
-  OP_CVT_F64_I64 = 0x135
-  OP_CVT_F64_I128 = 0x136
-  OP_CVT_F128_F32 = 0x137
-  OP_CVT_F128_F64 = 0x138
-  OP_CVT_F128_I8 = 0x139
-  OP_CVT_F128_I16 = 0x13a
-  OP_CVT_F128_I32 = 0x13b
-  OP_CVT_F128_I64 = 0x13c
-  OP_CVT_F128_I128 = 0x13d
-  OP_DIV_SI64 = 0x13e
-  OP_DIV_SI128 = 0x13f
-  OP_DIV_UI64 = 0x140
-  OP_DIV_UI128 = 0x141
-  OP_DIV_F64 = 0x142
-  OP_DIV_F128 = 0x143
-  OP_DIV_R_SI64 = 0x144
-  OP_DIV_R_SI128 = 0x145
-  OP_DIV_R_UI64 = 0x146
-  OP_DIV_R_UI128 = 0x147
-  OP_DIV_R_F64 = 0x148
-  OP_DIV_R_F128 = 0x149
-  OP_EQ_I64 = 0x14a
-  OP_EQ_I128 = 0x14b
-  OP_EQ_F64 = 0x14c
-  OP_EQ_F128 = 0x14d
-  OP_GE_SI64 = 0x14e
-  OP_GE_SI128 = 0x14f
-  OP_GE_UI64 = 0x150
-  OP_GE_UI128 = 0x151
-  OP_GE_F64 = 0x152
-  OP_GE_F128 = 0x153
-  OP_GT_SI64 = 0x154
-  OP_GT_SI128 = 0x155
-  OP_GT_UI64 = 0x156
-  OP_GT_UI128 = 0x157
-  OP_GT_F64 = 0x158
-  OP_GT_F128 = 0x159
+  OP_XOR_INT8 = 0xf1
+  OP_XOR_INT16 = 0xf2
+  OP_XOR_INT32 = 0xf3
+  OP_ADD_INT64 = 0x100
+  OP_ADD_INT128 = 0x101
+  OP_ADD_FLOAT64 = 0x102
+  OP_ADD_FLOAT128 = 0x103
+  OP_AND_INT64 = 0x104
+  OP_AND_INT128 = 0x105
+  OP_CVT_INT8_INT64 = 0x106
+  OP_CVT_INT8_INT128 = 0x107
+  OP_CVT_INT8_FLOAT64 = 0x108
+  OP_CVT_INT8_FLOAT128 = 0x109
+  OP_CVT_INT16_INT64 = 0x10a
+  OP_CVT_INT16_INT128 = 0x10b
+  OP_CVT_INT16_FLOAT64 = 0x10c
+  OP_CVT_INT16_FLOAT128 = 0x10d
+  OP_CVT_INT32_INT64 = 0x10e
+  OP_CVT_INT32_INT128 = 0x10f
+  OP_CVT_INT32_FLOAT64 = 0x110
+  OP_CVT_INT32_FLOAT128 = 0x111
+  OP_CVT_INT64_INT128 = 0x112
+  OP_CVT_INT64_FLOAT32 = 0x113
+  OP_CVT_INT64_FLOAT64 = 0x114
+  OP_CVT_INT64_FLOAT128 = 0x115
+  OP_CVT_INT128_FLOAT32 = 0x116
+  OP_CVT_INT128_FLOAT64 = 0x117
+  OP_CVT_INT128_FLOAT128 = 0x118
+  OP_CVT_UINT8_INT64 = 0x119
+  OP_CVT_UINT8_INT128 = 0x11a
+  OP_CVT_UINT8_FLOAT64 = 0x11b
+  OP_CVT_UINT8_FLOAT128 = 0x11c
+  OP_CVT_UINT16_INT64 = 0x11d
+  OP_CVT_UINT16_INT128 = 0x11e
+  OP_CVT_UINT16_FLOAT64 = 0x11f
+  OP_CVT_UINT16_FLOAT128 = 0x120
+  OP_CVT_UINT32_INT64 = 0x121
+  OP_CVT_UINT32_INT128 = 0x122
+  OP_CVT_UINT32_FLOAT64 = 0x123
+  OP_CVT_UINT32_FLOAT128 = 0x124
+  OP_CVT_UINT64_INT128 = 0x125
+  OP_CVT_UINT64_FLOAT32 = 0x126
+  OP_CVT_UINT64_FLOAT64 = 0x127
+  OP_CVT_UINT64_FLOAT128 = 0x128
+  OP_CVT_UINT128_FLOAT32 = 0x129
+  OP_CVT_UINT128_FLOAT64 = 0x12a
+  OP_CVT_UINT128_FLOAT128 = 0x12b
+  OP_CVT_FLOAT32_FLOAT64 = 0x12c
+  OP_CVT_FLOAT32_FLOAT128 = 0x12d
+  OP_CVT_FLOAT32_INT64 = 0x12e
+  OP_CVT_FLOAT32_INT128 = 0x12f
+  OP_CVT_FLOAT64_FLOAT32 = 0x130
+  OP_CVT_FLOAT64_FLOAT128 = 0x131
+  OP_CVT_FLOAT64_INT8 = 0x132
+  OP_CVT_FLOAT64_INT16 = 0x133
+  OP_CVT_FLOAT64_INT32 = 0x134
+  OP_CVT_FLOAT64_INT64 = 0x135
+  OP_CVT_FLOAT64_INT128 = 0x136
+  OP_CVT_FLOAT128_FLOAT32 = 0x137
+  OP_CVT_FLOAT128_FLOAT64 = 0x138
+  OP_CVT_FLOAT128_INT8 = 0x139
+  OP_CVT_FLOAT128_INT16 = 0x13a
+  OP_CVT_FLOAT128_INT32 = 0x13b
+  OP_CVT_FLOAT128_INT64 = 0x13c
+  OP_CVT_FLOAT128_INT128 = 0x13d
+  OP_DIV_INT64 = 0x13e
+  OP_DIV_INT128 = 0x13f
+  OP_DIV_UINT64 = 0x140
+  OP_DIV_UINT128 = 0x141
+  OP_DIV_FLOAT64 = 0x142
+  OP_DIV_FLOAT128 = 0x143
+  OP_DIV_R_INT64 = 0x144
+  OP_DIV_R_INT128 = 0x145
+  OP_DIV_R_UINT64 = 0x146
+  OP_DIV_R_UINT128 = 0x147
+  OP_DIV_R_FLOAT64 = 0x148
+  OP_DIV_R_FLOAT128 = 0x149
+  OP_EQ_INT64 = 0x14a
+  OP_EQ_INT128 = 0x14b
+  OP_EQ_FLOAT64 = 0x14c
+  OP_EQ_FLOAT128 = 0x14d
+  OP_GE_INT64 = 0x14e
+  OP_GE_INT128 = 0x14f
+  OP_GE_UINT64 = 0x150
+  OP_GE_UINT128 = 0x151
+  OP_GE_FLOAT64 = 0x152
+  OP_GE_FLOAT128 = 0x153
+  OP_GT_INT64 = 0x154
+  OP_GT_INT128 = 0x155
+  OP_GT_UINT64 = 0x156
+  OP_GT_UINT128 = 0x157
+  OP_GT_FLOAT64 = 0x158
+  OP_GT_FLOAT128 = 0x159
   OP_IMM_EXPR_64 = 0x15a
   OP_IMM_EXPR_128 = 0x15b
-  OP_JMPF_I64_EXPR_I8 = 0x15c
-  OP_JMPF_I64_EXPR_I16 = 0x15d
-  OP_JMPF_I64_EXPR_I32 = 0x15e
-  OP_JMPF_I128_EXPR_I8 = 0x15f
-  OP_JMPF_I128_EXPR_I16 = 0x160
-  OP_JMPF_I128_EXPR_I32 = 0x161
-  OP_JMPF_F64_EXPR_I8 = 0x162
-  OP_JMPF_F64_EXPR_I16 = 0x163
-  OP_JMPF_F64_EXPR_I32 = 0x164
-  OP_JMPF_F128_EXPR_I8 = 0x165
-  OP_JMPF_F128_EXPR_I16 = 0x166
-  OP_JMPF_F128_EXPR_I32 = 0x167
-  OP_JMPT_I64_EXPR_I8 = 0x168
-  OP_JMPT_I64_EXPR_I16 = 0x169
-  OP_JMPT_I64_EXPR_I32 = 0x16a
-  OP_JMPT_I128_EXPR_I8 = 0x16b
-  OP_JMPT_I128_EXPR_I16 = 0x16c
-  OP_JMPT_I128_EXPR_I32 = 0x16d
-  OP_JMPT_F64_EXPR_I8 = 0x16e
-  OP_JMPT_F64_EXPR_I16 = 0x16f
-  OP_JMPT_F64_EXPR_I32 = 0x170
-  OP_JMPT_F128_EXPR_I8 = 0x171
-  OP_JMPT_F128_EXPR_I16 = 0x172
-  OP_JMPT_F128_EXPR_I32 = 0x173
+  OP_JMPF_INT64_EXPR_INT8 = 0x15c
+  OP_JMPF_INT64_EXPR_INT16 = 0x15d
+  OP_JMPF_INT64_EXPR_INT32 = 0x15e
+  OP_JMPF_INT128_EXPR_INT8 = 0x15f
+  OP_JMPF_INT128_EXPR_INT16 = 0x160
+  OP_JMPF_INT128_EXPR_INT32 = 0x161
+  OP_JMPF_FLOAT64_EXPR_INT8 = 0x162
+  OP_JMPF_FLOAT64_EXPR_INT16 = 0x163
+  OP_JMPF_FLOAT64_EXPR_INT32 = 0x164
+  OP_JMPF_FLOAT128_EXPR_INT8 = 0x165
+  OP_JMPF_FLOAT128_EXPR_INT16 = 0x166
+  OP_JMPF_FLOAT128_EXPR_INT32 = 0x167
+  OP_JMPT_INT64_EXPR_INT8 = 0x168
+  OP_JMPT_INT64_EXPR_INT16 = 0x169
+  OP_JMPT_INT64_EXPR_INT32 = 0x16a
+  OP_JMPT_INT128_EXPR_INT8 = 0x16b
+  OP_JMPT_INT128_EXPR_INT16 = 0x16c
+  OP_JMPT_INT128_EXPR_INT32 = 0x16d
+  OP_JMPT_FLOAT64_EXPR_INT8 = 0x16e
+  OP_JMPT_FLOAT64_EXPR_INT16 = 0x16f
+  OP_JMPT_FLOAT64_EXPR_INT32 = 0x170
+  OP_JMPT_FLOAT128_EXPR_INT8 = 0x171
+  OP_JMPT_FLOAT128_EXPR_INT16 = 0x172
+  OP_JMPT_FLOAT128_EXPR_INT32 = 0x173
   OP_LD_64 = 0x174
   OP_LD_128 = 0x175
-  OP_LE_SI64 = 0x176
-  OP_LE_SI128 = 0x177
-  OP_LE_UI64 = 0x178
-  OP_LE_UI128 = 0x179
-  OP_LE_F64 = 0x17a
-  OP_LE_F128 = 0x17b
-  OP_LT_SI64 = 0x17c
-  OP_LT_SI128 = 0x17d
-  OP_LT_UI64 = 0x17e
-  OP_LT_UI128 = 0x17f
-  OP_LT_F64 = 0x180
-  OP_LT_F128 = 0x181
-  OP_MOD_SI64 = 0x182
-  OP_MOD_SI128 = 0x183
-  OP_MOD_UI64 = 0x184
-  OP_MOD_UI128 = 0x185
-  OP_MOD_R_SI64 = 0x186
-  OP_MOD_R_SI128 = 0x187
-  OP_MOD_R_UI64 = 0x188
-  OP_MOD_R_UI128 = 0x189
-  OP_MUL_I64 = 0x18a
-  OP_MUL_I128 = 0x18b
-  OP_MUL_F64 = 0x18c
-  OP_MUL_F128 = 0x18d
-  OP_NEG_I64 = 0x18e
-  OP_NEG_I128 = 0x18f
-  OP_NEG_F64 = 0x190
-  OP_NEG_F128 = 0x191
-  OP_NE_I64 = 0x192
-  OP_NE_I128 = 0x193
-  OP_NE_F64 = 0x194
-  OP_NE_F128 = 0x195
-  OP_NOT_I64 = 0x196
-  OP_NOT_I128 = 0x197
-  OP_OR_I64 = 0x198
-  OP_OR_I128 = 0x199
+  OP_LE_INT64 = 0x176
+  OP_LE_INT128 = 0x177
+  OP_LE_UINT64 = 0x178
+  OP_LE_UINT128 = 0x179
+  OP_LE_FLOAT64 = 0x17a
+  OP_LE_FLOAT128 = 0x17b
+  OP_LT_INT64 = 0x17c
+  OP_LT_INT128 = 0x17d
+  OP_LT_UINT64 = 0x17e
+  OP_LT_UINT128 = 0x17f
+  OP_LT_FLOAT64 = 0x180
+  OP_LT_FLOAT128 = 0x181
+  OP_MOD_INT64 = 0x182
+  OP_MOD_INT128 = 0x183
+  OP_MOD_UINT64 = 0x184
+  OP_MOD_UINT128 = 0x185
+  OP_MOD_R_INT64 = 0x186
+  OP_MOD_R_INT128 = 0x187
+  OP_MOD_R_UINT64 = 0x188
+  OP_MOD_R_UINT128 = 0x189
+  OP_MUL_INT64 = 0x18a
+  OP_MUL_INT128 = 0x18b
+  OP_MUL_FLOAT64 = 0x18c
+  OP_MUL_FLOAT128 = 0x18d
+  OP_NEG_INT64 = 0x18e
+  OP_NEG_INT128 = 0x18f
+  OP_NEG_FLOAT64 = 0x190
+  OP_NEG_FLOAT128 = 0x191
+  OP_NE_INT64 = 0x192
+  OP_NE_INT128 = 0x193
+  OP_NE_FLOAT64 = 0x194
+  OP_NE_FLOAT128 = 0x195
+  OP_NOT_INT64 = 0x196
+  OP_NOT_INT128 = 0x197
+  OP_OR_INT64 = 0x198
+  OP_OR_INT128 = 0x199
   OP_POP_64 = 0x19a
   OP_POP_128 = 0x19b
   OP_PUSH_64 = 0x19c
   OP_PUSH_128 = 0x19d
-  OP_SHL_I64 = 0x19e
-  OP_SHL_I128 = 0x19f
-  OP_SHL_R_I64 = 0x1a0
-  OP_SHL_R_I128 = 0x1a1
-  OP_SHR_SI64 = 0x1a2
-  OP_SHR_SI128 = 0x1a3
-  OP_SHR_UI64 = 0x1a4
-  OP_SHR_UI128 = 0x1a5
-  OP_SHR_R_SI64 = 0x1a6
-  OP_SHR_R_SI128 = 0x1a7
-  OP_SHR_R_UI64 = 0x1a8
-  OP_SHR_R_UI128 = 0x1a9
+  OP_SHL_INT64 = 0x19e
+  OP_SHL_INT128 = 0x19f
+  OP_SHL_R_INT64 = 0x1a0
+  OP_SHL_R_INT128 = 0x1a1
+  OP_SHR_INT64 = 0x1a2
+  OP_SHR_INT128 = 0x1a3
+  OP_SHR_UINT64 = 0x1a4
+  OP_SHR_UINT128 = 0x1a5
+  OP_SHR_R_INT64 = 0x1a6
+  OP_SHR_R_INT128 = 0x1a7
+  OP_SHR_R_UINT64 = 0x1a8
+  OP_SHR_R_UINT128 = 0x1a9
   OP_ST_64 = 0x1aa
   OP_ST_128 = 0x1ab
   OP_ST_R_64 = 0x1ac
   OP_ST_R_128 = 0x1ad
-  OP_SUB_I64 = 0x1ae
-  OP_SUB_I128 = 0x1af
-  OP_SUB_F64 = 0x1b0
-  OP_SUB_F128 = 0x1b1
-  OP_SUB_R_I64 = 0x1b2
-  OP_SUB_R_I128 = 0x1b3
-  OP_SUB_R_F64 = 0x1b4
-  OP_SUB_R_F128 = 0x1b5
-  OP_XOR_I64 = 0x1b6
-  OP_XOR_I128 = 0x1b7
+  OP_SUB_INT64 = 0x1ae
+  OP_SUB_INT128 = 0x1af
+  OP_SUB_FLOAT64 = 0x1b0
+  OP_SUB_FLOAT128 = 0x1b1
+  OP_SUB_R_INT64 = 0x1b2
+  OP_SUB_R_INT128 = 0x1b3
+  OP_SUB_R_FLOAT64 = 0x1b4
+  OP_SUB_R_FLOAT128 = 0x1b5
+  OP_XOR_INT64 = 0x1b6
+  OP_XOR_INT128 = 0x1b7
 %}
 
 %%
index e289212..1619463 100644 (file)
--- a/vm_asm.y
+++ b/vm_asm.y
@@ -9,16 +9,16 @@
 %token DIV_R
 %token EQ
 %token EXPR
-%token F32
-%token F64
-%token F128
+%token FLOAT32
+%token FLOAT64
+%token FLOAT128
 %token GE
 %token GT
-%token I8
-%token I16
-%token I32
-%token I64
-%token I128
+%token INT8
+%token INT16
+%token INT32
+%token INT64
+%token INT128
 %token IMM
 %token JMP
 %token JMPF
 %token SHL_R
 %token SHR
 %token SHR_R
-%token SI8
-%token SI16
-%token SI32
-%token SI64
-%token SI128
+%token INT8
+%token INT16
+%token INT32
+%token INT64
+%token INT128
 %token ST
 %token ST_8
 %token ST_16
 %token SUB
 %token SUB_R
 %token TRAP
-%token UI8
-%token UI16
-%token UI32
-%token UI64
-%token UI128
+%token UINT8
+%token UINT16
+%token UINT32
+%token UINT64
+%token UINT128
 %token XOR
 %token IDENTIFIER
 %token FLOATING_CONSTANT
@@ -219,402 +219,402 @@ input_line
   | %space (?E{t_def.Label}identifier ':')
   | %space (?E{t_def.Equate}identifier '=' expression)
   | %space (?E{t_def.DotAlign}DOT_ALIGN expression)
-  | %space (?E{t_def.DotDataI, size = 8}DOT_DATA expression ',' I8)
-  | %space (?E{t_def.DotDataI, size = 16}DOT_DATA expression ',' I16)
-  | %space (?E{t_def.DotDataI, size = 32}DOT_DATA expression ',' I32)
-  | %space (?E{t_def.DotDataI, size = 64}DOT_DATA expression ',' I64)
-  | %space (?E{t_def.DotDataI, size = 128}DOT_DATA expression ',' I128)
-  | %space (?E{t_def.DotDataF, size = 32}DOT_DATA expression ',' F32)
-  | %space (?E{t_def.DotDataF, size = 64}DOT_DATA expression ',' F64)
-  | %space (?E{t_def.DotDataF, size = 128}DOT_DATA expression ',' F128)
+  | %space (?E{t_def.DotDataI, size = 8}DOT_DATA expression ',' INT8)
+  | %space (?E{t_def.DotDataI, size = 16}DOT_DATA expression ',' INT16)
+  | %space (?E{t_def.DotDataI, size = 32}DOT_DATA expression ',' INT32)
+  | %space (?E{t_def.DotDataI, size = 64}DOT_DATA expression ',' INT64)
+  | %space (?E{t_def.DotDataI, size = 128}DOT_DATA expression ',' INT128)
+  | %space (?E{t_def.DotDataF, size = 32}DOT_DATA expression ',' FLOAT32)
+  | %space (?E{t_def.DotDataF, size = 64}DOT_DATA expression ',' FLOAT64)
+  | %space (?E{t_def.DotDataF, size = 128}DOT_DATA expression ',' FLOAT128)
   | %space (?E{t_def.DotSpace}DOT_SPACE expression)
   | %space (?E{t_def.Op, op = t_def.OP_NOP}NOP)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R1, size = 8}ADD expression ',' I8 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R2, size = 8}ADD expression ',' I8 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R3, size = 8}ADD expression ',' I8 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R4, size = 8}ADD expression ',' I8 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R5, size = 8}ADD expression ',' I8 ',' R5)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R1, size = 16}ADD expression ',' I16 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R2, size = 16}ADD expression ',' I16 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R3, size = 16}ADD expression ',' I16 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R4, size = 16}ADD expression ',' I16 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R5, size = 16}ADD expression ',' I16 ',' R5)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R1, size = 32}ADD expression ',' I32 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R2, size = 32}ADD expression ',' I32 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R3, size = 32}ADD expression ',' I32 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R4, size = 32}ADD expression ',' I32 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R5, size = 32}ADD expression ',' I32 ',' R5)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_I8}ADD I8)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_I16}ADD I16)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_I32}ADD I32)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_I64}ADD I64)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_I128}ADD I128)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_F32}ADD F32)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_F64}ADD F64)
-  | %space (?E{t_def.Op, op = t_def.OP_ADD_F128}ADD F128)
-  | %space (?E{t_def.Op, op = t_def.OP_AND_I8}AND I8)
-  | %space (?E{t_def.Op, op = t_def.OP_AND_I16}AND I16)
-  | %space (?E{t_def.Op, op = t_def.OP_AND_I32}AND I32)
-  | %space (?E{t_def.Op, op = t_def.OP_AND_I64}AND I64)
-  | %space (?E{t_def.Op, op = t_def.OP_AND_I128}AND I128)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R1, size = 8}ADD expression ',' INT8 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R2, size = 8}ADD expression ',' INT8 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R3, size = 8}ADD expression ',' INT8 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R4, size = 8}ADD expression ',' INT8 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R5, size = 8}ADD expression ',' INT8 ',' R5)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R1, size = 16}ADD expression ',' INT16 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R2, size = 16}ADD expression ',' INT16 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R3, size = 16}ADD expression ',' INT16 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R4, size = 16}ADD expression ',' INT16 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R5, size = 16}ADD expression ',' INT16 ',' R5)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R1, size = 32}ADD expression ',' INT32 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R2, size = 32}ADD expression ',' INT32 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R3, size = 32}ADD expression ',' INT32 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R4, size = 32}ADD expression ',' INT32 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R5, size = 32}ADD expression ',' INT32 ',' R5)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_INT8}ADD INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_INT16}ADD INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_INT32}ADD INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_INT64}ADD INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_INT128}ADD INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_FLOAT32}ADD FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_FLOAT64}ADD FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_ADD_FLOAT128}ADD FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_AND_INT8}AND INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_AND_INT16}AND INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_AND_INT32}AND INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_AND_INT64}AND INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_AND_INT128}AND INT128)
   | %space (?E{t_def.Op, op = t_def.OP_CALL}CALL)
-  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_I8, size = 8}CALL expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_I16, size = 16}CALL expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_I32, size = 32}CALL expression ',' I32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_I8, size = 8}CALL expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_I16, size = 16}CALL expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_I32, size = 32}CALL expression ',' PCR32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_I16}CVT SI8 ',' I16)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_I32}CVT SI8 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_I64}CVT SI8 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_I128}CVT SI8 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_F32}CVT SI8 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_F64}CVT SI8 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI8_F128}CVT SI8 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_I32}CVT SI16 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_I64}CVT SI16 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_I128}CVT SI16 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_F32}CVT SI16 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_F64}CVT SI16 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI16_F128}CVT SI16 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI32_I64}CVT SI32 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI32_I128}CVT SI32 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI32_F32}CVT SI32 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI32_F64}CVT SI32 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI32_F128}CVT SI32 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI64_I128}CVT SI64 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI64_F32}CVT SI64 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI64_F64}CVT SI64 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI64_F128}CVT SI64 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI128_F32}CVT SI128 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI128_F64}CVT SI128 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_SI128_F128}CVT SI128 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_I16}CVT UI8 ',' I16)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_I32}CVT UI8 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_I64}CVT UI8 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_I128}CVT UI8 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_F32}CVT UI8 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_F64}CVT UI8 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI8_F128}CVT UI8 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_I32}CVT UI16 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_I64}CVT UI16 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_I128}CVT UI16 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_F32}CVT UI16 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_F64}CVT UI16 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI16_F128}CVT UI16 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI32_I64}CVT UI32 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI32_I128}CVT UI32 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI32_F32}CVT UI32 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI32_F64}CVT UI32 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI32_F128}CVT UI32 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI64_I128}CVT UI64 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI64_F32}CVT UI64 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI64_F64}CVT UI64 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI64_F128}CVT UI64 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI128_F32}CVT UI128 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI128_F64}CVT UI128 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_UI128_F128}CVT UI128 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_F64}CVT F32 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_F128}CVT F32 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_I8}CVT F32 ',' I8)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_I16}CVT F32 ',' I16)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_I32}CVT F32 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_I64}CVT F32 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F32_I128}CVT F32 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_F32}CVT F64 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_F128}CVT F64 ',' F128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_I8}CVT F64 ',' I8)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_I16}CVT F64 ',' I16)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_I32}CVT F64 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_I64}CVT F64 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F64_I128}CVT F64 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_F32}CVT F128 ',' F32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_F64}CVT F128 ',' F64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_I8}CVT F128 ',' I8)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_I16}CVT F128 ',' I16)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_I32}CVT F128 ',' I32)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_I64}CVT F128 ',' I64)
-  | %space (?E{t_def.Op, op = t_def.OP_CVT_F128_I128}CVT F128 ',' I128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_SI8}DIV SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_SI16}DIV SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_SI32}DIV SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_SI64}DIV SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_SI128}DIV SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_UI8}DIV UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_UI16}DIV UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_UI32}DIV UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_UI64}DIV UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_UI128}DIV UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_F32}DIV F32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_F64}DIV F64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_F128}DIV F128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_SI8}DIV_R SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_SI16}DIV_R SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_SI32}DIV_R SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_SI64}DIV_R SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_SI128}DIV_R SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UI8}DIV_R UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UI16}DIV_R UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UI32}DIV_R UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UI64}DIV_R UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UI128}DIV_R UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_F32}DIV_R F32)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_F64}DIV_R F64)
-  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_F128}DIV_R F128)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_I8}EQ I8)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_I16}EQ I16)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_I32}EQ I32)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_I64}EQ I64)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_I128}EQ I128)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_F32}EQ F32)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_F64}EQ F64)
-  | %space (?E{t_def.Op, op = t_def.OP_EQ_F128}EQ F128)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_SI8}GE SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_SI16}GE SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_SI32}GE SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_SI64}GE SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_SI128}GE SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_UI8}GE UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_UI16}GE UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_UI32}GE UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_UI64}GE UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_UI128}GE UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_F32}GE F32)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_F64}GE F64)
-  | %space (?E{t_def.Op, op = t_def.OP_GE_F128}GE F128)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_SI8}GT SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_SI16}GT SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_SI32}GT SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_SI64}GT SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_SI128}GT SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_UI8}GT UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_UI16}GT UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_UI32}GT UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_UI64}GT UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_UI128}GT UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_F32}GT F32)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_F64}GT F64)
-  | %space (?E{t_def.Op, op = t_def.OP_GT_F128}GT F128)
-  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_8, size = 8}IMM expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_16, size = 16}IMM expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_32, size = 32}IMM expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_64, size = 64}IMM expression ',' I64)
-  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_128, size = 128}IMM expression ',' I128)
-  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_32, size = 32}IMM expression ',' F32)
-  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_64, size = 64}IMM expression ',' F64)
-  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_128, size = 128}IMM expression ',' F128)
+  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_INT8, size = 8}CALL expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_INT16, size = 16}CALL expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_CALL_EXPR_INT32, size = 32}CALL expression ',' INT32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_INT8, size = 8}CALL expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_INT16, size = 16}CALL expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_CALL_EXPR_INT32, size = 32}CALL expression ',' PCR32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_INT16}CVT INT8 ',' INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_INT32}CVT INT8 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_INT64}CVT INT8 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_INT128}CVT INT8 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_FLOAT32}CVT INT8 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_FLOAT64}CVT INT8 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT8_FLOAT128}CVT INT8 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_INT32}CVT INT16 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_INT64}CVT INT16 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_INT128}CVT INT16 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_FLOAT32}CVT INT16 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_FLOAT64}CVT INT16 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT16_FLOAT128}CVT INT16 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT32_INT64}CVT INT32 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT32_INT128}CVT INT32 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT32_FLOAT32}CVT INT32 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT32_FLOAT64}CVT INT32 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT32_FLOAT128}CVT INT32 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT64_INT128}CVT INT64 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT64_FLOAT32}CVT INT64 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT64_FLOAT64}CVT INT64 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT64_FLOAT128}CVT INT64 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT128_FLOAT32}CVT INT128 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT128_FLOAT64}CVT INT128 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_INT128_FLOAT128}CVT INT128 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_INT16}CVT UINT8 ',' INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_INT32}CVT UINT8 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_INT64}CVT UINT8 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_INT128}CVT UINT8 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_FLOAT32}CVT UINT8 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_FLOAT64}CVT UINT8 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT8_FLOAT128}CVT UINT8 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_INT32}CVT UINT16 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_INT64}CVT UINT16 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_INT128}CVT UINT16 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_FLOAT32}CVT UINT16 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_FLOAT64}CVT UINT16 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT16_FLOAT128}CVT UINT16 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT32_INT64}CVT UINT32 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT32_INT128}CVT UINT32 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT32_FLOAT32}CVT UINT32 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT32_FLOAT64}CVT UINT32 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT32_FLOAT128}CVT UINT32 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT64_INT128}CVT UINT64 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT64_FLOAT32}CVT UINT64 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT64_FLOAT64}CVT UINT64 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT64_FLOAT128}CVT UINT64 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT128_FLOAT32}CVT UINT128 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT128_FLOAT64}CVT UINT128 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_UINT128_FLOAT128}CVT UINT128 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_FLOAT64}CVT FLOAT32 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_FLOAT128}CVT FLOAT32 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_INT8}CVT FLOAT32 ',' INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_INT16}CVT FLOAT32 ',' INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_INT32}CVT FLOAT32 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_INT64}CVT FLOAT32 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT32_INT128}CVT FLOAT32 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_FLOAT32}CVT FLOAT64 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_FLOAT128}CVT FLOAT64 ',' FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_INT8}CVT FLOAT64 ',' INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_INT16}CVT FLOAT64 ',' INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_INT32}CVT FLOAT64 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_INT64}CVT FLOAT64 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT64_INT128}CVT FLOAT64 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_FLOAT32}CVT FLOAT128 ',' FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_FLOAT64}CVT FLOAT128 ',' FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_INT8}CVT FLOAT128 ',' INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_INT16}CVT FLOAT128 ',' INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_INT32}CVT FLOAT128 ',' INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_INT64}CVT FLOAT128 ',' INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_CVT_FLOAT128_INT128}CVT FLOAT128 ',' INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_INT8}DIV INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_INT16}DIV INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_INT32}DIV INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_INT64}DIV INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_INT128}DIV INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_UINT8}DIV UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_UINT16}DIV UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_UINT32}DIV UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_UINT64}DIV UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_UINT128}DIV UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_FLOAT32}DIV FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_FLOAT64}DIV FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_FLOAT128}DIV FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_INT8}DIV_R INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_INT16}DIV_R INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_INT32}DIV_R INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_INT64}DIV_R INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_INT128}DIV_R INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UINT8}DIV_R UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UINT16}DIV_R UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UINT32}DIV_R UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UINT64}DIV_R UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_UINT128}DIV_R UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_FLOAT32}DIV_R FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_FLOAT64}DIV_R FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_DIV_R_FLOAT128}DIV_R FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_INT8}EQ INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_INT16}EQ INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_INT32}EQ INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_INT64}EQ INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_INT128}EQ INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_FLOAT32}EQ FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_FLOAT64}EQ FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_EQ_FLOAT128}EQ FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_INT8}GE INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_INT16}GE INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_INT32}GE INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_INT64}GE INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_INT128}GE INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_UINT8}GE UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_UINT16}GE UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_UINT32}GE UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_UINT64}GE UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_UINT128}GE UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_FLOAT32}GE FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_FLOAT64}GE FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GE_FLOAT128}GE FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_INT8}GT INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_INT16}GT INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_INT32}GT INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_INT64}GT INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_INT128}GT INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_UINT8}GT UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_UINT16}GT UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_UINT32}GT UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_UINT64}GT UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_UINT128}GT UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_FLOAT32}GT FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_FLOAT64}GT FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_GT_FLOAT128}GT FLOAT128)
+  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_8, size = 8}IMM expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_16, size = 16}IMM expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_32, size = 32}IMM expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_64, size = 64}IMM expression ',' INT64)
+  | %space (?E{t_def.OpI, op = t_def.OP_IMM_EXPR_128, size = 128}IMM expression ',' INT128)
+  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_32, size = 32}IMM expression ',' FLOAT32)
+  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_64, size = 64}IMM expression ',' FLOAT64)
+  | %space (?E{t_def.OpF, op = t_def.OP_IMM_EXPR_128, size = 128}IMM expression ',' FLOAT128)
 
   /* imm XXX,pcrY is a synonym for lea XXX,pcrY,r5 */
-  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_I8_R5, size = 8}IMM expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_I16_R5, size = 16}IMM expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_I32_R5, size = 32}IMM expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_INT8_R5, size = 8}IMM expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_INT16_R5, size = 16}IMM expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_LEA_EXPR_INT32_R5, size = 32}IMM expression ',' PCR32)
 
   /* jmp XXX,YYY is a synonym for add XXX,YYY,r5 */
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I8_R5, size = 8}JMP expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I16_R5, size = 16}JMP expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_I32_R5, size = 32}JMP expression ',' I32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_I8_R5, size = 8}JMP expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_I16_R5, size = 16}JMP expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_I32_R5, size = 32}JMP expression ',' PCR32)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT8_R5, size = 8}JMP expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT16_R5, size = 16}JMP expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_ADD_EXPR_INT32_R5, size = 32}JMP expression ',' INT32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_INT8_R5, size = 8}JMP expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_INT16_R5, size = 16}JMP expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_ADD_EXPR_INT32_R5, size = 32}JMP expression ',' PCR32)
 
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I8_EXPR_I8, size = 8}JMPF I8 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I8_EXPR_I16, size = 16}JMPF I8 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I8_EXPR_I32, size = 32}JMPF I8 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I16_EXPR_I8, size = 8}JMPF I16 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I16_EXPR_I16, size = 16}JMPF I16 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I16_EXPR_I32, size = 32}JMPF I16 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I32_EXPR_I8, size = 8}JMPF I32 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I32_EXPR_I16, size = 16}JMPF I32 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I32_EXPR_I32, size = 32}JMPF I32 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I64_EXPR_I8, size = 8}JMPF I64 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I64_EXPR_I16, size = 16}JMPF I64 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I64_EXPR_I32, size = 32}JMPF I64 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I128_EXPR_I8, size = 8}JMPF I128 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I128_EXPR_I16, size = 16}JMPF I128 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_I128_EXPR_I32, size = 32}JMPF I128 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F32_EXPR_I8, size = 8}JMPF F32 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F32_EXPR_I16, size = 16}JMPF F32 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F32_EXPR_I32, size = 32}JMPF F32 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F64_EXPR_I8, size = 8}JMPF F64 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F64_EXPR_I16, size = 16}JMPF F64 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F64_EXPR_I32, size = 32}JMPF F64 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F128_EXPR_I8, size = 8}JMPF F128 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F128_EXPR_I16, size = 16}JMPF F128 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_F128_EXPR_I32, size = 32}JMPF F128 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_I8, size = 8}JMPF R1 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_I16, size = 16}JMPF R1 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_I32, size = 32}JMPF R1 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_I8, size = 8}JMPF R2 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_I16, size = 16}JMPF R2 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_I32, size = 32}JMPF R2 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_I8, size = 8}JMPF R3 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_I16, size = 16}JMPF R3 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_I32, size = 32}JMPF R3 ',' expression ',' I32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I8_EXPR_I8, size = 8}JMPF I8 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I8_EXPR_I16, size = 16}JMPF I8 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I8_EXPR_I32, size = 32}JMPF I8 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I16_EXPR_I8, size = 8}JMPF I16 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I16_EXPR_I16, size = 16}JMPF I16 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I16_EXPR_I32, size = 32}JMPF I16 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I32_EXPR_I8, size = 8}JMPF I32 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I32_EXPR_I16, size = 16}JMPF I32 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I32_EXPR_I32, size = 32}JMPF I32 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I64_EXPR_I8, size = 8}JMPF I64 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I64_EXPR_I16, size = 16}JMPF I64 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I64_EXPR_I32, size = 32}JMPF I64 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I128_EXPR_I8, size = 8}JMPF I128 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I128_EXPR_I16, size = 16}JMPF I128 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_I128_EXPR_I32, size = 32}JMPF I128 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F32_EXPR_I8, size = 8}JMPF F32 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F32_EXPR_I16, size = 16}JMPF F32 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F32_EXPR_I32, size = 32}JMPF F32 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F64_EXPR_I8, size = 8}JMPF F64 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F64_EXPR_I16, size = 16}JMPF F64 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F64_EXPR_I32, size = 32}JMPF F64 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F128_EXPR_I8, size = 8}JMPF F128 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F128_EXPR_I16, size = 16}JMPF F128 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_F128_EXPR_I32, size = 32}JMPF F128 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_I8, size = 8}JMPF R1 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_I16, size = 16}JMPF R1 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_I32, size = 32}JMPF R1 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_I8, size = 8}JMPF R2 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_I16, size = 16}JMPF R2 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_I32, size = 32}JMPF R2 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_I8, size = 8}JMPF R3 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_I16, size = 16}JMPF R3 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_I32, size = 32}JMPF R3 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I8_EXPR_I8, size = 8}JMPT I8 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I8_EXPR_I16, size = 16}JMPT I8 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I8_EXPR_I32, size = 32}JMPT I8 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I16_EXPR_I8, size = 8}JMPT I16 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I16_EXPR_I16, size = 16}JMPT I16 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I16_EXPR_I32, size = 32}JMPT I16 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I32_EXPR_I8, size = 8}JMPT I32 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I32_EXPR_I16, size = 16}JMPT I32 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I32_EXPR_I32, size = 32}JMPT I32 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I64_EXPR_I8, size = 8}JMPT I64 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I64_EXPR_I16, size = 16}JMPT I64 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I64_EXPR_I32, size = 32}JMPT I64 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I128_EXPR_I8, size = 8}JMPT I128 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I128_EXPR_I16, size = 16}JMPT I128 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_I128_EXPR_I32, size = 32}JMPT I128 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F32_EXPR_I8, size = 8}JMPT F32 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F32_EXPR_I16, size = 16}JMPT F32 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F32_EXPR_I32, size = 32}JMPT F32 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F64_EXPR_I8, size = 8}JMPT F64 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F64_EXPR_I16, size = 16}JMPT F64 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F64_EXPR_I32, size = 32}JMPT F64 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F128_EXPR_I8, size = 8}JMPT F128 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F128_EXPR_I16, size = 16}JMPT F128 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_F128_EXPR_I32, size = 32}JMPT F128 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_I8, size = 8}JMPT R1 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_I16, size = 16}JMPT R1 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_I32, size = 32}JMPT R1 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_I8, size = 8}JMPT R2 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_I16, size = 16}JMPT R2 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_I32, size = 32}JMPT R2 ',' expression ',' I32)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_I8, size = 8}JMPT R3 ',' expression ',' I8)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_I16, size = 16}JMPT R3 ',' expression ',' I16)
-  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_I32, size = 32}JMPT R3 ',' expression ',' I32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I8_EXPR_I8, size = 8}JMPT I8 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I8_EXPR_I16, size = 16}JMPT I8 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I8_EXPR_I32, size = 32}JMPT I8 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I16_EXPR_I8, size = 8}JMPT I16 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I16_EXPR_I16, size = 16}JMPT I16 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I16_EXPR_I32, size = 32}JMPT I16 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I32_EXPR_I8, size = 8}JMPT I32 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I32_EXPR_I16, size = 16}JMPT I32 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I32_EXPR_I32, size = 32}JMPT I32 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I64_EXPR_I8, size = 8}JMPT I64 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I64_EXPR_I16, size = 16}JMPT I64 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I64_EXPR_I32, size = 32}JMPT I64 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I128_EXPR_I8, size = 8}JMPT I128 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I128_EXPR_I16, size = 16}JMPT I128 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_I128_EXPR_I32, size = 32}JMPT I128 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F32_EXPR_I8, size = 8}JMPT F32 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F32_EXPR_I16, size = 16}JMPT F32 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F32_EXPR_I32, size = 32}JMPT F32 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F64_EXPR_I8, size = 8}JMPT F64 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F64_EXPR_I16, size = 16}JMPT F64 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F64_EXPR_I32, size = 32}JMPT F64 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F128_EXPR_I8, size = 8}JMPT F128 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F128_EXPR_I16, size = 16}JMPT F128 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_F128_EXPR_I32, size = 32}JMPT F128 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_I8, size = 8}JMPT R1 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_I16, size = 16}JMPT R1 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_I32, size = 32}JMPT R1 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_I8, size = 8}JMPT R2 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_I16, size = 16}JMPT R2 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_I32, size = 32}JMPT R2 ',' expression ',' PCR32)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_I8, size = 8}JMPT R3 ',' expression ',' PCR8)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_I16, size = 16}JMPT R3 ',' expression ',' PCR16)
-  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_I32, size = 32}JMPT R3 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT8_EXPR_INT8, size = 8}JMPF INT8 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT8_EXPR_INT16, size = 16}JMPF INT8 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT8_EXPR_INT32, size = 32}JMPF INT8 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT16_EXPR_INT8, size = 8}JMPF INT16 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT16_EXPR_INT16, size = 16}JMPF INT16 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT16_EXPR_INT32, size = 32}JMPF INT16 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT32_EXPR_INT8, size = 8}JMPF INT32 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT32_EXPR_INT16, size = 16}JMPF INT32 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT32_EXPR_INT32, size = 32}JMPF INT32 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT64_EXPR_INT8, size = 8}JMPF INT64 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT64_EXPR_INT16, size = 16}JMPF INT64 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT64_EXPR_INT32, size = 32}JMPF INT64 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT128_EXPR_INT8, size = 8}JMPF INT128 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT128_EXPR_INT16, size = 16}JMPF INT128 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_INT128_EXPR_INT32, size = 32}JMPF INT128 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT32_EXPR_INT8, size = 8}JMPF FLOAT32 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT32_EXPR_INT16, size = 16}JMPF FLOAT32 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT32_EXPR_INT32, size = 32}JMPF FLOAT32 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT64_EXPR_INT8, size = 8}JMPF FLOAT64 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT64_EXPR_INT16, size = 16}JMPF FLOAT64 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT64_EXPR_INT32, size = 32}JMPF FLOAT64 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT128_EXPR_INT8, size = 8}JMPF FLOAT128 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT128_EXPR_INT16, size = 16}JMPF FLOAT128 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_FLOAT128_EXPR_INT32, size = 32}JMPF FLOAT128 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_INT8, size = 8}JMPF R1 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_INT16, size = 16}JMPF R1 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R1_EXPR_INT32, size = 32}JMPF R1 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_INT8, size = 8}JMPF R2 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_INT16, size = 16}JMPF R2 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R2_EXPR_INT32, size = 32}JMPF R2 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_INT8, size = 8}JMPF R3 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_INT16, size = 16}JMPF R3 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPF_R3_EXPR_INT32, size = 32}JMPF R3 ',' expression ',' INT32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT8_EXPR_INT8, size = 8}JMPF INT8 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT8_EXPR_INT16, size = 16}JMPF INT8 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT8_EXPR_INT32, size = 32}JMPF INT8 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT16_EXPR_INT8, size = 8}JMPF INT16 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT16_EXPR_INT16, size = 16}JMPF INT16 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT16_EXPR_INT32, size = 32}JMPF INT16 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT32_EXPR_INT8, size = 8}JMPF INT32 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT32_EXPR_INT16, size = 16}JMPF INT32 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT32_EXPR_INT32, size = 32}JMPF INT32 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT64_EXPR_INT8, size = 8}JMPF INT64 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT64_EXPR_INT16, size = 16}JMPF INT64 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT64_EXPR_INT32, size = 32}JMPF INT64 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT128_EXPR_INT8, size = 8}JMPF INT128 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT128_EXPR_INT16, size = 16}JMPF INT128 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_INT128_EXPR_INT32, size = 32}JMPF INT128 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT32_EXPR_INT8, size = 8}JMPF FLOAT32 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT32_EXPR_INT16, size = 16}JMPF FLOAT32 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT32_EXPR_INT32, size = 32}JMPF FLOAT32 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT64_EXPR_INT8, size = 8}JMPF FLOAT64 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT64_EXPR_INT16, size = 16}JMPF FLOAT64 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT64_EXPR_INT32, size = 32}JMPF FLOAT64 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT128_EXPR_INT8, size = 8}JMPF FLOAT128 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT128_EXPR_INT16, size = 16}JMPF FLOAT128 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_FLOAT128_EXPR_INT32, size = 32}JMPF FLOAT128 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_INT8, size = 8}JMPF R1 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_INT16, size = 16}JMPF R1 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R1_EXPR_INT32, size = 32}JMPF R1 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_INT8, size = 8}JMPF R2 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_INT16, size = 16}JMPF R2 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R2_EXPR_INT32, size = 32}JMPF R2 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_INT8, size = 8}JMPF R3 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_INT16, size = 16}JMPF R3 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPF_R3_EXPR_INT32, size = 32}JMPF R3 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT8_EXPR_INT8, size = 8}JMPT INT8 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT8_EXPR_INT16, size = 16}JMPT INT8 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT8_EXPR_INT32, size = 32}JMPT INT8 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT16_EXPR_INT8, size = 8}JMPT INT16 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT16_EXPR_INT16, size = 16}JMPT INT16 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT16_EXPR_INT32, size = 32}JMPT INT16 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT32_EXPR_INT8, size = 8}JMPT INT32 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT32_EXPR_INT16, size = 16}JMPT INT32 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT32_EXPR_INT32, size = 32}JMPT INT32 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT64_EXPR_INT8, size = 8}JMPT INT64 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT64_EXPR_INT16, size = 16}JMPT INT64 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT64_EXPR_INT32, size = 32}JMPT INT64 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT128_EXPR_INT8, size = 8}JMPT INT128 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT128_EXPR_INT16, size = 16}JMPT INT128 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_INT128_EXPR_INT32, size = 32}JMPT INT128 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT32_EXPR_INT8, size = 8}JMPT FLOAT32 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT32_EXPR_INT16, size = 16}JMPT FLOAT32 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT32_EXPR_INT32, size = 32}JMPT FLOAT32 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT64_EXPR_INT8, size = 8}JMPT FLOAT64 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT64_EXPR_INT16, size = 16}JMPT FLOAT64 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT64_EXPR_INT32, size = 32}JMPT FLOAT64 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT128_EXPR_INT8, size = 8}JMPT FLOAT128 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT128_EXPR_INT16, size = 16}JMPT FLOAT128 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_FLOAT128_EXPR_INT32, size = 32}JMPT FLOAT128 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_INT8, size = 8}JMPT R1 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_INT16, size = 16}JMPT R1 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R1_EXPR_INT32, size = 32}JMPT R1 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_INT8, size = 8}JMPT R2 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_INT16, size = 16}JMPT R2 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R2_EXPR_INT32, size = 32}JMPT R2 ',' expression ',' INT32)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_INT8, size = 8}JMPT R3 ',' expression ',' INT8)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_INT16, size = 16}JMPT R3 ',' expression ',' INT16)
+  | %space (?E{t_def.OpI, op = t_def.OP_JMPT_R3_EXPR_INT32, size = 32}JMPT R3 ',' expression ',' INT32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT8_EXPR_INT8, size = 8}JMPT INT8 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT8_EXPR_INT16, size = 16}JMPT INT8 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT8_EXPR_INT32, size = 32}JMPT INT8 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT16_EXPR_INT8, size = 8}JMPT INT16 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT16_EXPR_INT16, size = 16}JMPT INT16 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT16_EXPR_INT32, size = 32}JMPT INT16 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT32_EXPR_INT8, size = 8}JMPT INT32 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT32_EXPR_INT16, size = 16}JMPT INT32 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT32_EXPR_INT32, size = 32}JMPT INT32 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT64_EXPR_INT8, size = 8}JMPT INT64 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT64_EXPR_INT16, size = 16}JMPT INT64 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT64_EXPR_INT32, size = 32}JMPT INT64 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT128_EXPR_INT8, size = 8}JMPT INT128 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT128_EXPR_INT16, size = 16}JMPT INT128 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_INT128_EXPR_INT32, size = 32}JMPT INT128 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT32_EXPR_INT8, size = 8}JMPT FLOAT32 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT32_EXPR_INT16, size = 16}JMPT FLOAT32 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT32_EXPR_INT32, size = 32}JMPT FLOAT32 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT64_EXPR_INT8, size = 8}JMPT FLOAT64 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT64_EXPR_INT16, size = 16}JMPT FLOAT64 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT64_EXPR_INT32, size = 32}JMPT FLOAT64 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT128_EXPR_INT8, size = 8}JMPT FLOAT128 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT128_EXPR_INT16, size = 16}JMPT FLOAT128 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_FLOAT128_EXPR_INT32, size = 32}JMPT FLOAT128 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_INT8, size = 8}JMPT R1 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_INT16, size = 16}JMPT R1 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R1_EXPR_INT32, size = 32}JMPT R1 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_INT8, size = 8}JMPT R2 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_INT16, size = 16}JMPT R2 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R2_EXPR_INT32, size = 32}JMPT R2 ',' expression ',' PCR32)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_INT8, size = 8}JMPT R3 ',' expression ',' PCR8)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_INT16, size = 16}JMPT R3 ',' expression ',' PCR16)
+  | %space (?E{t_def.OpPCR, op = t_def.OP_JMPT_R3_EXPR_INT32, size = 32}JMPT R3 ',' expression ',' PCR32)
   | %space (?E{t_def.Op, op = t_def.OP_LD_8}LD_8)
   | %space (?E{t_def.Op, op = t_def.OP_LD_16}LD_16)
   | %space (?E{t_def.Op, op = t_def.OP_LD_32}LD_32)
   | %space (?E{t_def.Op, op = t_def.OP_LD_64}LD_64)
   | %space (?E{t_def.Op, op = t_def.OP_LD_128}LD_128)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I8_R1, size = 8}LEA expression ',' I8 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I8_R2, size = 8}LEA expression ',' I8 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I8_R3, size = 8}LEA expression ',' I8 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I8_R4, size = 8}LEA expression ',' I8 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I8_R5, size = 8}LEA expression ',' I8 ',' R5)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I16_R1, size = 16}LEA expression ',' I16 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I16_R2, size = 16}LEA expression ',' I16 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I16_R3, size = 16}LEA expression ',' I16 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I16_R4, size = 16}LEA expression ',' I16 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I16_R5, size = 16}LEA expression ',' I16 ',' R5)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I32_R1, size = 32}LEA expression ',' I32 ',' R1)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I32_R2, size = 32}LEA expression ',' I32 ',' R2)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I32_R3, size = 32}LEA expression ',' I32 ',' R3)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I32_R4, size = 32}LEA expression ',' I32 ',' R4)
-  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_I32_R5, size = 32}LEA expression ',' I32 ',' R5)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_SI8}LE SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_SI16}LE SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_SI32}LE SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_SI64}LE SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_SI128}LE SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_UI8}LE UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_UI16}LE UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_UI32}LE UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_UI64}LE UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_UI128}LE UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_F32}LE F32)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_F64}LE F64)
-  | %space (?E{t_def.Op, op = t_def.OP_LE_F128}LE F128)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_SI8}LT SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_SI16}LT SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_SI32}LT SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_SI64}LT SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_SI128}LT SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_UI8}LT UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_UI16}LT UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_UI32}LT UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_UI64}LT UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_UI128}LT UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_F32}LT F32)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_F64}LT F64)
-  | %space (?E{t_def.Op, op = t_def.OP_LT_F128}LT F128)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_SI8}MOD SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_SI16}MOD SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_SI32}MOD SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_SI64}MOD SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_SI128}MOD SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_UI8}MOD UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_UI16}MOD UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_UI32}MOD UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_UI64}MOD UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_UI128}MOD UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_SI8}MOD_R SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_SI16}MOD_R SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_SI32}MOD_R SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_SI64}MOD_R SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_SI128}MOD_R SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UI8}MOD_R UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UI16}MOD_R UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UI32}MOD_R UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UI64}MOD_R UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UI128}MOD_R UI128)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT8_R1, size = 8}LEA expression ',' INT8 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT8_R2, size = 8}LEA expression ',' INT8 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT8_R3, size = 8}LEA expression ',' INT8 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT8_R4, size = 8}LEA expression ',' INT8 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT8_R5, size = 8}LEA expression ',' INT8 ',' R5)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT16_R1, size = 16}LEA expression ',' INT16 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT16_R2, size = 16}LEA expression ',' INT16 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT16_R3, size = 16}LEA expression ',' INT16 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT16_R4, size = 16}LEA expression ',' INT16 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT16_R5, size = 16}LEA expression ',' INT16 ',' R5)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT32_R1, size = 32}LEA expression ',' INT32 ',' R1)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT32_R2, size = 32}LEA expression ',' INT32 ',' R2)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT32_R3, size = 32}LEA expression ',' INT32 ',' R3)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT32_R4, size = 32}LEA expression ',' INT32 ',' R4)
+  | %space (?E{t_def.OpI, op = t_def.OP_LEA_EXPR_INT32_R5, size = 32}LEA expression ',' INT32 ',' R5)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_INT8}LE INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_INT16}LE INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_INT32}LE INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_INT64}LE INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_INT128}LE INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_UINT8}LE UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_UINT16}LE UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_UINT32}LE UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_UINT64}LE UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_UINT128}LE UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_FLOAT32}LE FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_FLOAT64}LE FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LE_FLOAT128}LE FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_INT8}LT INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_INT16}LT INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_INT32}LT INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_INT64}LT INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_INT128}LT INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_UINT8}LT UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_UINT16}LT UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_UINT32}LT UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_UINT64}LT UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_UINT128}LT UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_FLOAT32}LT FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_FLOAT64}LT FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_LT_FLOAT128}LT FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_INT8}MOD INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_INT16}MOD INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_INT32}MOD INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_INT64}MOD INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_INT128}MOD INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_UINT8}MOD UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_UINT16}MOD UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_UINT32}MOD UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_UINT64}MOD UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_UINT128}MOD UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_INT8}MOD_R INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_INT16}MOD_R INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_INT32}MOD_R INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_INT64}MOD_R INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_INT128}MOD_R INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UINT8}MOD_R UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UINT16}MOD_R UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UINT32}MOD_R UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UINT64}MOD_R UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MOD_R_UINT128}MOD_R UINT128)
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R0_R1}MOV R0 ',' R1)
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R0_R2}MOV R0 ',' R2)
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R0_R3}MOV R0 ',' R3)
@@ -625,40 +625,40 @@ input_line
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R3_R0}MOV R3 ',' R0)
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R4_R0}MOV R4 ',' R0)
   | %space (?E{t_def.Op, op = t_def.OP_MOV_R5_R0}MOV R5 ',' R0)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_I8}MUL I8)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_I16}MUL I16)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_I32}MUL I32)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_I64}MUL I64)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_I128}MUL I128)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_F32}MUL F32)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_F64}MUL F64)
-  | %space (?E{t_def.Op, op = t_def.OP_MUL_F128}MUL F128)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_I8}NEG I8)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_I16}NEG I16)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_I32}NEG I32)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_I64}NEG I64)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_I128}NEG I128)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_F32}NEG F32)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_F64}NEG F64)
-  | %space (?E{t_def.Op, op = t_def.OP_NEG_F128}NEG F128)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_I8}NE I8)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_I16}NE I16)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_I32}NE I32)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_I64}NE I64)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_I128}NE I128)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_F32}NE F32)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_F64}NE F64)
-  | %space (?E{t_def.Op, op = t_def.OP_NE_F128}NE F128)
-  | %space (?E{t_def.Op, op = t_def.OP_NOT_I8}NOT I8)
-  | %space (?E{t_def.Op, op = t_def.OP_NOT_I16}NOT I16)
-  | %space (?E{t_def.Op, op = t_def.OP_NOT_I32}NOT I32)
-  | %space (?E{t_def.Op, op = t_def.OP_NOT_I64}NOT I64)
-  | %space (?E{t_def.Op, op = t_def.OP_NOT_I128}NOT I128)
-  | %space (?E{t_def.Op, op = t_def.OP_OR_I8}OR I8)
-  | %space (?E{t_def.Op, op = t_def.OP_OR_I16}OR I16)
-  | %space (?E{t_def.Op, op = t_def.OP_OR_I32}OR I32)
-  | %space (?E{t_def.Op, op = t_def.OP_OR_I64}OR I64)
-  | %space (?E{t_def.Op, op = t_def.OP_OR_I128}OR I128)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_INT8}MUL INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_INT16}MUL INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_INT32}MUL INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_INT64}MUL INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_INT128}MUL INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_FLOAT32}MUL FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_FLOAT64}MUL FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_MUL_FLOAT128}MUL FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_INT8}NEG INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_INT16}NEG INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_INT32}NEG INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_INT64}NEG INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_INT128}NEG INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_FLOAT32}NEG FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_FLOAT64}NEG FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_NEG_FLOAT128}NEG FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_INT8}NE INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_INT16}NE INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_INT32}NE INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_INT64}NE INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_INT128}NE INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_FLOAT32}NE FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_FLOAT64}NE FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_NE_FLOAT128}NE FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_NOT_INT8}NOT INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_NOT_INT16}NOT INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_NOT_INT32}NOT INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_NOT_INT64}NOT INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_NOT_INT128}NOT INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_OR_INT8}OR INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_OR_INT16}OR INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_OR_INT32}OR INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_OR_INT64}OR INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_OR_INT128}OR INT128)
   | %space (?E{t_def.Op, op = t_def.OP_POP_8}POP_8)
   | %space (?E{t_def.Op, op = t_def.OP_POP_16}POP_16)
   | %space (?E{t_def.Op, op = t_def.OP_POP_32}POP_32)
@@ -680,36 +680,36 @@ input_line
   | %space (?E{t_def.Op, op = t_def.OP_PUSH_R4}PUSH R4)
   | %space (?E{t_def.Op, op = t_def.OP_PUSH_R5}PUSH R5)
   | %space (?E{t_def.Op, op = t_def.OP_RET}RET)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_I8}SHL I8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_I16}SHL I16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_I32}SHL I32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_I64}SHL I64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_I128}SHL I128)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_I8}SHL_R I8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_I16}SHL_R I16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_I32}SHL_R I32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_I64}SHL_R I64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_I128}SHL_R I128)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_SI8}SHR SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_SI16}SHR SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_SI32}SHR SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_SI64}SHR SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_SI128}SHR SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_UI8}SHR UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_UI16}SHR UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_UI32}SHR UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_UI64}SHR UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_UI128}SHR UI128)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_SI8}SHR_R SI8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_SI16}SHR_R SI16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_SI32}SHR_R SI32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_SI64}SHR_R SI64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_SI128}SHR_R SI128)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UI8}SHR_R UI8)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UI16}SHR_R UI16)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UI32}SHR_R UI32)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UI64}SHR_R UI64)
-  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UI128}SHR_R UI128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_INT8}SHL INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_INT16}SHL INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_INT32}SHL INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_INT64}SHL INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_INT128}SHL INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_INT8}SHL_R INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_INT16}SHL_R INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_INT32}SHL_R INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_INT64}SHL_R INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHL_R_INT128}SHL_R INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_INT8}SHR INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_INT16}SHR INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_INT32}SHR INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_INT64}SHR INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_INT128}SHR INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_UINT8}SHR UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_UINT16}SHR UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_UINT32}SHR UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_UINT64}SHR UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_UINT128}SHR UINT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_INT8}SHR_R INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_INT16}SHR_R INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_INT32}SHR_R INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_INT64}SHR_R INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_INT128}SHR_R INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UINT8}SHR_R UINT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UINT16}SHR_R UINT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UINT32}SHR_R UINT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UINT64}SHR_R UINT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SHR_R_UINT128}SHR_R UINT128)
   | %space (?E{t_def.Op, op = t_def.OP_ST_8}ST_8)
   | %space (?E{t_def.Op, op = t_def.OP_ST_16}ST_16)
   | %space (?E{t_def.Op, op = t_def.OP_ST_32}ST_32)
@@ -720,28 +720,28 @@ input_line
   | %space (?E{t_def.Op, op = t_def.OP_ST_R_32}ST_R_32)
   | %space (?E{t_def.Op, op = t_def.OP_ST_R_64}ST_R_64)
   | %space (?E{t_def.Op, op = t_def.OP_ST_R_128}ST_R_128)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_I8}SUB I8)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_I16}SUB I16)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_I32}SUB I32)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_I64}SUB I64)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_I128}SUB I128)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_F32}SUB F32)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_F64}SUB F64)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_F128}SUB F128)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_I8}SUB_R I8)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_I16}SUB_R I16)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_I32}SUB_R I32)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_I64}SUB_R I64)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_I128}SUB_R I128)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_F32}SUB_R F32)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_F64}SUB_R F64)
-  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_F128}SUB_R F128)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_INT8}SUB INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_INT16}SUB INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_INT32}SUB INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_INT64}SUB INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_INT128}SUB INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_FLOAT32}SUB FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_FLOAT64}SUB FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_FLOAT128}SUB FLOAT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_INT8}SUB_R INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_INT16}SUB_R INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_INT32}SUB_R INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_INT64}SUB_R INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_INT128}SUB_R INT128)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_FLOAT32}SUB_R FLOAT32)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_FLOAT64}SUB_R FLOAT64)
+  | %space (?E{t_def.Op, op = t_def.OP_SUB_R_FLOAT128}SUB_R FLOAT128)
   | %space (?E{t_def.Op, op = t_def.OP_TRAP}TRAP)
-  | %space (?E{t_def.Op, op = t_def.OP_XOR_I8}XOR I8)
-  | %space (?E{t_def.Op, op = t_def.OP_XOR_I16}XOR I16)
-  | %space (?E{t_def.Op, op = t_def.OP_XOR_I32}XOR I32)
-  | %space (?E{t_def.Op, op = t_def.OP_XOR_I64}XOR I64)
-  | %space (?E{t_def.Op, op = t_def.OP_XOR_I128}XOR I128)
+  | %space (?E{t_def.Op, op = t_def.OP_XOR_INT8}XOR INT8)
+  | %space (?E{t_def.Op, op = t_def.OP_XOR_INT16}XOR INT16)
+  | %space (?E{t_def.Op, op = t_def.OP_XOR_INT32}XOR INT32)
+  | %space (?E{t_def.Op, op = t_def.OP_XOR_INT64}XOR INT64)
+  | %space (?E{t_def.Op, op = t_def.OP_XOR_INT128}XOR INT128)
   ;
 
 /* if file ends with NEWLINE, we will see a blank input_line after it */