summaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorspop <spop>2010-03-23 02:56:23 +0000
committerspop <spop>2010-03-23 02:56:23 +0000
commita0362181e6cb7d48191222ff5deb9ba837addfe4 (patch)
treecbdad16c93f982dbfcec817829e98d0e827aa59c /opcodes/i386-dis.c
parentc9f5bdceabc3e6b551efe5765e5be0323dfeac08 (diff)
downloadbinutils-redhat-a0362181e6cb7d48191222ff5deb9ba837addfe4.tar.gz
2010-03-22 Sebastian Pop <sebastian.pop@amd.com>
Quentin Neill <quentin.neill@amd.com> opcodes/ * i386-dis.c (OP_LWP_I): Removed. (reg_table): Do not use OP_LWP_I, use Iq. (OP_LWPCB_E): Remove use of names16. (OP_LWP_E): Same. * i386-opc.tbl: Removed 16bit LWP insns. 32bit LWP insns should not set the Vex.length bit. * i386-tbl.h: Regenerated. gas/ * testsuite/gas/i386/x86-64-lwp.s: Remove use of 16bit LWP insns. * testsuite/gas/i386/lwp.s: Same. * testsuite/gas/i386/x86-64-lwp.d: Updated. * testsuite/gas/i386/lwp.d: Updated.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r--opcodes/i386-dis.c22
1 files changed, 4 insertions, 18 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 96e42854dc..98d78f9dc7 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -114,7 +114,6 @@ static void CRC32_Fixup (int, int);
static void FXSAVE_Fixup (int, int);
static void OP_LWPCB_E (int, int);
static void OP_LWP_E (int, int);
-static void OP_LWP_I (int, int);
static void OP_Vex_2src_1 (int, int);
static void OP_Vex_2src_2 (int, int);
@@ -2744,8 +2743,8 @@ static const struct dis386 reg_table[][8] = {
},
/* REG_XOP_LWP */
{
- { "lwpins", { { OP_LWP_E, 0 }, Ed, { OP_LWP_I, 0 } } },
- { "lwpval", { { OP_LWP_E, 0 }, Ed, { OP_LWP_I, 0 } } },
+ { "lwpins", { { OP_LWP_E, 0 }, Ed, Iq } },
+ { "lwpval", { { OP_LWP_E, 0 }, Ed, Iq } },
},
};
@@ -14977,10 +14976,8 @@ OP_LWPCB_E (int bytemode ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED)
if (vex.w)
names = names64;
- else if (vex.length == 256)
- names = names32;
else
- names = names16;
+ names = names32;
reg = modrm.rm;
USED_REX (REX_B);
@@ -14997,20 +14994,9 @@ OP_LWP_E (int bytemode ATTRIBUTE_UNUSED, int sizeflag ATTRIBUTE_UNUSED)
if (vex.w)
names = names64;
- else if (vex.length == 256)
- names = names32;
else
- names = names16;
+ names = names32;
oappend (names[vex.register_specifier]);
}
-static void
-OP_LWP_I (int bytemode ATTRIBUTE_UNUSED, int sizeflag)
-{
- if (vex.w || vex.length == 256)
- OP_I (q_mode, sizeflag);
- else
- OP_I (w_mode, sizeflag);
-}
-