re PR target/39592 (Revision 145272 breaks -ansi -msse)

PR target/39592
	* config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
	define_splits, floatunssi<mode>2): Require x87 conversions from
	DImode to be permitted.

testsuite:
	* gcc.target/i386/pr39592-1.c: New test.

From-SVN: r145342
This commit is contained in:
Joseph Myers 2009-03-31 13:51:02 +01:00 committed by Joseph Myers
parent 47580d22b2
commit 8f6121903f
4 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,10 @@
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR target/39592
* config/i386/i386.md (*floatunssi<mode>2_1, two unnamed
define_splits, floatunssi<mode>2): Require x87 conversions from
DImode to be permitted.
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR preprocessor/15638

View File

@ -5654,7 +5654,7 @@
(clobber (match_operand:DI 2 "memory_operand" "=m,m"))
(clobber (match_scratch:SI 3 "=X,x"))]
"!TARGET_64BIT
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, SImode)
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, DImode)
&& TARGET_SSE"
"#"
[(set_attr "type" "multi")
@ -5667,7 +5667,7 @@
(clobber (match_operand:DI 2 "memory_operand" ""))
(clobber (match_scratch:SI 3 ""))]
"!TARGET_64BIT
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, SImode)
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, DImode)
&& TARGET_SSE
&& reload_completed"
[(set (match_dup 2) (match_dup 1))
@ -5682,7 +5682,7 @@
(clobber (match_operand:DI 2 "memory_operand" ""))
(clobber (match_scratch:SI 3 ""))]
"!TARGET_64BIT
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, SImode)
&& TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, DImode)
&& TARGET_SSE
&& reload_completed"
[(set (match_dup 2) (match_dup 3))
@ -5701,7 +5701,7 @@
(clobber (match_dup 2))
(clobber (match_scratch:SI 3 ""))])]
"!TARGET_64BIT
&& ((TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, SImode)
&& ((TARGET_80387 && X87_ENABLE_FLOAT (<X87MODEF:MODE>mode, DImode)
&& TARGET_SSE)
|| (SSE_FLOAT_MODE_P (<MODE>mode) && TARGET_SSE_MATH))"
{

View File

@ -1,3 +1,8 @@
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR target/39592
* gcc.target/i386/pr39592-1.c: New test.
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR preprocessor/15638

View File

@ -0,0 +1,10 @@
/* Test for ICE with C99-conforming excess precision and -msse. PR
39592. */
/* { dg-do compile } */
/* { dg-options "-ansi -msse" } */
double
foo (unsigned long var)
{
return var;
}