From e2a17f6e4c325d78b243fa2f9cb4980c931f8531 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Wed, 4 Feb 2004 20:02:16 +0100 Subject: 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 --- gcc/config/sparc/sparc.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'gcc/config/sparc/sparc.c') diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index 855fe1d..c580462 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -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; -- cgit v1.1