aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@gcc.gnu.org>1993-10-05 13:42:25 -0700
committerJim Wilson <wilson@gcc.gnu.org>1993-10-05 13:42:25 -0700
commitb206a75783f8f5a05bb90cad311592c7b717e97c (patch)
tree25a25a7a5799221f1040567263ec2a683bafc6d1 /gcc
parentcae856a00a52c9adc2d17702a95763df9d42f230 (diff)
downloadgcc-b206a75783f8f5a05bb90cad311592c7b717e97c.zip
gcc-b206a75783f8f5a05bb90cad311592c7b717e97c.tar.gz
gcc-b206a75783f8f5a05bb90cad311592c7b717e97c.tar.bz2
(CLASS_MAX_NREGS): For DFmode and !TARGET_FLOAT64 case,
return 2 not 4. (CLASS_UNITS): Take size parameter instead of num (words). From-SVN: r5618
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mips/mips.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h
index 001bd3b..59af3da 100644
--- a/gcc/config/mips/mips.h
+++ b/gcc/config/mips/mips.h
@@ -1472,15 +1472,15 @@ extern enum reg_class mips_char_to_class[];
/* Return the maximum number of consecutive registers
needed to represent mode MODE in a register of class CLASS. */
-#define CLASS_UNITS(mode, num) \
- ((GET_MODE_SIZE (mode) + ((num) * UNITS_PER_WORD) - 1) / ((num) * UNITS_PER_WORD))
+#define CLASS_UNITS(mode, size) \
+ ((GET_MODE_SIZE (mode) + (size) - 1) / (size))
#define CLASS_MAX_NREGS(CLASS, MODE) \
- (((CLASS) == FP_REGS && TARGET_FLOAT64) \
- ? CLASS_UNITS (MODE, 2) \
- : (((CLASS) == FP_REGS) \
- ? (2*CLASS_UNITS (MODE, 1)) \
- : CLASS_UNITS (MODE, 1)))
+ ((CLASS) == FP_REGS \
+ ? (TARGET_FLOAT64 \
+ ? CLASS_UNITS (MODE, 8) \
+ : 2 * CLASS_UNITS (MODE, 8)) \
+ : CLASS_UNITS (MODE, UNITS_PER_WORD))
/* If defined, this is a C expression whose value should be
nonzero if the insn INSN has the effect of mysteriously