aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/genemit.c4
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5833a50..a1edf05 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+ * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
+ possible.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
* reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
note containing (plus (reg) (const_int)), where reg is an
eliminable reg, then perform the register elimination without
diff --git a/gcc/genemit.c b/gcc/genemit.c
index f1a2abd..00cf842 100644
--- a/gcc/genemit.c
+++ b/gcc/genemit.c
@@ -243,6 +243,10 @@ gen_exp (rtx x, enum rtx_code subroutine_type, char *used)
printf ("const1_rtx");
else if (INTVAL (x) == -1)
printf ("constm1_rtx");
+ else if (-MAX_SAVED_CONST_INT <= INTVAL (x)
+ && INTVAL (x) <= MAX_SAVED_CONST_INT)
+ printf ("const_int_rtx[MAX_SAVED_CONST_INT + (%d)]",
+ (int) INTVAL (x));
else if (INTVAL (x) == STORE_FLAG_VALUE)
printf ("const_true_rtx");
else