diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/config/ia64/ia64.h | 7 |
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) |
