aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Christopher <echristo@redhat.com>2002-04-23 02:06:02 +0000
committerEric Christopher <echristo@gcc.gnu.org>2002-04-23 02:06:02 +0000
commitd239cdc00e98f19a4bf16f8464b9298af494c018 (patch)
tree74a127494b816c6c7d17a7d05c3ef845f0e4d51d
parentd0d091ae080cbf15b2eea0c46327c073ef8afeb6 (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/mips/mips.h12
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)