* config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
authorRichard Henderson <rth@cygnus.com>
Fri, 11 Aug 2000 22:25:22 +0000 (15:25 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 11 Aug 2000 22:25:22 +0000 (15:25 -0700)
From-SVN: r35646

gcc/ChangeLog
gcc/config/ia64/ia64.h

index c804c892ba3a6185e840d1245146266671fd0af2..066519f751c5e5870358d8f4ece0e1bb33fa2ca5 100644 (file)
@@ -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
index 23a27b85e78152ba31c730ffbd49dca6afc5a2ce..11913308c22df791cef94120b3f8d8517da581af 100644 (file)
@@ -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)