aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/ia64/ia64.h7
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c804c89..066519f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
+
2000-08-11 Mark Elbrecht <snowball3@bigfoot.com>
* gcc.texi (The Configuration File): Document
diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h
index 23a27b8..1191330 100644
--- a/gcc/config/ia64/ia64.h
+++ b/gcc/config/ia64/ia64.h
@@ -300,15 +300,12 @@ extern const char *ia64_fixed_range_string;
/* A macro to update MODE and UNSIGNEDP when an object whose type is TYPE and
which has the specified mode and signedness is to be stored in a register.
This macro is only called when TYPE is a scalar type. */
-
-/* ??? Maybe sign-extend 32 bit values like the alpha? Or maybe zero-extend
- because we only have zero-extending loads? */
#define PROMOTE_MODE(MODE,UNSIGNEDP,TYPE) \
do \
{ \
if (GET_MODE_CLASS (MODE) == MODE_INT \
- && GET_MODE_SIZE (MODE) < UNITS_PER_WORD) \
- (MODE) = DImode; \
+ && GET_MODE_SIZE (MODE) < 4) \
+ (MODE) = SImode; \
} \
while (0)