diff options
| -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; |
