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

--- Comment #3 from Uros Bizjak <ubizjak at gmail dot com> 2012-08-11 13:02:18 
UTC ---
Strange, there is no difference between
r190228.i.150t.optimized and r190229.i.150t.optimized,

but:

--- r190228.i.152r.vregs        2012-08-11 14:53:20.000000000 +0200
+++ r190229.i.152r.vregs        2012-08-11 14:53:26.000000000 +0200
@@ -1,88 +1,72 @@

 ;; Function test (test, funcdef_no=0, decl_uid=1378, cgraph_uid=0)

-(note 1 0 8 NOTE_INSN_DELETED)
+(note 1 0 4 NOTE_INSN_DELETED)
 ;; basic block 2, loop depth 0, count 0, freq 10000, maybe hot
 ;;  prev block 0, next block 4, flags: (NEW, REACHABLE, RTL, MODIFIED)
 ;;  pred:       ENTRY [100.0%]  (FALLTHRU)
-(note 8 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
-(insn 2 8 3 2 (set (mem/c:DI (plus:DI (reg/f:DI 31 AP)
-                (const_int 56 [0x38])) [0 S8 A8])
-        (reg:DI 17 $17)) 20041113-1.c:4 236 {*movdi}
-     (nil))
-(insn 3 2 4 2 (set (mem/c:DI (plus:DI (reg/f:DI 31 AP)
-                (const_int 64 [0x40])) [0 S8 A8])
-        (reg:DI 18 $18)) 20041113-1.c:4 236 {*movdi}
-     (nil))
-(insn 4 3 5 2 (set (mem/c:DI (plus:DI (reg/f:DI 31 AP)
-                (const_int 72 [0x48])) [0 S8 A8])
-        (reg:DI 19 $19)) 20041113-1.c:4 236 {*movdi}
-     (nil))
-(insn 5 4 6 2 (set (mem/c:DI (plus:DI (reg/f:DI 31 AP)
-                (const_int 80 [0x50])) [0 S8 A8])
-        (reg:DI 20 $20)) 20041113-1.c:4 236 {*movdi}
-     (nil))
-(insn 6 5 7 2 (set (reg/v:DI 99 [ x ])
+(note 4 1 2 2 [bb 2] NOTE_INSN_BASIC_BLOCK)
+(insn 2 4 3 2 (set (reg/v:DI 99 [ x ])
         (reg:DI 16 $16 [ x ])) 20041113-1.c:4 236 {*movdi}
      (nil))

A whole pack of moves to memory is missing.

Reply via email to