[Bug target/56547] New: [SH] missed opportunity for fmac with -ffast-math

olegendo at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 6 01:03:00 GMT 2013


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: unassigned@gcc.gnu.org
        ReportedBy: olegendo@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.



More information about the Gcc-bugs mailing list