aboutsummaryrefslogtreecommitdiff
path: root/x86_64-asm.h
diff options
context:
space:
mode:
authorMichael Matz <matz@suse.de>2016-06-30 16:14:32 +0200
committerMichael Matz <matz@suse.de>2016-12-15 17:47:07 +0100
commit920474115c3182b19008598b0def86cb8fdf1318 (patch)
treea7f6d709703c9a514d45b508ce3df13dab4de8f2 /x86_64-asm.h
parent1a5eacb445a0116722e88e1a8a3e88e9d4127d2b (diff)
downloadtinycc-920474115c3182b19008598b0def86cb8fdf1318.tar.gz
tinycc-920474115c3182b19008598b0def86cb8fdf1318.tar.bz2
x86-64-asm: More opcodes
Implement some more opcodes, syscall, sysret, lfence, mfence, sfence.
Diffstat (limited to 'x86_64-asm.h')
-rw-r--r--x86_64-asm.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/x86_64-asm.h b/x86_64-asm.h
index cf67e69..a40b697 100644
--- a/x86_64-asm.h
+++ b/x86_64-asm.h
@@ -88,6 +88,9 @@ ALT(DEF_ASM_OP2(btcw, 0x0fba, 7, OPC_MODRM | OPC_WLX, OPT_IM8, OPT_REGW | OPT_EA
DEF_ASM_OP0(rdtsc, 0x0f31)
DEF_ASM_OP0(rdmsr, 0x0f32)
DEF_ASM_OP0(rdpmc, 0x0f33)
+
+ DEF_ASM_OP0(syscall, 0x0f05)
+ DEF_ASM_OP0(sysret, 0x0f07)
DEF_ASM_OP0(ud2, 0x0f0b)
/* NOTE: we took the same order as gas opcode definition order */
@@ -482,6 +485,9 @@ ALT(DEF_ASM_OP2(movhps, 0x0f17, 0, OPC_MODRM, OPT_SSE, OPT_EA | OPT_REG32 ))
DEF_ASM_OP2(sqrtps, 0x0f51, 0, OPC_MODRM, OPT_EA | OPT_SSE, OPT_SSE )
DEF_ASM_OP2(subps, 0x0f5c, 0, OPC_MODRM, OPT_EA | OPT_SSE, OPT_SSE )
+ DEF_ASM_OP0L(lfence, 0x0fae, 5, OPC_MODRM)
+ DEF_ASM_OP0L(mfence, 0x0fae, 6, OPC_MODRM)
+ DEF_ASM_OP0L(sfence, 0x0fae, 7, OPC_MODRM)
#undef ALT
#undef DEF_ASM_OP0
#undef DEF_ASM_OP0L