sparc.c (function_arg_pass_by_reference): Return 1 for all modes whose size is greater than 8 bytes if ARCH32.

* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
	for all modes whose size is greater than 8 bytes if ARCH32.
	(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
	by reference if ARCH32.

From-SVN: r77262
This commit is contained in:
Eric Botcazou 2004-02-04 20:02:16 +01:00 committed by Eric Botcazou
parent e530f3709e
commit e2a17f6e4c
2 changed files with 9 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
for all modes whose size is greater than 8 bytes if ARCH32.
(sparc_va_arg): Handle all modes whose size is greater than 8 bytes
by reference if ARCH32.
2004-02-04 Aldy Hernandez <aldyh@redhat.com>
* cgraphunit.c (cgraph_postorder): Fix typo in comment.

View File

@ -5672,10 +5672,8 @@ function_arg_pass_by_reference (const struct sparc_args *cum ATTRIBUTE_UNUSED,
if (TARGET_ARCH32)
{
return ((type && AGGREGATE_TYPE_P (type))
|| mode == TFmode
|| mode == SCmode
|| mode == DCmode
|| mode == TCmode);
|| GET_MODE_SIZE (mode) > 8);
}
else
{
@ -5886,10 +5884,8 @@ sparc_va_arg (tree valist, tree type)
else
{
if (AGGREGATE_TYPE_P (type)
|| TYPE_MODE (type) == TFmode
|| TYPE_MODE (type) == SCmode
|| TYPE_MODE (type) == DCmode
|| TYPE_MODE (type) == TCmode)
|| GET_MODE_SIZE (TYPE_MODE (type)) > 8)
{
indirect = 1;
size = rsize = UNITS_PER_WORD;