OSDN Git Service

gas/testsuite/
authorH.J. Lu <hjl@lucon.org>
Mon, 12 Jun 2006 18:59:37 +0000 (18:59 +0000)
committerH.J. Lu <hjl@lucon.org>
Mon, 12 Jun 2006 18:59:37 +0000 (18:59 +0000)
2006-06-12  H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/i386.exp: Run nops and x86-64-nops.

* gas/i386/nops.d: New file.
* gas/i386/nops.s: Likewise.
* gas/i386/x86-64-nops.d: Likewise.
* gas/i386/x86-64-nops.s: Likewise.

include/opcode/

2006-06-12  H.J. Lu  <hongjiu.lu@intel.com>

* i386.h (i386_optab): Add "nop" with memory reference.

opcodes/

2006-06-12  H.J. Lu  <hongjiu.lu@intel.com>

* i386-dis.c (dis386_twobyte): Use "nopQ" for 0x1f.
(twobyte_has_modrm): Set 1 for 0x1f.

include/opcode/ChangeLog
include/opcode/i386.h
opcodes/ChangeLog
opcodes/i386-dis.c

index edc00fa..13c3b40 100644 (file)
@@ -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>
index c46c86d..76b5172 100644 (file)
@@ -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.  */
index 826c54e..b8eea11 100644 (file)
@@ -1,5 +1,10 @@
 2006-06-12  H.J. Lu  <hongjiu.lu@intel.com>
 
+       * i386-dis.c (dis386_twobyte): Use "nopQ" for 0x1f.
+       (twobyte_has_modrm): Set 1 for 0x1f.
+
+2006-06-12  H.J. Lu  <hongjiu.lu@intel.com>
+
        * i386-dis.c (NOP_Fixup): Removed.
        (NOP_Fixup1): New.
        (NOP_Fixup2): Likewise.
index 49a3e9f..40be226 100644 (file)
@@ -843,7 +843,7 @@ static const struct dis386 dis386_twobyte[] = {
   { "(bad)",           XX, XX, XX },
   { "(bad)",           XX, XX, XX },
   { "(bad)",           XX, XX, XX },
-  { "(bad)",           XX, XX, XX },
+  { "nopQ",            Ev, XX, XX },
   /* 20 */
   { "movZ",            Rm, Cm, XX },
   { "movZ",            Rm, Dm, XX },
@@ -1125,7 +1125,7 @@ static const unsigned char twobyte_has_modrm[256] = {
   /*       0 1 2 3 4 5 6 7 8 9 a b c d e f        */
   /*       -------------------------------        */
   /* 00 */ 1,1,1,1,0,0,0,0,0,0,0,0,0,1,0,1, /* 0f */
-  /* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0, /* 1f */
+  /* 10 */ 1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1, /* 1f */
   /* 20 */ 1,1,1,1,1,0,1,0,1,1,1,1,1,1,1,1, /* 2f */
   /* 30 */ 0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0, /* 3f */
   /* 40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 4f */