diff options
author | Richard Sandiford <rsandifo@redhat.com> | 2003-01-07 09:52:15 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2003-01-07 09:52:15 +0000 |
commit | 83282119ef1d93e17a49f27a7cc5814aabc7c35c (patch) | |
tree | b78f9ba78cd5e8a4891ffbaf76d81bfae3d461ef | |
parent | f2741d5fbb2ce1df7728f5aaa62ee7e9bb6c6c49 (diff) | |
download | gcc-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/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/mips/mips.c | 7 |
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 |