diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-31 12:51:02 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-03-31 12:51:02 +0000 |
commit | eedfcb264efc82c8da93c5375dd4f13e342dc47f (patch) | |
tree | e6ac1154173facce79cf25e9b672bfd4911ba334 /gcc/config | |
parent | ff9038093a6f3f629bcd8115a714cadc3ea48ad1 (diff) | |
download | gcc-eedfcb264efc82c8da93c5375dd4f13e342dc47f.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145342 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 9592f91ff7e..c43f3362a1d 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -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))" { |