http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55295
--- Comment #7 from Oleg Endo <olegendo at gcc dot gnu.org> 2013-03-06 01:05:14 UTC --- (In reply to comment #5) > > > > I'm also noticing that -ffast-math is inhibiting fmac emission in some > > cases: > > > > Compiled with: -O3 -mfused-madd -ffast-math > > > > testfunc: > > .LFB1: > > .cfi_startproc > > mov.l .L3,r1 > > lds.l @r1+,fpscr > > fldi1 fr0 ; what is a 1.0 doing here? > > add #-4,r1 > > add #4,r1 > > fadd fr4,fr0 ; v+1 ?? > > fmul fr5,fr0 ; (v+1)*v2 ?? That's not what the code does... > > rts > > lds.l @r1+,fpscr > > > > What's going on there? That doesn't even look correct... > > The transformation is legitimate, although unlucky, since using fmac would be > better in this case. > I've opened a new PR 56547 for this issue.