pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for PA1.1 and above.
authorJeffrey A Law <law@cygnus.com>
Tue, 3 Aug 1999 20:17:38 +0000 (20:17 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 3 Aug 1999 20:17:38 +0000 (14:17 -0600)
        * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
        PA1.1 and above.
        (CLASS_MAX_NREGS): Likewise.

From-SVN: r28478

gcc/ChangeLog
gcc/config/pa/pa.h

index df51bf60f769899cdc78c6a72f4c0f44e4a451b0..b51cc4155edd4f38f4695aca6250924b50b414ab 100644 (file)
@@ -1,3 +1,9 @@
+Tue Aug  3 14:14:52 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for
+       PA1.1 and above.
+       (CLASS_MAX_NREGS): Likewise.
+
 Tue Aug  3 03:51:20 1999  Jeffrey A Law  (law@cygnus.com)
 
        * cse.c (cse_insn): Fix dumb thinko in last change.
index fe51937f70f4f5a54fc718c04bdc4aee1076e393..5bb196cf9fea2084a3324b1a7ee254e571041434 100644 (file)
@@ -563,7 +563,8 @@ int lhs_lshift_cint_operand ();
    The floating point registers are 64 bits wide. Snake fp regs are 32
    bits wide */
 #define HARD_REGNO_NREGS(REGNO, MODE)                                  \
-  (!TARGET_PA_11 && FP_REGNO_P (REGNO) ? 1                             \
+  (FP_REGNO_P (REGNO)                                                  \
+   ? (!TARGET_PA_11 ? 1 : (GET_MODE_SIZE (MODE) + 4 - 1) / 4)          \
    : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
 
 /* Value is 1 if hard register REGNO can hold a value of machine-mode MODE.
@@ -783,8 +784,10 @@ int zdepi_cint_p ();
 /* Return the maximum number of consecutive registers
    needed to represent mode MODE in a register of class CLASS.  */
 #define CLASS_MAX_NREGS(CLASS, MODE)                                   \
-  (!TARGET_PA_11 && ((CLASS) == FP_REGS || (CLASS) == FPUPPER_REGS) ? 1 :                              \
-   ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
+  ((CLASS) == FP_REGS || (CLASS) == FPUPPER_REGS                       \
+   ? (!TARGET_PA_11 ? 1 : (GET_MODE_SIZE (MODE) + 4 - 1) / 4)          \
+   : ((GET_MODE_SIZE (MODE) + UNITS_PER_WORD - 1) / UNITS_PER_WORD))
+
 \f
 /* Stack layout; function entry, exit and calling.  */