+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.
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.
/* 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. */