From: Fariborz Jahanian Date: Tue, 17 Aug 2004 16:40:40 +0000 (+0000) Subject: Check for Altivec mode when returning altivec register. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0b2079e0ab36ea2011df1cb17fe35911cab9624;p=gcc.git Check for Altivec mode when returning altivec register. Reviewed by David Edehlson. From-SVN: r86135 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47a6ede8992..5d06f493dea 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-08-17 Fariborz Jahanian + + * config/rs6000/rs6000.c (rs6000_function_value): Check for + altivec mode for altivec return register. + 2004-08-17 David Edelsohn Revert 2004-08-16 Stan Shebs diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index a3a8f34e237..03125965c38 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -17047,7 +17047,8 @@ rs6000_function_value (tree valtype, tree func ATTRIBUTE_UNUSED) && targetm.calls.split_complex_arg) return rs6000_complex_function_value (mode); else if (TREE_CODE (valtype) == VECTOR_TYPE - && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI) + && TARGET_ALTIVEC && TARGET_ALTIVEC_ABI + && ALTIVEC_VECTOR_MODE(mode)) regno = ALTIVEC_ARG_RETURN; else regno = GP_ARG_RETURN;