From 83282119ef1d93e17a49f27a7cc5814aabc7c35c Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Tue, 7 Jan 2003 09:52:15 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 5 +++++ gcc/config/mips/mips.c | 7 ++----- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f9a48faa6c..5eb9fc2f937 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-07 Richard Sandiford + + * 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 Segher Boessenkool diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index 6fb7eb4057c..d5339c7b518 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