aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-dis.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-03-23 02:56:24 +0000
committerSebastian Pop <sebastian.pop@amd.com>2010-03-23 02:56:24 +0000
commitce7d077ec0953ad038e16f4012e536bd83da998c (patch)
tree4c604c1d84e882e0c30731a30d416272dca0c8e6 /opcodes/i386-dis.c
parent405f531a1adee2510afa4490d08e8377c934966a (diff)
downloadgdb-ce7d077ec0953ad038e16f4012e536bd83da998c.zip
gdb-ce7d077ec0953ad038e16f4012e536bd83da998c.tar.gz
gdb-ce7d077ec0953ad038e16f4012e536bd83da998c.tar.bz2
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 96e4285..98d78f9 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);
-}
-