summaryrefslogtreecommitdiff
path: root/gcc/config/m68k/m68k.md
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-01-31 13:25:57 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1996-01-31 13:25:57 +0000
commitc03296e3a2ae63cce677b12d05b0c9ee71c254f0 (patch)
tree40345b956e3a4a22933956ceadcff48b94513863 /gcc/config/m68k/m68k.md
parent6a4dac78304b0c4fea1b8412585c42f394353570 (diff)
downloadgcc-c03296e3a2ae63cce677b12d05b0c9ee71c254f0.tar.gz
(movqi): Use moveq if possible.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@11138 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/m68k/m68k.md')
-rw-r--r--gcc/config/m68k/m68k.md11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md
index d65d84dd2bf..84c197cbff4 100644
--- a/gcc/config/m68k/m68k.md
+++ b/gcc/config/m68k/m68k.md
@@ -1071,6 +1071,17 @@
return \"st %0\";
}
}
+ if (GET_CODE (operands[1]) == CONST_INT
+ && DATA_REG_P (operands[0])
+ && INTVAL (operands[1]) < 128
+ && INTVAL (operands[1]) >= -128)
+ {
+#if defined(MOTOROLA) && !defined(CRDS)
+ return \"moveq%.l %1,%0\";
+#else
+ return \"moveq %1,%0\";
+#endif
+ }
if (GET_CODE (operands[1]) != CONST_INT && CONSTANT_P (operands[1]))
return \"move%.l %1,%0\";
if (ADDRESS_REG_P (operands[0]) || ADDRESS_REG_P (operands[1]))