diff options
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/i386.md | 8 |
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;") |