This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/51471] [4.7 Regression] gcc.c-torture/execute/20040811-1.c and gcc.c-torture/execute/vla-dealloc-1.c fails at -O3 -g on mips64-linux-gnu


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

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-10 02:50:06 UTC ---
(insn 149 77 93 (sequence [
            (jump_insn:TI 82 77 121 (set (pc)
                    (if_then_else (ne (reg/v:SI 3 $3 [orig:210 n ] [210])
                            (reg:SI 7 $7 [255]))
                        (label_ref:SI 30)
                        (pc))) t.c:16 434 {*branch_equalitysi}
                 (expr_list:REG_BR_PRED (const_int 14 [0xe])
                    (expr_list:REG_EQUAL (if_then_else (ne (reg/v:SI 3 $3
[orig:210 n ] [210])
                                (const_int 1000000 [0xf4240]))
                            (label_ref:SI 30)
                            (pc))
                        (expr_list:REG_BR_PROB (const_int 9899 [0x26ab])
                            (nil))))
             -> 30)
            (insn/f:TI 121 82 93 (set (reg/f:SI 29 $sp)
                    (reg/f:SI 30 $fp)) 280 {*movsi_internal}
                 (expr_list:REG_CFA_DEF_CFA (plus:SI (reg/f:SI 29 $sp)
                        (const_int 32 [0x20]))
                    (nil)))
        ]) t.c:16 -1
     (nil))

Delay slot scheduling put the sp = fp in the delay slot of the branch.
It must have missed the following instruction:
(insn 33 32 34 (clobber (mem:BLK (reg/f:SI 29 $sp) [0 A8])) -1
     (nil))
Which should have caused it not to do that ...


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]