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

--- Comment #17 from Ramana Radhakrishnan <ramana at gcc dot gnu.org> 
2011-07-18 16:35:22 UTC ---
(In reply to comment #16)
> (In reply to comment #15)
> > 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.
> 
> Hmmm I'm not sure I see this - what's the configure and arch. specific flags
> you used just in case ? 
> 

Just in case - I am using -march=armv5t -marm -Os on the command line.

Ramana
> 
> cheers
> Ramana

Reply via email to