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.

Reply via email to