diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-01-31 13:25:57 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1996-01-31 13:25:57 +0000 |
commit | c03296e3a2ae63cce677b12d05b0c9ee71c254f0 (patch) | |
tree | 40345b956e3a4a22933956ceadcff48b94513863 /gcc/config/m68k/m68k.md | |
parent | 6a4dac78304b0c4fea1b8412585c42f394353570 (diff) | |
download | gcc-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.md | 11 |
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])) |