aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@redhat.com>2003-01-07 09:52:15 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2003-01-07 09:52:15 +0000
commit83282119ef1d93e17a49f27a7cc5814aabc7c35c (patch)
treeb78f9ba78cd5e8a4891ffbaf76d81bfae3d461ef
parentf2741d5fbb2ce1df7728f5aaa62ee7e9bb6c6c49 (diff)
downloadgcc-83282119ef1d93e17a49f27a7cc5814aabc7c35c.zip
gcc-83282119ef1d93e17a49f27a7cc5814aabc7c35c.tar.gz
gcc-83282119ef1d93e17a49f27a7cc5814aabc7c35c.tar.bz2
mips.c (mips_va_arg): In the EABI code, apply the big-endian correction to indirect arguments too.
* config/mips/mips.c (mips_va_arg): In the EABI code, apply the big-endian correction to indirect arguments too. From-SVN: r60990
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/mips/mips.c7
2 files changed, 7 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f9a48f..5eb9fc2 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-01-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
+ big-endian correction to indirect arguments too.
+
2003-01-06 Aldy Hernandez <aldyh@redhat.com>
Segher Boessenkool <segher@koffie.nl>
diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c
index 6fb7eb4..d5339c7 100644
--- a/gcc/config/mips/mips.c
+++ b/gcc/config/mips/mips.c
@@ -4989,6 +4989,8 @@ mips_va_arg (valist, type)
emit_queue();
emit_label (lab_over);
}
+ if (BYTES_BIG_ENDIAN && rsize != size)
+ addr_rtx = plus_constant (addr_rtx, rsize - size);
if (indirect)
{
addr_rtx = force_reg (Pmode, addr_rtx);
@@ -4996,11 +4998,6 @@ mips_va_arg (valist, type)
set_mem_alias_set (r, get_varargs_alias_set ());
emit_move_insn (addr_rtx, r);
}
- else
- {
- if (BYTES_BIG_ENDIAN && rsize != size)
- addr_rtx = plus_constant (addr_rtx, rsize - size);
- }
return addr_rtx;
}
else