------- Comment #3 from rguenth at gcc dot gnu dot org  2007-08-28 10:58 -------
long foo(float x)
{
  return __builtin_lfloorf(x);
}

generates

foo:
.LFB2:
        cvttss2siq      %xmm0, %rax
        cvtsi2ssq       %rax, %xmm1
        leaq    -1(%rax), %rdx
        comiss  %xmm0, %xmm1
        cmova   %rdx, %rax
        ret

the adc/sbb variants are no longer generated.


-- 

rguenth at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
   Last reconfirmed|2006-12-09 22:52:53         |2007-08-28 10:58:39
               date|                            |
            Summary|Expansion of ceil and floor |Expansion of lceil and
                   |could use if-conversion     |lfloor could use if-
                   |                            |conversion


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

Reply via email to