expect SFmode and DFmode arguments to be passed in FPRs,
regardless of the underlying type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@70557
138bc75d-0d04-0410-961f-
82ee72b054a4
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
* config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
(mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
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);