diff --git a/tests/asmtest.S b/tests/asmtest.S index dbc6c15a..c19db064 100644 --- a/tests/asmtest.S +++ b/tests/asmtest.S @@ -535,6 +535,9 @@ cmpxchgw %ax, 0x1000 cmpxchgl %eax, 0x1000 invlpg 0x1000 cmpxchg8b 0x1002 +#ifdef __x86_64__ +cmpxchg16b (%rax) +#endif fcmovb %st(5), %st fcmove %st(5), %st diff --git a/x86_64-asm.h b/x86_64-asm.h index 4db32687..675e7df8 100644 --- a/x86_64-asm.h +++ b/x86_64-asm.h @@ -394,6 +394,9 @@ ALT(DEF_ASM_OP2(cmpxchgb, 0x0fb0, 0, OPC_MODRM | OPC_BWLX, OPT_REG, OPT_REG | OP /* pentium */ DEF_ASM_OP1(cmpxchg8b, 0x0fc7, 1, OPC_MODRM, OPT_EA ) + /* AMD 64 */ + DEF_ASM_OP1(cmpxchg16b, 0x480fc7, 1, OPC_MODRM, OPT_EA ) + /* pentium pro */ ALT(DEF_ASM_OP2(cmovo, 0x0f40, 0, OPC_MODRM | OPC_TEST | OPC_WLX, OPT_REGW | OPT_EA, OPT_REGW))