From ddfb7c88aea4d81de865eb503bca9d4f9313b9c9 Mon Sep 17 00:00:00 2001 From: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4> Date: Sat, 4 Oct 2003 08:11:06 +0000 Subject: [PATCH] * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point arguments downward for big-endian o64. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72088 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 +++++++- gcc/config/mips/mips.c | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e08571e79418..187375d2b839 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ +2003-10-04 Richard Sandiford <rsandifo@redhat.com> + + * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point + arguments downward for big-endian o64. + 2003-10-03 Robert Bowdidge <bowdidge@apple.com> - * ggc-page.c: (ggc_pch_write_object) replace fseek() with fwrite() in + + * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in PCH generation, avoiding too-frequent flushes when writing to NFS file system. diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 6f49f6fdb537..ae27af1cb705 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -3833,6 +3833,11 @@ mips_pad_arg_upward (enum machine_mode mode, tree type) : GET_MODE_CLASS (mode) == MODE_INT) return false; + /* Big-endian o64 pads floating-point arguments downward. */ + if (mips_abi == ABI_O64) + if (type != 0 ? FLOAT_TYPE_P (type) : GET_MODE_CLASS (mode) == MODE_FLOAT) + return false; + /* Other types are padded upward for o32, o64, n32 and n64. */ if (mips_abi != ABI_EABI) return true; -- GitLab