This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/49452] comp-goto-2.c regresses in testing
- From: "ramana at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 18 Jun 2011 08:37:54 +0000
- Subject: [Bug tree-optimization/49452] comp-goto-2.c regresses in testing
- Auto-submitted: auto-generated
- References: <bug-49452-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49452
--- Comment #4 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 2011-06-18 08:37:06 UTC ---
(In reply to comment #3)
> > I haven't looked at in great detail yet to analyse what causes this problem but
> > it appears to have appeared in the last week or so.
>
> Maybe r175063 (significant dse.c change).
It does appear to be that revision triggering this change.
The problem essentially here is that the backend generates
(insn/f 36 35 37 2 (set (reg/f:SI 11 fp)
(plus:SI (reg/f:SI 13 sp)
(const_int 96 [0x60])))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
-1
(nil))
(insn/f 37 36 38 2 (set (reg/f:SI 13 sp)
(plus:SI (reg/f:SI 13 sp)
(const_int -28 [0xffffffffffffffe4])))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
-1
(nil))
(insn 38 37 39 2 (set (mem:BLK (scratch) [0 A8])
(unspec:BLK [
(reg/f:SI 13 sp)
(reg/f:SI 11 fp)
] UNSPEC_PRLG_STK))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
-1
(nil))
(note 39 38 5 2 NOTE_INSN_PROLOGUE_END)
(note 5 39 8 2 NOTE_INSN_FUNCTION_BEG)
(note 8 5 9 2 NOTE_INSN_DELETED)
(insn 9 8 2 2 (set (reg:SI 12 ip)
(plus:SI (reg/f:SI 11 fp)
(const_int -112 [0xffffffffffffff90])))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:23
4 {*arm_addsi3}
(nil))
(insn 2 9 33 2 (set (mem/c:SI (plus:SI (reg/f:SI 11 fp)
(const_int -120 [0xffffffffffffff88])) [6 %sfp+-20 S4 A32])
(reg:SI 0 r0 [ a ]))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
632 {*arm_movsi_vfp}
(nil))
(insn 33 2 3 2 (set (reg:SI 3 r3)
(plus:SI (reg/f:SI 11 fp)
(const_int -100 [0xffffffffffffff9c])))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
4 {*arm_addsi3}
(nil))
(insn 3 33 4 2 (set (mem/s/f/c:SI (plus:SI (reg/f:SI 11 fp)
(const_int -112 [0xffffffffffffff90])) [5
FRAME.0.__nl_goto_buf+0 S4 A32])
(reg:SI 3 r3))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
632 {*arm_movsi_vfp}
(nil))
(insn 4 3 11 2 (set (mem/s/f/c:SI (plus:SI (reg/f:SI 11 fp)
(const_int -108 [0xffffffffffffff94])) [5
FRAME.0.__nl_goto_buf+4 S4 A32])
(reg/f:SI 13 sp))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:11
632 {*arm_movsi_vfp}
(nil))
but the corresponding load into r0 is from a different offset but the alias
sets appear to be correct.
(insn 24 16 30 3 (set (reg/i:SI 0 r0)
(mem/c:SI (plus:SI (reg/f:SI 11 fp)
(const_int -20 [0xffffffffffffffec])) [6 %sfp+-20 S4 A32]))
/home/ramrad01/sources/fsf/trunk/gcc/testsuite/gcc.c-torture/execute/comp-goto-2.c:26
632 {*arm_movsi_vfp}
(nil))
cheers
Ramana