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