aboutsummaryrefslogtreecommitdiff
path: root/i386-asm.h
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-05-15 18:46:05 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:47:05 +0100
commitbde802df2993cb97c7522e2f50b488e682b231b7 (patch)
tree3088806591a46c1b3d4544504a010d6f24573bae /i386-asm.h
parent4af6e087dde9a2048419219bc4b7e6efff0e17bf (diff)
downloadtinycc-bde802df2993cb97c7522e2f50b488e682b231b7.tar.gz
tinycc-bde802df2993cb97c7522e2f50b488e682b231b7.tar.bz2
x86-asm: Reorganize instr_type
Disjoint instruction types don't need to be a bit field, so introduce an enumeration (3 bits). Also the 0x0f prefix can be expressed by a bit, doesn't need a byte in the opcode field. That enables to encode further prefixes still in 16 bit. To not have to touch all insns do some macro fiddling filtering out a 0x0f byte in the second position.
Diffstat (limited to 'i386-asm.h')
-rw-r--r--i386-asm.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/i386-asm.h b/i386-asm.h
index f801707..99334b7 100644
--- a/i386-asm.h
+++ b/i386-asm.h
@@ -221,7 +221,7 @@ ALT(DEF_ASM_OP1(ret, 0xc2, 0, 0, OPT_IM16))
DEF_ASM_OP0(lret, 0xcb)
ALT(DEF_ASM_OP1(lret, 0xca, 0, 0, OPT_IM16))
-ALT(DEF_ASM_OP1(jo, 0x70, 0, OPC_SHORTJMP | OPC_JMP | OPC_TEST, OPT_ADDR))
+ALT(DEF_ASM_OP1(jo, 0x70, 0, OPC_SHORTJMP | OPC_JMP_TEST, OPT_ADDR))
DEF_ASM_OP1(loopne, 0xe0, 0, OPC_SHORTJMP, OPT_ADDR)
DEF_ASM_OP1(loopnz, 0xe0, 0, OPC_SHORTJMP, OPT_ADDR)
DEF_ASM_OP1(loope, 0xe1, 0, OPC_SHORTJMP, OPT_ADDR)