diff options
| author | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-19 07:30:12 +0000 |
|---|---|---|
| committer | rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-19 07:30:12 +0000 |
| commit | f7dc6bfb891e0c76391d3e5dceadfbb247cb0966 (patch) | |
| tree | 463d865995e94e650a88cd19e8793e264cd36466 | |
| parent | 60dacf360235ea3cd81aa77ba781cb0823b0460d (diff) | |
| download | ppe42-gcc-f7dc6bfb891e0c76391d3e5dceadfbb247cb0966.tar.gz ppe42-gcc-f7dc6bfb891e0c76391d3e5dceadfbb247cb0966.zip | |
* config/mips/mips.c (mips_class_max_nregs): Return the number of
words in the mode.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66950 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/config/mips/mips.c | 15 |
2 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8765e3e3595..5d2013441d7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2003-05-19 Richard Sandiford <rsandifo@redhat.com> + * config/mips/mips.c (mips_class_max_nregs): Return the number of + words in the mode. + +2003-05-19 Richard Sandiford <rsandifo@redhat.com> + * config/mips/mips.c (override_options): Disable explicit relocs for old ABIs unless using gas. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 8474e473574..258c7b029be 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -9014,18 +9014,19 @@ mips_secondary_reload_class (class, mode, x, in_p) return NO_REGS; } -/* This function returns the maximum number of consecutive registers - needed to represent mode MODE in registers of class CLASS. */ +/* Implement CLASS_MAX_NREGS. + + Usually all registers are word-sized. The only supported exception + is -mgp64 -msingle-float, which has 64-bit words but 32-bit float + registers. A word-based calculation is correct even in that case, + since -msingle-float disallows multi-FPR values. */ int mips_class_max_nregs (class, mode) - enum reg_class class; + enum reg_class class ATTRIBUTE_UNUSED; enum machine_mode mode; { - if (class == FP_REGS) - return FP_INC; - else - return (GET_MODE_SIZE (mode) + UNITS_PER_WORD - 1) / UNITS_PER_WORD; + return (GET_MODE_SIZE (mode) + UNITS_PER_WORD - 1) / UNITS_PER_WORD; } bool |

