From: Richard Kenner Date: Sat, 7 Dec 1996 23:53:35 +0000 (-0500) Subject: (movhi pattern): Fixed MEM to MEM move problem. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3ba95fd3aafb182df5146ac1806423851c3adb37;p=gcc.git (movhi pattern): Fixed MEM to MEM move problem. From-SVN: r13246 --- diff --git a/gcc/config/1750a/1750a.md b/gcc/config/1750a/1750a.md index 6cb9b8d82cc..2f4e75bfb49 100644 --- a/gcc/config/1750a/1750a.md +++ b/gcc/config/1750a/1750a.md @@ -431,15 +431,29 @@ } ") -(define_insn "movhi" +;; The movhi pattern. + +(define_insn "" [(set (match_operand:HI 0 "general_operand" "=r,r,m") (match_operand:HI 1 "general_operand" "r,m,r"))] - "" + "register_operand (operands[0], HImode) || + register_operand (operands[1], HImode)" "@ dlr r%0,r%1 dl r%0,%1 dst r%1,%0 ") +(define_expand "movhi" + [(set (match_operand:HI 0 "general_operand" "=g") + (match_operand:HI 1 "general_operand" "g"))] + "" + " + { + if (GET_CODE(operands[0]) == MEM && + GET_CODE(operands[1]) == MEM) + operands[1] = force_reg (HImode, operands[1]); + }") + ;; Single-Float moves are similar to HImode moves