From 5d5ad1d91c0707d03dbd7d24bbefb495cc76c02c Mon Sep 17 00:00:00 2001 From: Peter Johnson Date: Mon, 27 Jun 2011 23:48:28 -0700 Subject: [PATCH] Allow 64-bit LFS/LGS/LSS. [#229 state:resolved] --- modules/arch/x86/gen_x86_insn.py | 2 +- modules/arch/x86/tests/Makefile.inc | 2 ++ modules/arch/x86/tests/lfs64.asm | 10 +++++++++ modules/arch/x86/tests/lfs64.hex | 33 +++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 modules/arch/x86/tests/lfs64.asm create mode 100644 modules/arch/x86/tests/lfs64.hex diff --git a/modules/arch/x86/gen_x86_insn.py b/modules/arch/x86/gen_x86_insn.py index a91e4e1e..b0c26465 100755 --- a/modules/arch/x86/gen_x86_insn.py +++ b/modules/arch/x86/gen_x86_insn.py @@ -1729,7 +1729,7 @@ for sfx, sz in zip("wl", [16, 32]): 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 8058f2d8..cb2377fc 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.asm 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 00000000..5ee04760 --- /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 00000000..8eb71864 --- /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 -- 2.49.0