double testit(double _Complex* t)
{
  return *t==0.0?0.0:-*t;
}

includes useless sequence like

       clr.l -(%sp);clr.l -(%sp);fdmove.d (%sp)+,%fp1
       fdmove.d (%a0),%fp0
       fcmp.d %fp1,%fp0

where the first and last line are useless -- GCC could instead be using the
flags as set by a fdmove.d instruction.


-- 
           Summary: [cond-optab] pessimization for FP compare with 0 on
                    ColdFire
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bonzini at gnu dot org
OtherBugsDependingO 39714
             nThis:


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

Reply via email to