From 70a45a1479e58fb676d33c2a9d4d09a2998e3a44 Mon Sep 17 00:00:00 2001 From: fjahanian Date: Tue, 17 Aug 2004 16:40:40 +0000 Subject: [PATCH] Check for Altivec mode when returning altivec register. Reviewed by David Edehlson. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86135 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/config/rs6000/rs6000.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) 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; -- 2.11.4.GIT