From: Jim Wilson Date: Wed, 20 May 1992 00:27:34 +0000 (-0700) Subject: entered into RCS X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cbc3885de26e5378b74d8f208f5f5e0da2247437;p=gcc.git entered into RCS From-SVN: r1024 --- diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index 017f47eb1a5..49da7f1cbf9 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -1267,11 +1267,13 @@ ;; Patterns to recognize zero-extend insns produced by the combiner. ;; We don't allow both operands in memory, because of aliasing problems. +;; Explicitly disallow two memory operands via the condition since reloading +;; of this case will result in worse code than the uncombined patterns. (define_insn "" [(set (match_operand:SI 0 "general_operand" "=do<>,d<") (zero_extend:SI (match_operand:HI 1 "nonimmediate_operand" "r,m")))] - "" + "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* { if (DATA_REG_P (operands[0])) @@ -1300,7 +1302,7 @@ (define_insn "" [(set (match_operand:HI 0 "general_operand" "=do<>,d") (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "d,m")))] - "" + "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* { if (DATA_REG_P (operands[0])) @@ -1340,7 +1342,7 @@ (define_insn "" [(set (match_operand:SI 0 "general_operand" "=do<>,d") (zero_extend:SI (match_operand:QI 1 "nonimmediate_operand" "d,m")))] - "" + "GET_CODE (operands[0]) != MEM || GET_CODE (operands[1]) != MEM" "* { if (DATA_REG_P (operands[0]))