aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2004-08-17 16:40:40 +0000
committerFariborz Jahanian <fjahanian@gcc.gnu.org>2004-08-17 16:40:40 +0000
commitd0b2079e0ab36ea2011df1cb17fe35911cab9624 (patch)
tree159076808a591c41849c35f941dbf8d67f35ec42 /gcc/config
parentfeb3dc8b30eb28ac5c65af85e4ed4c4257733998 (diff)
downloadgcc-d0b2079e0ab36ea2011df1cb17fe35911cab9624.zip
gcc-d0b2079e0ab36ea2011df1cb17fe35911cab9624.tar.gz
gcc-d0b2079e0ab36ea2011df1cb17fe35911cab9624.tar.bz2
Check for Altivec mode when returning altivec register.
Reviewed by David Edehlson. From-SVN: r86135
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/rs6000/rs6000.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index a3a8f34..0312596 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;