------- Comment #6 from mikpe at it dot uu dot se  2010-09-08 12:24 -------
The smallest .o file that differs between stage2 and stage3 is sreal.o. Diffing
the objdump -d output shows:

@@ -1,5 +1,5 @@

-stage2-gcc/sreal.o:     file format elf32-littlearm
+stage3-gcc/sreal.o:     file format elf32-littlearm


 Disassembly of section .text:
@@ -19,7 +19,7 @@
   2c:  01520004        cmpeq   r2, r4
   30:  3a000011        bcc     7c <normalize.isra.1+0x7c>
   34:  e5911000        ldr     r1, [r1]
-  38:  e0944004        adds    r4, r4, r4
+  38:  e1b04084        lsls    r4, r4, #1
   3c:  e0a55005        adc     r5, r5, r5
   40:  e1530005        cmp     r3, r5
   44:  01520004        cmpeq   r2, r4

That is, a single adds became an lsls instead.

cfgloopanal.o and tree-ssa-loop-ivcanon.o show the exact same one-instruction
adds-became-lsls difference.

double-int.o has more elaborate differences:

@@ -1,5 +1,5 @@

-stage2-gcc/double-int.o:     file format elf32-littlearm
+stage3-gcc/double-int.o:     file format elf32-littlearm


 Disassembly of section .text:
@@ -427,13 +427,13 @@
      674:      e1a0c33c        lsr     ip, ip, r3
      678:      e58d4018        str     r4, [sp, #24]
      67c:      e58d2020        str     r2, [sp, #32]
-     680:      e1cd21d8        ldrd    r2, [sp, #24]
-     684:      e0922002        adds    r2, r2, r2
-     688:      e58d5024        str     r5, [sp, #36]   ; 0x24
+     680:      e58d5024        str     r5, [sp, #36]   ; 0x24
+     684:      e1cd21d8        ldrd    r2, [sp, #24]
+     688:      e1b02082        lsls    r2, r2, #1
      68c:      e0a33003        adc     r3, r3, r3
-     690:      e1cd02d0        ldrd    r0, [sp, #32]
-     694:      e1822000        orr     r2, r2, r0
-     698:      e1833001        orr     r3, r3, r1
+     690:      e1cd42d0        ldrd    r4, [sp, #32]
+     694:      e1822004        orr     r2, r2, r4
+     698:      e1833005        orr     r3, r3, r5
      69c:      e58ab000        str     fp, [sl]
      6a0:      e58ac004        str     ip, [sl, #4]
      6a4:      e1c820f0        strd    r2, [r8]

I'll try to extract a test case from one of these.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45445

Reply via email to