From: Richard Sandiford Date: Tue, 19 Aug 2003 06:17:00 +0000 (+0000) Subject: mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P... X-Git-Tag: releases/gcc-3.4.0~4209 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fc4fe9e434a4a652065cff0e5380d9446debf32a;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 039df7454c30..4e82dbad3a4b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-08-19 Richard Sandiford + + * 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 PR target/11924 diff --git a/gcc/config/mips/mips.c b/gcc/config/mips/mips.c index e90282161509..29de990f14e1 100644 --- a/gcc/config/mips/mips.c +++ b/gcc/config/mips/mips.c @@ -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);