This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/49452] [4.7 regression] comp-goto-2.c regresses in testing
- From: "ebotcazou at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sat, 16 Jul 2011 21:18:45 +0000
- Subject: [Bug tree-optimization/49452] [4.7 regression] 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 #15 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-07-16 21:18:39 UTC ---
The machine-dependent reorg pass does something unexpected:
(insn 30 18 14 3 (set (reg/f:SI 11 fp)
(plus:SI (reg/f:SI 11 fp)
(const_int 36 [0x24]))) 4 {*arm_addsi3}
(nil))
(insn 14 30 16 3 (use (reg/f:SI 11 fp)) -1
(nil))
(insn 16 14 24 3 (unspec_volatile [
(const_int 0 [0])
] VUNSPEC_BLOCKAGE) 252 {blockage}
(nil))
(insn 24 16 27 3 (set (reg/i:SI 0 r0)
(mem/c:SI (plus:SI (reg/f:SI 11 fp)
(const_int -56 [0xffffffffffffffc8])) [6 %sfp+-20 S4 A32]))
comp-goto-2.c:26 176 {*arm_movsi_insn}
(nil))
is reordered into:
(insn 14 18 16 (use (reg/f:SI 11 fp)) -1
(nil))
(insn 16 14 24 (unspec_volatile [
(const_int 0 [0])
] VUNSPEC_BLOCKAGE) 252 {blockage}
(nil))
(insn 24 16 30 (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]))
comp-goto-2.c:26 176 {*arm_movsi_insn}
(nil))
(insn 30 24 27 (set (reg/f:SI 11 fp)
(plus:SI (reg/f:SI 11 fp)
(const_int 36 [0x24]))) 4 {*arm_addsi3}
(nil))
despite the blockage.