mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P...

* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
	expect SFmode and DFmode arguments to be passed in FPRs,
	regardless of the underlying type.

From-SVN: r70557
This commit is contained in:
Richard Sandiford
2003-08-19 06:17:00 +00:00
committed by Richard Sandiford
parent 4b8174ff7a
commit fc4fe9e434
2 changed files with 8 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2003-08-19 Richard Sandiford <rsandifo@redhat.com>
* config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
expect SFmode and DFmode arguments to be passed in FPRs,
regardless of the underlying type.
2003-08-19 Richard Sandiford <rsandifo@redhat.com>
PR target/11924

View File

@@ -4162,8 +4162,8 @@ mips_va_arg (tree valist, tree type)
lab_over = gen_label_rtx ();
ovfl = build (COMPONENT_REF, TREE_TYPE (f_ovfl), valist, f_ovfl);
if (TREE_CODE (type) == REAL_TYPE)
if (GET_MODE_CLASS (TYPE_MODE (type)) == MODE_FLOAT
&& GET_MODE_SIZE (TYPE_MODE (type)) <= UNITS_PER_FPVALUE)
{
top = build (COMPONENT_REF, TREE_TYPE (f_ftop), valist, f_ftop);
off = build (COMPONENT_REF, TREE_TYPE (f_foff), valist, f_foff);