diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1996-12-07 18:53:35 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1996-12-07 18:53:35 -0500 |
commit | 3ba95fd3aafb182df5146ac1806423851c3adb37 (patch) | |
tree | 1d7902653bf1b227dca0858d1b062e3e8bf5b5c4 | |
parent | e36a0077e39e83c5becbb280c059c953f59959e4 (diff) | |
download | gcc-3ba95fd3aafb182df5146ac1806423851c3adb37.zip gcc-3ba95fd3aafb182df5146ac1806423851c3adb37.tar.gz gcc-3ba95fd3aafb182df5146ac1806423851c3adb37.tar.bz2 |
(movhi pattern): Fixed MEM to MEM move problem.
From-SVN: r13246
-rw-r--r-- | gcc/config/1750a/1750a.md | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gcc/config/1750a/1750a.md b/gcc/config/1750a/1750a.md index 6cb9b8d..2f4e75b 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 |