diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-12-07 23:53:35 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-12-07 23:53:35 +0000 |
commit | 6155614dc81fb6b129dc26fb0145906022c8efd8 (patch) | |
tree | 1d7902653bf1b227dca0858d1b062e3e8bf5b5c4 /gcc/config/1750a | |
parent | c50a6f11a4afcbffc4bbc11452d18bce08c266b4 (diff) | |
download | gcc-6155614dc81fb6b129dc26fb0145906022c8efd8.tar.gz |
(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
Diffstat (limited to 'gcc/config/1750a')
-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 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 |