gas/
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 10 Jul 2005 16:54:01 +0000 (16:54 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 10 Jul 2005 16:54:01 +0000 (16:54 +0000)
2005-07-10  H.J. Lu  <hongjiu.lu@intel.com>

* config/tc-i386.c (optimize_disp): Optimize signed 32bit
displacements.

testsuite/gas/

2005-07-10  H.J. Lu  <hongjiu.lu@intel.com>

* i386/x86_64.s: Add absolute siged 32bit addressing tests for
mov.
* i386/x86_64.d: Updated.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/x86_64.d
gas/testsuite/gas/i386/x86_64.s

index 16f5072028f9b3ed36a18355c24936b4da7f002b..70435ef8b26a70a252e8f1f522c5c34fdf74d9e1 100644 (file)
@@ -1,3 +1,8 @@
+2005-07-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (optimize_disp): Optimize signed 32bit
+       displacements.
+
 2005-07-08  Ben Elliston  <bje@au.ibm.com>
 
        * frags.h: Remove ANSI_PROTOTYPES conditional code.
index 4b571942a096d9aee9bb16d8860896c238e17ac4..f5c42dfcc358b2d706a3a91ea4a7b4989cb303d7 100644 (file)
@@ -2108,7 +2108,10 @@ optimize_disp ()
            else if (flag_code == CODE_64BIT)
              {
                if (fits_in_signed_long (disp))
-                 i.types[op] |= Disp32S;
+                 {
+                   i.types[op] &= ~Disp64;
+                   i.types[op] |= Disp32S;
+                 }
                if (fits_in_unsigned_long (disp))
                  i.types[op] |= Disp32;
              }
index 5e3a1f0425692f6f8a2ac93b1e634cc77fe06893..052ea8368dcf370c4b256c7d4585af543c3e48bc 100644 (file)
@@ -1,3 +1,9 @@
+2005-07-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * i386/x86_64.s: Add absolute siged 32bit addressing tests for
+       mov.
+       * i386/x86_64.d: Updated.
+
 2005-07-08  Hans-Peter Nilsson  <hp@axis.com>
 
        PR gas/1049
 
        PR 1013
        * i386/x86_64.s: Add absolute 64bit addressing tests for mov.
-       * i386/x86_64.s: Updated.
+       * i386/x86_64.d: Updated.
 
 2005-06-17  Jan Beulich  <jbeulich@novell.com>
 
index 43b91321389267faa8be104650757977c0d381ad..2356570670c6490fa4a900c4b04e1644d22a54ae 100644 (file)
@@ -140,4 +140,20 @@ Disassembly of section .text:
  27e:  66 a3 11 22 33 44 55 66 77 88   mov[    ]+%ax,0x8877665544332211
  288:  a3 11 22 33 44 55 66 77 88      mov[    ]+%eax,0x8877665544332211
  291:  48 a3 11 22 33 44 55 66 77 88   mov[    ]+%rax,0x8877665544332211
+ 29b:  8a 04 25 11 22 33 ff    mov[    ]+0xffffffffff332211,%al
+ 2a2:  66 8b 04 25 11 22 33 ff         mov[    ]+0xffffffffff332211,%ax
+ 2aa:  8b 04 25 11 22 33 ff    mov[    ]+0xffffffffff332211,%eax
+ 2b1:  48 8b 04 25 11 22 33 ff         mov[    ]+0xffffffffff332211,%rax
+ 2b9:  88 04 25 11 22 33 ff    mov[    ]+%al,0xffffffffff332211
+ 2c0:  66 89 04 25 11 22 33 ff         mov[    ]+%ax,0xffffffffff332211
+ 2c8:  89 04 25 11 22 33 ff    mov[    ]+%eax,0xffffffffff332211
+ 2cf:  48 89 04 25 11 22 33 ff         mov[    ]+%rax,0xffffffffff332211
+ 2d7:  8a 04 25 11 22 33 ff    mov[    ]+0xffffffffff332211,%al
+ 2de:  66 8b 04 25 11 22 33 ff         mov[    ]+0xffffffffff332211,%ax
+ 2e6:  8b 04 25 11 22 33 ff    mov[    ]+0xffffffffff332211,%eax
+ 2ed:  48 8b 04 25 11 22 33 ff         mov[    ]+0xffffffffff332211,%rax
+ 2f5:  88 04 25 11 22 33 ff    mov[    ]+%al,0xffffffffff332211
+ 2fc:  66 89 04 25 11 22 33 ff         mov[    ]+%ax,0xffffffffff332211
+ 304:  89 04 25 11 22 33 ff    mov[    ]+%eax,0xffffffffff332211
+ 30b:  48 89 04 25 11 22 33 ff         mov[    ]+%rax,0xffffffffff332211
 #pass
index 812007ffae2143229489dd557cc9aa9385f19d54..3e5532ab297bafa18cd9b50f4b677c71bf1452e2 100644 (file)
@@ -170,5 +170,23 @@ movw %ax,0x8877665544332211
 movl %eax,0x8877665544332211
 movq %rax,0x8877665544332211
 
+#absolute signed 32bit addressing
+mov 0xffffffffff332211,%al
+mov 0xffffffffff332211,%ax
+mov 0xffffffffff332211,%eax
+mov 0xffffffffff332211,%rax
+mov %al,0xffffffffff332211
+mov %ax,0xffffffffff332211
+mov %eax,0xffffffffff332211
+mov %rax,0xffffffffff332211
+movb 0xffffffffff332211,%al
+movw 0xffffffffff332211,%ax
+movl 0xffffffffff332211,%eax
+movq 0xffffffffff332211,%rax
+movb %al,0xffffffffff332211
+movw %ax,0xffffffffff332211
+movl %eax,0xffffffffff332211
+movq %rax,0xffffffffff332211
+
 # Get a good alignment.
  .p2align      4,0