https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87573
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- Patch in testing: --cut here-- diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index 539671ce4be5..e60b2296ab6b 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -217,7 +217,14 @@ (define_split [(set (match_operand:MMXMODE 0 "nonimmediate_gr_operand") - (match_operand:MMXMODE 1 "general_gr_operand"))] + (match_operand:MMXMODE 1 "nonimmediate_gr_operand"))] + "!TARGET_64BIT && reload_completed" + [(const_int 0)] + "ix86_split_long_move (operands); DONE;") + +(define_split + [(set (match_operand:MMXMODE 0 "nonimmediate_gr_operand") + (match_operand:MMXMODE 1 "const0_operand"))] "!TARGET_64BIT && reload_completed" [(const_int 0)] "ix86_split_long_move (operands); DONE;") --cut here--