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 :)