From dd2c8bfc7c99a02bda960ce5b180bcc8651f6ad9 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Tue, 2 Oct 2012 10:53:28 -0400 Subject: [PATCH] rs6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for TARGET_ELF. * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not set TARGET_ALTIVEC_VRSAVE for TARGET_ELF. (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE. From-SVN: r191986 --- gcc/ChangeLog | 8 +++++++- gcc/config/rs6000/rs6000.c | 7 ++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c4bd0a4fa4e..61e4b532c62 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-10-02 David Edelsohn + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Do not + set TARGET_ALTIVEC_VRSAVE for TARGET_ELF. + (rs6000_stack_info): Only set vrsave_mask if TARGET_ALTIVEC_VRSAVE. + 2012-10-02 Jakub Jelinek PR tree-optimization/54713 @@ -29,7 +35,7 @@ 2012-10-01 Michael Meissner * config/rs6000/rs6000.c (toplevel): Include dumpfile.h. - (rs6000_density_test): Rework to accomidate 09-30 change by + (rs6000_density_test): Rework to accommodate 09-30 change by Sharad Singhai. * config/rs6000/t-rs6000 (rs6000.o): Add dumpfile.h dependency. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index ed641dd2b78..a3f99092900 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -2726,10 +2726,6 @@ rs6000_option_override_internal (bool global_init_p) else rs6000_altivec_abi = 1; } - - /* Enable VRSAVE for AltiVec ABI, unless explicitly overridden. */ - if (!global_options_set.x_TARGET_ALTIVEC_VRSAVE) - TARGET_ALTIVEC_VRSAVE = rs6000_altivec_abi; } /* Set the Darwin64 ABI as default for 64-bit Darwin. @@ -17843,7 +17839,8 @@ rs6000_stack_info (void) else info_ptr->spe_gp_size = 0; - if (TARGET_ALTIVEC_ABI) + /* Set VRSAVE register if it is saved and restored. */ + if (TARGET_ALTIVEC_ABI && TARGET_ALTIVEC_VRSAVE) info_ptr->vrsave_mask = compute_vrsave_mask (); else info_ptr->vrsave_mask = 0;