* i386.md (DImode move splitters): Use !MMX and !SSE for the condition.
authorJan Hubicka <jh@suse.cz>
Wed, 9 May 2001 14:03:39 +0000 (16:03 +0200)
committerJan Hubicka <hubicka@gcc.gnu.org>
Wed, 9 May 2001 14:03:39 +0000 (14:03 +0000)
From-SVN: r41926

gcc/ChangeLog
gcc/config/i386/i386.md

index 5d54bb8..0691ddc 100644 (file)
@@ -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
index a0941be..b85e585 100644 (file)
 (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;")
 
 (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;")