i386-protos.h (ix86_expand_floorceil): Declare.
authorRichard Guenther <rguenther@suse.de>
Sun, 29 Oct 2006 16:28:40 +0000 (16:28 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Sun, 29 Oct 2006 16:28:40 +0000 (16:28 +0000)
commitd096ecdd9643db67bf3c17aa3345a15d62a103a6
tree7c11fdca54ae3407bf7cb2a09d0ce63be2ba8f70
parentc7d32ff6193ad93643fda556bc0db619771241f1
i386-protos.h (ix86_expand_floorceil): Declare.

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.

* gcc.target/i386/math-torture/ceil.c: New testcase.
* gcc.target/i386/math-torture/floor.c: Likewise.

From-SVN: r118145
gcc/ChangeLog
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.md
gcc/config/i386/sse.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/math-torture/ceil.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/math-torture/floor.c [new file with mode: 0644]