[Bug target/96793] __builtin_floor produces wrong result when rounding direction is FE_DOWNWARD

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed Aug 26 11:17:34 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96793

--- Comment #6 from Uroš Bizjak <ubizjak at gmail dot com> ---
Ehm...

2006-10-29  Richard Guenther  <rguenther@suse.de>

        * config/i386/i386-protos.h (ix86_expand_floorceil): Declare.
        (ix86_expand_floorceildf_32): Likewise.
        * config/i386/i386.c (ix86_expand_sse_compare_mask): New
        static helper function.
        (ix86_expand_floorceil): Expander for floor and ceil to SSE
        math.
        (ix86_expand_floorceildf_32): Same for DFmode on 32bit archs.
        * config/i386/i386.md (floordf2): Adjust to enable floor
        expansion via ix86_expand_floorceil if TARGET_SSE_MATH and
        -fno-trapping-math is enabled and if not optimizing for size.
        (floorsf2, ceildf2, ceilsf2): Likewise.
        * config/i386/sse.md (sse_maskcmpsf3): New insn.
        (sse2_maskcmpdf3): Likewise.


More information about the Gcc-bugs mailing list