aboutsummaryrefslogtreecommitdiff
path: root/opcodes
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes')
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/i386-dis.c8
-rw-r--r--opcodes/i386-opc.c6
3 files changed, 17 insertions, 4 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index afdba13..60eed94 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,10 @@
+2007-05-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-dis.c (CRC32_Fixup): Don't print suffix in Intel mode.
+
+ * i386-opc.c (i386_optab): Remove IgnoreSize and correct operand
+ type for crc32.
+
2007-05-01 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (CRC32_Fixup): Properly handle Intel mode and
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 2f26e06..b74a51e 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -6384,14 +6384,20 @@ CRC32_Fixup (int bytemode, int sizeflag)
switch (bytemode)
{
case b_mode:
+ if (intel_syntax)
+ break;
+
*p++ = 'b';
break;
case v_mode:
+ if (intel_syntax)
+ break;
+
USED_REX (REX_W);
if (rex & REX_W)
*p++ = 'q';
else if (sizeflag & DFLAG)
- *p++ = intel_syntax ? 'd' : 'l';
+ *p++ = 'l';
else
*p++ = 'w';
used_prefixes |= (prefixes & PREFIX_DATA);
diff --git a/opcodes/i386-opc.c b/opcodes/i386-opc.c
index e03152c..b0f4884 100644
--- a/opcodes/i386-opc.c
+++ b/opcodes/i386-opc.c
@@ -1444,10 +1444,10 @@ const template i386_optab[] =
{"pcmpistrm", 3, 0x660f3a62,X, CpuSSE4_2, NoSuf|IgnoreSize|Modrm, { Imm8, RegXMM|LLongMem, RegXMM } },
/* We put non-8bit version before 8bit so that crc32 with memory operand
defaults to non-8bit. */
-{"crc32", 2, 0xf20f38f1,X, CpuSSE4_2, wl_Suf|Modrm, { WordReg|WordMem, Reg32, 0 } },
-{"crc32", 2, 0xf20f38f1,X, CpuSSE4_2|Cpu64, q_Suf|IgnoreSize|Modrm|Rex64, { Reg64|LLongMem, Reg64, 0 } },
+{"crc32", 2, 0xf20f38f1,X, CpuSSE4_2, wl_Suf|Modrm, { Reg16|Reg32|ShortMem|LongMem, Reg32, 0 } },
+{"crc32", 2, 0xf20f38f1,X, CpuSSE4_2|Cpu64, q_Suf|Modrm|Rex64, { Reg64|LLongMem, Reg64, 0 } },
{"crc32", 2, 0xf20f38f0,X, CpuSSE4_2, b_Suf|Modrm, { Reg8|ByteMem, Reg32, 0 } },
-{"crc32", 2, 0xf20f38f0,X, CpuSSE4_2|Cpu64, b_Suf|IgnoreSize|Modrm|Rex64, { Reg8|ByteMem, Reg64, 0 } },
+{"crc32", 2, 0xf20f38f0,X, CpuSSE4_2|Cpu64, b_Suf|Modrm|Rex64, { Reg8|ByteMem, Reg64, 0 } },
/* AMD 3DNow! instructions. */