aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-10-19 20:05:55 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-10-19 20:05:55 -0400
commit02ccd5118e8920b9e17f6b78ce3afc3a6cc582d3 (patch)
treeececb0dcb87ffe70f468b394ac07f727a98640b1 /gcc
parent4db92e9a2c33c4b4617571c5053981dbd9da21b3 (diff)
downloadgcc-02ccd5118e8920b9e17f6b78ce3afc3a6cc582d3.zip
gcc-02ccd5118e8920b9e17f6b78ce3afc3a6cc582d3.tar.gz
gcc-02ccd5118e8920b9e17f6b78ce3afc3a6cc582d3.tar.bz2
(movdi): Force use of "o" alternative if operand 1 is a MEM.
From-SVN: r5817
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/clipper/clipper.md5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/clipper/clipper.md b/gcc/config/clipper/clipper.md
index 24a82bf..2c8735c 100644
--- a/gcc/config/clipper/clipper.md
+++ b/gcc/config/clipper/clipper.md
@@ -306,8 +306,11 @@
operands[1] = force_reg (DImode, operands[1]);
}")
+;; If an operand is a MEM but not offsetable, we can't load it into
+;; a register, so we must force the third alternative to be the one
+;; reloaded. Hence we show the first as more expensive.
(define_insn ""
- [(set (match_operand:DI 0 "register_operand" "=r,r,r")
+ [(set (match_operand:DI 0 "register_operand" "=?r,r,r")
(match_operand:DI 1 "general_operand" "r,n,o"))]
""
"*