summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/opcode/ChangeLog4
-rw-r--r--include/opcode/i386.h6
2 files changed, 9 insertions, 1 deletions
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index edc00fa6d..13c3b4056 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,5 +1,9 @@
2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
+ * i386.h (i386_optab): Add "nop" with memory reference.
+
+2006-06-12 H.J. Lu <hongjiu.lu@intel.com>
+
* i386.h (i386_optab): Update comment for 64bit NOP.
2006-06-06 Ben Elliston <bje@au.ibm.com>
diff --git a/include/opcode/i386.h b/include/opcode/i386.h
index c46c86d4c..76b5172ef 100644
--- a/include/opcode/i386.h
+++ b/include/opcode/i386.h
@@ -555,7 +555,11 @@ static const template i386_optab[] =
{"bound", 2, 0x62, X, Cpu186|CpuNo64, wl_Suf|Modrm, { WordReg, WordMem, 0} },
{"hlt", 0, 0xf4, X, 0, NoSuf, { 0, 0, 0} },
-/* nop is actually 'xchgl %eax, %eax'. */
+
+{"nop", 1, 0x0f1f, X, Cpu686, wl_Suf|Modrm, { WordMem, 0, 0} },
+
+/* nop is actually "xchg %ax,%ax" in 16bit mode, "xchg %eax,%eax" in
+ 32bit mode and "xchg %rax,%rax" in 64bit mode. */
{"nop", 0, 0x90, X, 0, NoSuf, { 0, 0, 0} },
/* Protection control. */