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:
parent
c51fbe40b3
commit
a85cd40702
@ -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.
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user