gas/testsuite/
authorJan Beulich <jbeulich@novell.com>
Wed, 26 Sep 2007 13:42:14 +0000 (13:42 +0000)
committerJan Beulich <jbeulich@novell.com>
Wed, 26 Sep 2007 13:42:14 +0000 (13:42 +0000)
2007-09-26  Jan Beulich  <jbeulich@novell.com>

* gas/i386/x86-64-addr32.d: Adjust expectations.

opcodes/
2007-09-26  Jan Beulich  <jbeulich@novell.com>

* i386-dis.c (OP_E_extended): Distinguish rip- and eip-
relative addressing. Update used_prefixes based on whether any
base or index register was printed.

gas/testsuite/ChangeLog
gas/testsuite/gas/i386/x86-64-addr32.d
opcodes/ChangeLog
opcodes/i386-dis.c

index fa691771b81b7668065ed7c1bdd86be0d92a4310..a84293ea75be154f9dd24b13d947daeb7ed4a314 100644 (file)
@@ -1,3 +1,7 @@
+2007-09-26  Jan Beulich  <jbeulich@novell.com>
+
+       * gas/i386/x86-64-addr32.d: Adjust expectations.
+
 2007-09-26  Jan Beulich  <jbeulich@novell.com>
 
        * gas/i386/reloc64.s: Adjust for %eip-relative addressing no
index c08f382553bacd56aa53553d554d17d0f5b61255..82b3575bc4089cd1b21c2e06cf66086203f5d635 100644 (file)
@@ -7,9 +7,9 @@
 Disassembly of section .text:
 
 0+000 <.text>:
-[       ]*0:[   ]+67 48 8d 80 00 00 00 00[      ]+addr32[       ]+lea[         ]+0x0\(%[re]ax\),%rax.*
-[       ]*8:[   ]+67 49 8d 80 00 00 00 00[      ]+addr32[       ]+lea[         ]+0x0\(%r8d?\),%rax.*
-[       ]*10:[  ]+67 48 8d 05 00 00 00 00[      ]+addr32[       ]+lea[         ]+0x0\(%[re]ip\),%rax.*
+[       ]*0:[   ]+67 48 8d 80 00 00 00 00[      ]+(addr32[      ]+)?lea[       ]+0x0\(%eax\),%rax.*
+[       ]*8:[   ]+67 49 8d 80 00 00 00 00[      ]+(addr32[      ]+)?lea[       ]+0x0\(%r8d\),%rax.*
+[       ]*10:[  ]+67 48 8d 05 00 00 00 00[      ]+(addr32[      ]+)?lea[       ]+0x0\(%eip\),%rax.*
 [       ]*18:[  ]+67 48 8d 04 25 00 00 00 00[   ]+addr32[       ]+lea[         ]+0x0,%rax.*
 [       ]*21:[  ]+67 a0 98 08 60 00[    ]+addr32[       ]+mov[         ]+0x600898,%al
 [       ]*27:[  ]+67 66 a1 98 08 60 00[         ]+addr32[       ]+mov[         ]+0x600898,%ax
index cada41096fda98c962dd7d131f0d40c07c8ca279..c8e55e8a6c2fdb18c51e0d6b1771d8ad01d4711a 100644 (file)
@@ -1,3 +1,9 @@
+2007-09-26  Jan Beulich  <jbeulich@novell.com>
+
+       * i386-dis.c (OP_E_extended): Distinguish rip- and eip-
+       relative addressing. Update used_prefixes based on whether any
+       base or index register was printed.
+
 2007-09-26  Jan Beulich  <jbeulich@novell.com>
 
        * i386-opc.h (RegEip): Define.
index ecb428fd8fc6f8650ea966a19607b768b301cb1f..e66875e44c8c67fa2a5254cd936f7d231393e8e7 100644 (file)
@@ -6390,17 +6390,20 @@ OP_E_extended (int bytemode, int sizeflag, int has_drex)
            if (riprel)
              {
                set_op (disp, 1);
-               oappend ("(%rip)");
+               oappend (sizeflag & AFLAG ? "(%rip)" : "(%eip)");
              }
          }
 
+      if (havebase || haveindex || riprel)
+       used_prefixes |= PREFIX_ADDR;
+
       if (havedisp || (intel_syntax && riprel))
        {
          *obufp++ = open_char;
          if (intel_syntax && riprel)
            {
              set_op (disp, 1);
-             oappend ("rip");
+             oappend (sizeflag & AFLAG ? "rip" : "eip");
            }
          *obufp = '\0';
          if (havebase)