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: r50478
This commit is contained in:
Alexandre Oliva 2002-03-09 05:48:21 +00:00 committed by Alexandre Oliva
parent c51fbe40b3
commit a85cd40702
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2002-03-09 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-03-08 John David Anglin <dave@hiauly1.hia.nrc.ca>
* t-pa64 (LIB1ASMFUNCS, LIB1ASMSRC): Delete.

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;
}
}