mips.c (mips_va_arg): Apply big-endianness address offset before loading address of argument passed...

* config/mips/mips.c (mips_va_arg): Apply big-endianness address
offset before loading address of argument passed by transparent
reference.

From-SVN: r51761
This commit is contained in:
Alexandre Oliva 2002-04-02 21:36:24 +00:00 committed by Alexandre Oliva
parent 6c4d4ed5da
commit 2fe0168ea1
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2002-04-02 Alexandre Oliva <aoliva@redhat.com>
* config/mips/mips.c (mips_va_arg): Apply big-endianness address
offset before loading address of argument passed by transparent
reference.
2002-04-02 Richard Henderson <rth@redhat.com>
* fixinc/inclhack.def (AAB_solaris_sys_varargs_h): Move and

View File

@ -4726,17 +4726,17 @@ 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)
{
r = gen_rtx_MEM (Pmode, addr_rtx);
addr_rtx = force_reg (Pmode, addr_rtx);
r = gen_rtx_MEM (Pmode, addr_rtx);
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;
}
}