From 6155614dc81fb6b129dc26fb0145906022c8efd8 Mon Sep 17 00:00:00 2001 From: kenner Date: Sat, 7 Dec 1996 23:53:35 +0000 Subject: (movhi pattern): Fixed MEM to MEM move problem. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@13246 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/config/1750a/1750a.md | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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 -- cgit v1.2.1