aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-01-31 08:25:57 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1996-01-31 08:25:57 -0500
commit3c758d821a49e53d1c4030adf5c780af2d18bf20 (patch)
tree40345b956e3a4a22933956ceadcff48b94513863
parent16d82c3cf633c1de007869414e13cdedcfe553ec (diff)
downloadgcc-3c758d821a49e53d1c4030adf5c780af2d18bf20.zip
gcc-3c758d821a49e53d1c4030adf5c780af2d18bf20.tar.gz
gcc-3c758d821a49e53d1c4030adf5c780af2d18bf20.tar.bz2
(movqi): Use moveq if possible.
From-SVN: r11138
-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 d65d84d..84c197c 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]))