http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56547
Bug #: 56547 Summary: [SH] missed opportunity for fmac with -ffast-math Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: olege...@gcc.gnu.org Target: sh*-*-* This one was mentioned in PR 55295: float test (float a, float b) { return a * b + a; } compiled with -m4-single -O2 -ffast-math results in: fldi1 fr0 ! 7 movsf_ie/4 [length = 2] fadd fr5,fr0 ! 8 addsf3_i [length = 2] rts ! 27 *return_i [length = 2] fmul fr4,fr0 ! 9 mulsf3_i [length = 2] At least on SH using fmac in this case would be better than transforming 'a * b + a' into '(1 + b) * a'. Not sure yet whether this is actually target specific.