aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2004-12-16 01:42:46 -0800
committerRichard Henderson <rth@gcc.gnu.org>2004-12-16 01:42:46 -0800
commit53371c33287e1fa7d75dfebe1522ec5299d9142d (patch)
tree6b2870434713b0236b46ecb76530009a3c1394cd
parent7cc6af0cdabb9deb55e357df71094931da1e91e8 (diff)
downloadgcc-53371c33287e1fa7d75dfebe1522ec5299d9142d.zip
gcc-53371c33287e1fa7d75dfebe1522ec5299d9142d.tar.gz
gcc-53371c33287e1fa7d75dfebe1522ec5299d9142d.tar.bz2
re PR target/19028 (ICE in libjava)
PR target/19028 * config/i386/i386.md (sse compare splitter): Test for SF and DFmode explicitly instead of using VALID_SSE_REG_MODE. From-SVN: r92251
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/i386.md3
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index d40af36..a6c2e45 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2004-12-15 Richard Henderson <rth@redhat.com>
+ PR target/19028
+ * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
+ explicitly instead of using VALID_SSE_REG_MODE.
+
+2004-12-15 Richard Henderson <rth@redhat.com>
+
PR target/19005
* config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
optimize_size.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index db6a724..321bca1 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -18213,7 +18213,8 @@
(clobber (match_operand 6 "" ""))
(clobber (reg:CC FLAGS_REG))]
"!SSE_REG_P (operands[0]) && reload_completed
- && VALID_SSE_REG_MODE (GET_MODE (operands[0]))"
+ && (GET_MODE (operands[0]) == SFmode
+ || (TARGET_SSE2 && GET_MODE (operands[0]) == DFmode))"
[(const_int 0)]
{
ix86_compare_op0 = operands[5];