aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/asmtest.S14
-rw-r--r--x86_64-asm.h4
2 files changed, 14 insertions, 4 deletions
diff --git a/tests/asmtest.S b/tests/asmtest.S
index aed99ed..c9c9a70 100644
--- a/tests/asmtest.S
+++ b/tests/asmtest.S
@@ -672,13 +672,19 @@ int $0x10
lgdt 0x1000
lidt 0x1000
lldt 0x1000
- lmsw 0x1000
- lsl 0x1000, %ecx
- ltr 0x1000
-
sgdt 0x1000
sidt 0x1000
sldt 0x1000
+#ifdef __x86_64__
+ lgdtq 0x1000
+ lidtq 0x1000
+ sgdtq 0x1000
+ sidtq 0x1000
+#endif
+
+ lmsw 0x1000
+ lsl 0x1000, %ecx
+ ltr 0x1000
smsw 0x1000
str 0x1000
diff --git a/x86_64-asm.h b/x86_64-asm.h
index ef04d02..3820fe1 100644
--- a/x86_64-asm.h
+++ b/x86_64-asm.h
@@ -358,13 +358,17 @@ ALT(DEF_ASM_OP1(fstsw, 0xdd, 7, OPC_MODRM | OPC_FWAIT, OPT_EA ))
DEF_ASM_OP2(arpl, 0x63, 0, OPC_MODRM, OPT_REG16, OPT_REG16 | OPT_EA)
DEF_ASM_OP2(lar, 0x0f02, 0, OPC_MODRM, OPT_REG32 | OPT_EA, OPT_REG32)
DEF_ASM_OP1(lgdt, 0x0f01, 2, OPC_MODRM, OPT_EA)
+ DEF_ASM_OP1(lgdtq, 0x0f01, 2, OPC_MODRM, OPT_EA)
DEF_ASM_OP1(lidt, 0x0f01, 3, OPC_MODRM, OPT_EA)
+ DEF_ASM_OP1(lidtq, 0x0f01, 3, OPC_MODRM, OPT_EA)
DEF_ASM_OP1(lldt, 0x0f00, 2, OPC_MODRM, OPT_EA | OPT_REG)
DEF_ASM_OP1(lmsw, 0x0f01, 6, OPC_MODRM, OPT_EA | OPT_REG)
ALT(DEF_ASM_OP2(lslw, 0x0f03, 0, OPC_MODRM | OPC_WLX, OPT_EA | OPT_REG, OPT_REG))
DEF_ASM_OP1(ltr, 0x0f00, 3, OPC_MODRM, OPT_EA | OPT_REG)
DEF_ASM_OP1(sgdt, 0x0f01, 0, OPC_MODRM, OPT_EA)
+ DEF_ASM_OP1(sgdtq, 0x0f01, 0, OPC_MODRM, OPT_EA)
DEF_ASM_OP1(sidt, 0x0f01, 1, OPC_MODRM, OPT_EA)
+ DEF_ASM_OP1(sidtq, 0x0f01, 1, OPC_MODRM, OPT_EA)
DEF_ASM_OP1(sldt, 0x0f00, 0, OPC_MODRM, OPT_REG | OPT_EA)
DEF_ASM_OP1(smsw, 0x0f01, 4, OPC_MODRM, OPT_REG | OPT_EA)
DEF_ASM_OP1(str, 0x0f00, 1, OPC_MODRM, OPT_REG16| OPT_EA)