+#define INSTRLIST \
+ Ins(i_INTERNAL_ERROR), \
+ Ins(i_PANIC), \
+ Ins(i_STK_CHECK), \
+ Ins(i_STK_CHECK_big), \
+ Ins(i_ARG_CHECK), \
+ Ins(i_ALLOC_AP), \
+ Ins(i_ALLOC_PAP), \
+ Ins(i_ALLOC_CONSTR), \
+ Ins(i_ALLOC_CONSTR_big), \
+ Ins(i_MKAP), \
+ Ins(i_MKAP_big), \
+ Ins(i_MKPAP), \
+ Ins(i_PACK), \
+ Ins(i_PACK_big), \
+ Ins(i_SLIDE), \
+ Ins(i_SLIDE_big), \
+ Ins(i_TEST), \
+ Ins(i_UNPACK), \
+ Ins(i_VAR), \
+ Ins(i_VAR_big), \
+ Ins(i_CONST), \
+ Ins(i_CONST_big), \
+ Ins(i_ENTER), \
+ Ins(i_RETADDR), \
+ Ins(i_RETADDR_big), \
+ Ins(i_VOID), \
+ Ins(i_VAR_INT), \
+ Ins(i_VAR_INT_big), \
+ Ins(i_CONST_INT), \
+ Ins(i_CONST_INT_big), \
+ Ins(i_PACK_INT), \
+ Ins(i_UNPACK_INT), \
+ Ins(i_TEST_INT), \
+ Ins(i_CONST_INTEGER), \
+ Ins(i_CONST_INTEGER_big), \
+ Ins(i_VAR_WORD), \
+ Ins(i_VAR_WORD_big), \
+ Ins(i_CONST_WORD), \
+ Ins(i_PACK_WORD), \
+ Ins(i_UNPACK_WORD), \
+ Ins(i_VAR_ADDR), \
+ Ins(i_VAR_ADDR_big), \
+ Ins(i_CONST_ADDR), \
+ Ins(i_CONST_ADDR_big), \
+ Ins(i_PACK_ADDR), \
+ Ins(i_UNPACK_ADDR), \
+ Ins(i_VAR_CHAR), \
+ Ins(i_VAR_CHAR_big), \
+ Ins(i_CONST_CHAR), \
+ Ins(i_CONST_CHAR_big), \
+ Ins(i_PACK_CHAR), \
+ Ins(i_UNPACK_CHAR), \
+ Ins(i_VAR_FLOAT), \
+ Ins(i_VAR_FLOAT_big), \
+ Ins(i_CONST_FLOAT), \
+ Ins(i_CONST_FLOAT_big), \
+ Ins(i_PACK_FLOAT), \
+ Ins(i_UNPACK_FLOAT), \
+ Ins(i_VAR_DOUBLE), \
+ Ins(i_VAR_DOUBLE_big), \
+ Ins(i_CONST_DOUBLE), \
+ Ins(i_CONST_DOUBLE_big), \
+ Ins(i_PACK_DOUBLE), \
+ Ins(i_UNPACK_DOUBLE), \
+ Ins(i_VAR_STABLE), \
+ Ins(i_VAR_STABLE_big), \
+ Ins(i_PACK_STABLE), \
+ Ins(i_UNPACK_STABLE), \
+ Ins(i_PRIMOP1), \
+ Ins(i_PRIMOP2), \
+ Ins(i_RV), \
+ Ins(i_RVE), \
+ Ins(i_SE), \
+ Ins(i_VV)
+
+#define BIGGEST_OPCODE ((int)(i_VV))
+
+#define Ins(x) x
+typedef enum { INSTRLIST } Instr;
+#undef Ins