diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2008-02-05 12:27:41 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2008-02-05 12:27:41 +0100 |
commit | 4a5341524410fd4fc45d5ac7daa99df37603796c (patch) | |
tree | a2cb7d9725918f85cf10fd667458bc1d8fae2842 /gcc | |
parent | 3969f765e38d4c32b58f87b8256f0690ce48ba34 (diff) | |
download | gcc-4a5341524410fd4fc45d5ac7daa99df37603796c.zip gcc-4a5341524410fd4fc45d5ac7daa99df37603796c.tar.gz gcc-4a5341524410fd4fc45d5ac7daa99df37603796c.tar.bz2 |
re PR target/35083 (ICE: in extract_insn, at recog.c:1990)
PR target/35083
* config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only.
Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2.
testsuite/ChangeLog:
PR target/35083
* gcc.target/i386/pr35083.c: New test.
From-SVN: r132114
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr35083.c | 8 |
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13b13df..3676928 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2008-02-05 Uros Bizjak <ubizjak@gmail.com> + + PR target/35083 + * config/i386/i386.md (floatunsisf2): Enable for TARGET_SSE_MATH only. + Call ix86_expand_convert_uns_sisf_sse for TARGET_SSE2. + 2008-02-04 Diego Novillo <dnovillo@google.com> http://gcc.gnu.org/ml/gcc-patches/2008-02/msg00110.html diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 04d38f6..4090ead 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -5306,9 +5306,9 @@ (define_expand "floatunssisf2" [(use (match_operand:SF 0 "register_operand" "")) (use (match_operand:SI 1 "nonimmediate_operand" ""))] - "!TARGET_64BIT" + "!TARGET_64BIT && TARGET_SSE_MATH" { - if (TARGET_SSE_MATH && TARGET_SSE2) + if (TARGET_SSE2) ix86_expand_convert_uns_sisf_sse (operands[0], operands[1]); else x86_emit_floatuns (operands); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4c1b912..8ac2a87 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-02-05 Uros Bizjak <ubizjak@gmail.com> + + PR target/35083 + * gcc.target/i386/pr35083.c: New test. + 2008-02-05 Paul Thomas <pault@gcc.gnu.org> PR fortran/32315 diff --git a/gcc/testsuite/gcc.target/i386/pr35083.c b/gcc/testsuite/gcc.target/i386/pr35083.c new file mode 100644 index 0000000..c765d32 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr35083.c @@ -0,0 +1,8 @@ +/* { dg-options "-O2 -mno-80387" } */ +/* { dg-do compile } */ +/* { dg-require-effective-target ilp32 } */ + +float test (unsigned int x) +{ + return (float) x; +} |