aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2001-05-09 16:03:39 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2001-05-09 14:03:39 +0000
commit6c12e4889f47b41aa5ad06f0eec4ac27f832669a (patch)
tree7f60062d4f86ecffa4bf89e47cb35158d2b0241a /gcc
parentd3c7d45ed9c698740606c25fac9ba9d0e336d168 (diff)
downloadgcc-6c12e4889f47b41aa5ad06f0eec4ac27f832669a.zip
gcc-6c12e4889f47b41aa5ad06f0eec4ac27f832669a.tar.gz
gcc-6c12e4889f47b41aa5ad06f0eec4ac27f832669a.tar.bz2
* i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
From-SVN: r41926
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/i386.md8
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5d54bb8..0691ddc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Wed May 9 16:01:41 CEST 2001 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
+
Wed May 9 10:40:25 2001 Alexandre Oliva <aoliva@redhat.com>
* regclass.c (scan_one_insn): Update REG_N_REFS when optimizing
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index a0941be..b85e585 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -2487,7 +2487,8 @@
(define_split
[(set (match_operand:DI 0 "push_operand" "")
(match_operand:DI 1 "general_operand" ""))]
- "!TARGET_64BIT && reload_completed && ! MMX_REG_P (operands[1])"
+ "!TARGET_64BIT && reload_completed
+ && (! MMX_REG_P (operands[1]) && !SSE_REG_P (operands[1]))"
[(const_int 0)]
"ix86_split_long_move (operands); DONE;")
@@ -2495,8 +2496,9 @@
(define_split
[(set (match_operand:DI 0 "nonimmediate_operand" "")
(match_operand:DI 1 "general_operand" ""))]
- "!TARGET_64BIT && reload_completed && GENERAL_REG_P (operands[0])
- && GENERAL_REG_P (operands[1])"
+ "!TARGET_64BIT && reload_completed
+ && (!MMX_REG_P (operands[0]) && !SSE_REG_P (operands[0]))
+ && (!MMX_REG_P (operands[1]) && !SSE_REG_P (operands[1]))"
[(const_int 0)]
"ix86_split_long_move (operands); DONE;")