Allow 64-bit LFS/LGS/LSS.
[#229 state:resolved]
diff --git a/modules/arch/x86/gen_x86_insn.py b/modules/arch/x86/gen_x86_insn.py
index a91e4e1..b0c2646 100755
--- a/modules/arch/x86/gen_x86_insn.py
+++ b/modules/arch/x86/gen_x86_insn.py
@@ -1729,7 +1729,7 @@
add_insn("lds", "ldes", modifiers=[0xC5])
add_insn("les", "ldes", modifiers=[0xC4])
-for sfx, sz in zip("wl", [16, 32]):
+for sfx, sz in zip("wlq", [16, 32, 64]):
add_group("lfgss",
suffix=sfx,
cpu=["386"],
diff --git a/modules/arch/x86/tests/Makefile.inc b/modules/arch/x86/tests/Makefile.inc
index 8058f2d..cb2377f 100644
--- a/modules/arch/x86/tests/Makefile.inc
+++ b/modules/arch/x86/tests/Makefile.inc
@@ -99,6 +99,8 @@
EXTRA_DIST += modules/arch/x86/tests/larlsl.hex
EXTRA_DIST += modules/arch/x86/tests/lds.asm
EXTRA_DIST += modules/arch/x86/tests/lds.hex
+EXTRA_DIST += modules/arch/x86/tests/lfs64.asm
+EXTRA_DIST += modules/arch/x86/tests/lfs64.hex
EXTRA_DIST += modules/arch/x86/tests/loopadsz.asm
EXTRA_DIST += modules/arch/x86/tests/loopadsz.hex
EXTRA_DIST += modules/arch/x86/tests/lsahf.asm
diff --git a/modules/arch/x86/tests/lfs64.asm b/modules/arch/x86/tests/lfs64.asm
new file mode 100644
index 0000000..5ee0476
--- /dev/null
+++ b/modules/arch/x86/tests/lfs64.asm
@@ -0,0 +1,10 @@
+[bits 64]
+lfs ax, [rbx]
+lfs eax, [rbx]
+lfs rax, [rbx]
+lgs ax, [rbx]
+lgs eax, [rbx]
+lgs rax, [rbx]
+lss ax, [rbx]
+lss eax, [rbx]
+lss rax, [rbx]
diff --git a/modules/arch/x86/tests/lfs64.hex b/modules/arch/x86/tests/lfs64.hex
new file mode 100644
index 0000000..8eb7186
--- /dev/null
+++ b/modules/arch/x86/tests/lfs64.hex
@@ -0,0 +1,33 @@
+66
+0f
+b4
+03
+0f
+b4
+03
+48
+0f
+b4
+03
+66
+0f
+b5
+03
+0f
+b5
+03
+48
+0f
+b5
+03
+66
+0f
+b2
+03
+0f
+b2
+03
+48
+0f
+b2
+03