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