Commit 83282119 by Richard Sandiford Committed by Richard Sandiford

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
parent f2741d5f
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> 2003-01-06 Aldy Hernandez <aldyh@redhat.com>
Segher Boessenkool <segher@koffie.nl> Segher Boessenkool <segher@koffie.nl>
......
...@@ -4989,6 +4989,8 @@ mips_va_arg (valist, type) ...@@ -4989,6 +4989,8 @@ mips_va_arg (valist, type)
emit_queue(); emit_queue();
emit_label (lab_over); emit_label (lab_over);
} }
if (BYTES_BIG_ENDIAN && rsize != size)
addr_rtx = plus_constant (addr_rtx, rsize - size);
if (indirect) if (indirect)
{ {
addr_rtx = force_reg (Pmode, addr_rtx); addr_rtx = force_reg (Pmode, addr_rtx);
...@@ -4996,11 +4998,6 @@ mips_va_arg (valist, type) ...@@ -4996,11 +4998,6 @@ mips_va_arg (valist, type)
set_mem_alias_set (r, get_varargs_alias_set ()); set_mem_alias_set (r, get_varargs_alias_set ());
emit_move_insn (addr_rtx, r); emit_move_insn (addr_rtx, r);
} }
else
{
if (BYTES_BIG_ENDIAN && rsize != size)
addr_rtx = plus_constant (addr_rtx, rsize - size);
}
return addr_rtx; return addr_rtx;
} }
else else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment