diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2004-08-17 16:40:40 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@gcc.gnu.org> | 2004-08-17 16:40:40 +0000 |
commit | d0b2079e0ab36ea2011df1cb17fe35911cab9624 (patch) | |
tree | 159076808a591c41849c35f941dbf8d67f35ec42 /gcc | |
parent | feb3dc8b30eb28ac5c65af85e4ed4c4257733998 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 47a6ede..5d06f49 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-08-17 Fariborz Jahanian <fjahanian@apple.com> + + * config/rs6000/rs6000.c (rs6000_function_value): Check for + altivec mode for altivec return register. + 2004-08-17 David Edelsohn <edelsohn@gnu.org> Revert 2004-08-16 Stan Shebs <shebs@apple.com> 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; |