aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1999-08-03 20:17:38 +0000
committerJeff Law <law@gcc.gnu.org>1999-08-03 14:17:38 -0600
commit156e68b7562a3fbdac0c27d2e4806623b7d188c6 (patch)
treeb76183ce1a85523407350f3abf2afbfcc7e173f3 /gcc
parent351b736c5438361650b73a5dbe79a5aa43e943b4 (diff)
downloadgcc-156e68b7562a3fbdac0c27d2e4806623b7d188c6.zip
gcc-156e68b7562a3fbdac0c27d2e4806623b7d188c6.tar.gz
gcc-156e68b7562a3fbdac0c27d2e4806623b7d188c6.tar.bz2
pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for PA1.1 and above.
* pa.h (HARD_REGNO_NREGS): FP registers are always 4 bytes wide for PA1.1 and above. (CLASS_MAX_NREGS): Likewise. From-SVN: r28478
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/pa/pa.h9
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index df51bf6..b51cc41 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/pa/pa.h b/gcc/config/pa/pa.h
index fe51937..5bb196c 100644
--- a/gcc/config/pa/pa.h
+++ b/gcc/config/pa/pa.h
@@ -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))
+
/* Stack layout; function entry, exit and calling. */