This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[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
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 10 Dec 2011 02:50:06 +0000
- Subject: [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
- Auto-submitted: auto-generated
- References: <bug-51471-4@http.gcc.gnu.org/bugzilla/>
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 ...