> - ceiling > cvtss2si %xmmMM, %rNN > cvtsi2ss %rNN, %xmmJJ ;; scratch > ucomiss %xmmMM, %xmmJJ > adc $0, %rNN << > > - floor > cvtss2si %xmmMM, %rNN > cvtsi2ss %rNN, %xmmJJ ;; scratch > ucomiss %xmmJJ, %xmmMM > sbb $0, %rNN <<
can be emitted directly using appropriate IF_THEN_ELSE rtx and not rely on ifcvt figuring out itself (which it doesn't in most cases). -- Summary: Expansion of ceil and floor could use if-conversion Product: gcc Version: 4.3.0 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: target AssignedTo: rguenth at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org GCC target triplet: x86_64-*-*, i?86-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30082