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

--- Comment #10 from Oleg Endo <olegendo at gcc dot gnu.org> 2012-06-05 
23:06:33 UTC ---
(In reply to comment #9)
> Yes.  -mfused-madd is for a micro optimization after all.  It would
> be tolerable even if it can't generate fmac insns in the case like (*).
> OTOH deleting that option surprises the old programs which use
> -mfused-madd.

I thought, that's what the common gcc/config/fused-madd.opt is for.  It does
not delete the old -mfused-madd option but issues a warning and sets
-fpp-contract=fast.  So older code that used -mfused-madd will continue to work
as before.
The big change will be for code that must not be compiled with FMA insns for
'a*b+c', because now GCC's behavior is to enable FMA by default.  Those older
programs will probably have no -mfused-madd option set and will have to be
patched to add the -fpp-contract=off option anyway.  I guess that this case
will be the minority.

Actually, adopting the -mfused-madd behavior from gcc/config/fused-madd.opt
would allow to add a default option -fpp-contract=off for certain compiler
builds (like -msoft-atomic on sh-linux) and then still allow programs to
override this by specifying -mfused-madd.

>  I have no strong opinion, though.  On second thought,
> -mfused-madd would be relatively rare in real use.

Yeah, probably.  I also don't care that much which option is on/off by default.
 I just wanted it to be aligned with the other targets and the overall target
independent GCC behavior, that's all :)

Reply via email to