Hi! On Fri, Jun 10, 2022 at 11:27:40AM -0400, Michael Meissner wrote: > Testing has found that using store vector pair for block copies can result > in a slow down on power10. This patch disables using the vector pair > instructions for block copies if we are tuning for power10.
Load paired should be disabled as well, for the same reason. The patch seems to do that fine? Please fix the commit message. Thanks, Segher > 2022-06-09 Michael Meissner <meiss...@linux.ibm.com> > > gcc/ > * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do > not generate block copies with vector pair instructions if we are > tuning for power10. > --- > gcc/config/rs6000/rs6000.cc | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc > index 0af2085adc0..59481d9ac70 100644 > --- a/gcc/config/rs6000/rs6000.cc > +++ b/gcc/config/rs6000/rs6000.cc > @@ -4141,7 +4141,10 @@ rs6000_option_override_internal (bool global_init_p) > > if (!(rs6000_isa_flags_explicit & OPTION_MASK_BLOCK_OPS_VECTOR_PAIR)) > { > - if (TARGET_MMA && TARGET_EFFICIENT_UNALIGNED_VSX) > + /* Do not generate lxvp and stxvp on power10 since there are some > + performance issues. */ > + if (TARGET_MMA && TARGET_EFFICIENT_UNALIGNED_VSX > + && rs6000_tune != PROCESSOR_POWER10) > rs6000_isa_flags |= OPTION_MASK_BLOCK_OPS_VECTOR_PAIR; > else > rs6000_isa_flags &= ~OPTION_MASK_BLOCK_OPS_VECTOR_PAIR;