--- /dev/null
+// Pseudo-operations.
+
+LABEL (jump_abs_L7)
+LABEL (enter_function_L1)
+
+LABEL (debug_step)
+
+LABEL (args_stack_call_stub_discard)
+LABEL (args_stack_call_stub_addr)
+LABEL (args_stack_call_stub_local)
+LABEL (args_stack_call_stub_stack)
+
+LABEL (args_stack)
+LABEL (args_0)
+LABEL (args_1)
+LABEL (args_2)
+LABEL (args_3)
+
+LABEL (call_stub_discard)
+LABEL (call_stub_addr)
+LABEL (call_stub_local)
+LABEL (call_stub_stack)
+
+LABEL (catch_stub_discard)
+LABEL (catch_stub_addr)
+LABEL (catch_stub_local)
+LABEL (catch_stub_stack)
+
+LABEL (save_stub_discard)
+LABEL (save_stub_addr)
+LABEL (save_stub_local)
+LABEL (save_stub_stack)
+
+LABEL (undo_stub_discard)
+LABEL (undo_stub_addr)
+LABEL (undo_stub_local)
+LABEL (undo_stub_stack)
+
+LABEL (tailcall)
+LABEL (throw)
+
+// Loading and storing registers.
+
+#define LOAD_LABELS(tag) \
+ LABEL (L1_ ## tag) \
+ LABEL (L2_ ## tag) \
+ LABEL (L3_ ## tag) \
+ LABEL (L4_ ## tag) \
+ LABEL (L5_ ## tag) \
+ LABEL (L6_ ## tag) \
+ LABEL (L7_ ## tag) \
+ LABEL (L1_const_L2_ ## tag) \
+ LABEL (L1_stack_L2_ ## tag) \
+ LABEL (L1_local_L2_ ## tag) \
+ LABEL (L1_addr_L2_ ## tag)
+
+#define STORE_LABELS(tag) \
+ LABEL (S1_ ## tag) \
+ LABEL (S2_ ## tag)
+
+LOAD_LABELS(const)
+LOAD_LABELS(stack)
+LOAD_LABELS(local)
+LOAD_LABELS(addr)
+
+STORE_LABELS(stack)
+STORE_LABELS(local)
+STORE_LABELS(addr)
+
+LABEL(L1_addr16)
+LABEL(L1_addr8)
+
+LABEL(S1_addr16)
+LABEL(S1_addr8)
+
+#undef LOAD_LABELS
+#undef STORE_LABELS
+
+// Labels corresponding to glulx opcodes.
+
+LABEL (nop)
+
+#define PEEPHOLE_STORE_LABELS(tag) \
+ LABEL (add ## tag) \
+ LABEL (sub ## tag) \
+ LABEL (mul ## tag) \
+ LABEL (div ## tag) \
+ LABEL (mod ## tag) \
+ LABEL (neg ## tag) \
+ LABEL (bitand ## tag) \
+ LABEL (bitor ## tag) \
+ LABEL (bitxor ## tag) \
+ LABEL (bitnot ## tag) \
+ LABEL (shiftl ## tag) \
+ LABEL (sshiftr ## tag) \
+ LABEL (ushiftr ## tag) \
+ LABEL (copys ## tag) \
+ LABEL (copyb ## tag) \
+ LABEL (sexs ## tag) \
+ LABEL (sexb ## tag) \
+ LABEL (aload ## tag) \
+ LABEL (aloads ## tag) \
+ LABEL (aloadb ## tag) \
+ LABEL (aloadbit ## tag)
+
+PEEPHOLE_STORE_LABELS(_discard)
+PEEPHOLE_STORE_LABELS(_S1_stack)
+PEEPHOLE_STORE_LABELS(_S1_local)
+PEEPHOLE_STORE_LABELS(_S1_addr)
+
+#define PEEPHOLE_LOAD_LABELS(tag) \
+ LABEL (return_L1_ ## tag) \
+ LABEL (astore_L3_ ## tag) \
+ LABEL (astores_L3_ ## tag) \
+ LABEL (astoreb_L3_ ## tag) \
+ LABEL (astorebit_L3_ ## tag)
+
+PEEPHOLE_LOAD_LABELS(const)
+PEEPHOLE_LOAD_LABELS(stack)
+PEEPHOLE_LOAD_LABELS(addr)
+PEEPHOLE_LOAD_LABELS(local)
+
+LABEL (return)
+LABEL (astore)
+LABEL (astores)
+LABEL (astoreb)
+LABEL (astorebit)
+
+#undef PEEPHOLE_STORE_LABELS
+
+#define BRANCH_LABELS(tag) \
+ LABEL (jump ## tag) \
+ LABEL (jz ## tag) \
+ LABEL (jnz ## tag) \
+ LABEL (jeq ## tag) \
+ LABEL (jne ## tag) \
+ LABEL (jlt ## tag) \
+ LABEL (jge ## tag) \
+ LABEL (jgt ## tag) \
+ LABEL (jle ## tag) \
+ LABEL (jltu ## tag) \
+ LABEL (jgeu ## tag) \
+ LABEL (jgtu ## tag) \
+ LABEL (jleu ## tag)
+
+BRANCH_LABELS(_var)
+BRANCH_LABELS(_const)
+BRANCH_LABELS(_by)
+BRANCH_LABELS(_return0)
+BRANCH_LABELS(_return1)
+
+LABEL (stkcount)
+LABEL (stkpeek)
+LABEL (stkswap)
+LABEL (stkroll)
+LABEL (stkcopy)
+
+LABEL (streamchar)
+LABEL (streamnum)
+LABEL (streamstr)
+LABEL (streamunichar)
+
+LABEL (gestalt)
+LABEL (debugtrap)
+LABEL (getmemsize)
+LABEL (setmemsize)
+LABEL (jumpabs)
+
+LABEL (random)
+LABEL (setrandom)
+
+LABEL (quit)
+LABEL (verify)
+LABEL (restart)
+LABEL (restore)
+LABEL (restoreundo)
+LABEL (protect)
+
+LABEL (glk)
+
+LABEL (getstringtbl)
+LABEL (setstringtbl)
+LABEL (getiosys)
+LABEL (setiosys)
+
+LABEL (linearsearch)
+LABEL (binarysearch)
+LABEL (linkedsearch)
+
+LABEL (mzero)
+LABEL (mcopy)
+LABEL (malloc)
+LABEL (mfree)
+
+LABEL (accelfunc)
+LABEL (accelparam)
+
+LABEL (git_setcacheram)
+LABEL (git_prunecache)
+
+LABEL (error_bad_opcode)
+LABEL (recompile)
+
+// No more labels to define.
+#undef LABEL