aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1996-06-28 14:23:55 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1996-06-28 14:23:55 -0400
commit9e6c9f598a92fb22cea316e07382640d2fe221e6 (patch)
tree715d9e30e24459108230e112d62ee7777d613c66
parent803fee6995dd78d07f34d6291fd45cdd9972e6a8 (diff)
downloadgcc-9e6c9f598a92fb22cea316e07382640d2fe221e6.zip
gcc-9e6c9f598a92fb22cea316e07382640d2fe221e6.tar.gz
gcc-9e6c9f598a92fb22cea316e07382640d2fe221e6.tar.bz2
(movdi): Call alpha_emit_set_long_const.
From-SVN: r12360
-rw-r--r--gcc/config/alpha/alpha.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha.md b/gcc/config/alpha/alpha.md
index 826ffb1..873a726 100644
--- a/gcc/config/alpha/alpha.md
+++ b/gcc/config/alpha/alpha.md
@@ -3489,6 +3489,19 @@
else
operands[1] = tem;
}
+ else if (TARGET_BUILD_CONSTANTS
+ && GET_CODE (operands[1]) == CONST_INT)
+ {
+#if HOST_BITS_PER_WIDE_INT == 64
+ tem = alpha_emit_set_long_const (operands[0], INTVAL (operands[1]));
+ if (rtx_equal_p (tem, operands[0]))
+ DONE;
+ else
+ operands[1] = tem;
+#else
+ abort();
+#endif
+ }
else if (CONSTANT_P (operands[1]))
{
operands[1] = force_const_mem (DImode, operands[1]);