summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Johnson <peter@tortall.net>2010-06-16 05:22:17 +0000
committerPeter Johnson <peter@tortall.net>2010-06-16 05:22:17 +0000
commitff8d0e090929af2d3ea8a885af65b57794884626 (patch)
tree53c79d36dbbb0da548f5a47c03d8fae8d09d143b
parentd190d9dfa598dc7b82f7814c5f7e13438fe0b0ed (diff)
downloadyasm-ff8d0e090929af2d3ea8a885af65b57794884626.tar.gz
Fix #207: Don't emit unnecessary REX.W for pinsrw.
svn path=/trunk/yasm/; revision=2334
-rwxr-xr-xmodules/arch/x86/gen_x86_insn.py3
-rw-r--r--modules/arch/x86/tests/gas64/gas-moreinsn.hex6
2 files changed, 6 insertions, 3 deletions
diff --git a/modules/arch/x86/gen_x86_insn.py b/modules/arch/x86/gen_x86_insn.py
index 19bc74f2..10d70676 100755
--- a/modules/arch/x86/gen_x86_insn.py
+++ b/modules/arch/x86/gen_x86_insn.py
@@ -4851,6 +4851,7 @@ add_group("pinsrw",
suffix="q",
cpu=["MMX", "P3"],
notavx=True,
+ def_opersize_64=64,
opersize=64,
opcode=[0x0F, 0xC4],
operands=[Operand(type="SIMDReg", size=64, dest="Spare"),
@@ -4877,6 +4878,7 @@ add_group("pinsrw",
suffix="q",
cpu=["SSE2"],
modifiers=["SetVEX"],
+ def_opersize_64=64,
opersize=64,
prefix=0x66,
opcode=[0x0F, 0xC4],
@@ -4906,6 +4908,7 @@ add_group("pinsrw",
suffix="q",
cpu=["AVX"],
vex=128,
+ def_opersize_64=64,
opersize=64,
prefix=0x66,
opcode=[0x0F, 0xC4],
diff --git a/modules/arch/x86/tests/gas64/gas-moreinsn.hex b/modules/arch/x86/tests/gas64/gas-moreinsn.hex
index 399c179a..2380a1fd 100644
--- a/modules/arch/x86/tests/gas64/gas-moreinsn.hex
+++ b/modules/arch/x86/tests/gas64/gas-moreinsn.hex
@@ -208,7 +208,6 @@ c1
c4
c0
05
-48
0f
c4
c8
@@ -219,7 +218,6 @@ c4
c0
05
66
-48
0f
c4
c8
@@ -287,6 +285,8 @@ df
00
00
00
+00
+00
2e
74
65
@@ -686,7 +686,7 @@ ff
00
00
00
-e0
+de
00
00
00