diff options
author | Eric Christopher <echristo@redhat.com> | 2002-04-23 02:06:02 +0000 |
---|---|---|
committer | Eric Christopher <echristo@gcc.gnu.org> | 2002-04-23 02:06:02 +0000 |
commit | d239cdc00e98f19a4bf16f8464b9298af494c018 (patch) | |
tree | 74a127494b816c6c7d17a7d05c3ef845f0e4d51d /gcc | |
parent | d0d091ae080cbf15b2eea0c46327c073ef8afeb6 (diff) | |
download | gcc-d239cdc00e98f19a4bf16f8464b9298af494c018.zip gcc-d239cdc00e98f19a4bf16f8464b9298af494c018.tar.gz gcc-d239cdc00e98f19a4bf16f8464b9298af494c018.tar.bz2 |
mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert patch of 2002-04-09 due to binutils issues.
2002-04-22 Eric Christopher <echristo@redhat.com>
* config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert
patch of 2002-04-09 due to binutils issues.
(FUNCTION_ARG_REGNO_P): Ensure even numbered float register.
From-SVN: r52649
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/mips/mips.h | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 72208f9..f5135f5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2002-04-22 Eric Christopher <echristo@redhat.com> + + * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Revert + patch of 2002-04-09 due to binutils issues. + (FUNCTION_ARG_REGNO_P): Ensure even numbered float register. + 2002-04-22 Aldy Hernandez <aldyh@redhat.com> * config/rs6000/rs6000.md ("*movv4si_internal"): Change 'm' diff --git a/gcc/config/mips/mips.h b/gcc/config/mips/mips.h index 6db24f4..ab5bd5e 100644 --- a/gcc/config/mips/mips.h +++ b/gcc/config/mips/mips.h @@ -2715,11 +2715,14 @@ extern struct mips_frame_info current_frame_info; /* 1 if N is a possible register number for function argument passing. We have no FP argument registers when soft-float. When FP registers are 32 bits, we can't directly reference the odd numbered ones. */ +/* For o64 we should be checking the mode for SFmode as well. */ #define FUNCTION_ARG_REGNO_P(N) \ ((((N) >= GP_ARG_FIRST && (N) <= GP_ARG_LAST) \ - || ((N) >= FP_ARG_FIRST && (N) <= FP_ARG_LAST)) \ - && !fixed_regs[N]) + || ((N) >= FP_ARG_FIRST && (N) <= FP_ARG_LAST \ + && (((N) % FP_INC) == 0 \ + && (! mips_abi == ABI_O64))) \ + && !fixed_regs[N])) /* A C expression which can inhibit the returning of certain function values in registers, based on the type of value. A nonzero value says @@ -4485,11 +4488,8 @@ while (0) (SIZE)); \ } \ else \ - { \ - mips_declare_object (STREAM, NAME, "\n\t.comm\t", ",%u", \ + mips_declare_object (STREAM, NAME, "\n\t.comm\t", ",%u\n", \ (SIZE)); \ - fprintf ((STREAM), "%u\n", ((unsigned)(ALIGN) / BITS_PER_UNIT));\ - } \ } while (0) |