OSDN Git Service

2006-10-29 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Oct 2006 16:28:40 +0000 (16:28 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 29 Oct 2006 16:28:40 +0000 (16:28 +0000)
commite7fdb903d9c5b1384df8efc296f122fa36c55154
tree7c11fdca54ae3407bf7cb2a09d0ce63be2ba8f70
parent0ddf4ad9b2d04bf72a11671e142ec61d3f7d80b2
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118145 138bc75d-0d04-0410-961f-82ee72b054a4
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]