Hi! On Thu, Apr 28, 2016 at 08:28:55PM -0500, Bill Schmidt wrote: > The lack of certain swap optimizations added in GCC 6 has shown up as a > performance issue in some customer code, where the customer is unable to > move off of GCC 5. To accommodate this, I would like to backport these > changes to GCC 5. They have all been burned in on trunk for many > months. The same code has also been provided in > branches/ibm/gcc-5-branch since early this year, used to build code in > Ubuntu 16.04 and included in the latest AT9.0 releases. I feel that it > is therefore pretty solid at this point. > > Bootstrapped and tested on powerpc64le-unknown-linux-gnu with no > regressions. Is this ok for GCC 5.4?
I never replied to this? Sorry about that. The patch is okay for the 5 branch, if you still want it. Segher > 2016-04-28 Bill Schmidt <wschm...@linux.vnet.ibm.com> > > PR target/69868 + swap optimization backports > * config/rs6000/rs6000.c (swap_web_entry): Enlarge > special_handling bitfield. > (special_handling_values): Add SH_XXPERMDI, SH_CONCAT, SH_VPERM, > and SH_VPERM_COMP. > (const_load_sequence_p): New. > (load_comp_mask_p): New. > (v2df_reduction_p): New. > (rtx_is_swappable_p): Perform special handling for XXPERMDI and > for reductions. > (insn_is_swappable_p): Perform special handling for VEC_CONCAT, > V2DF reductions, and various permutes. > (adjust_xxpermdi): New. > (adjust_concat): New. > (find_swapped_load_and_const_vector): New. > (replace_const_vector_in_load): New. > (adjust_vperm): New. > (adjust_vperm_comp): New. > (handle_special_swappables): Call adjust_xxpermdi, adjust_concat, > adjust_vperm, and adjust_vperm_comp. > (replace_swap_with_copy): Allow vector NOT operations to also be > replaced by copies. > (dump_swap_insn_table): Handle new special handling values. > > [gcc/testsuite] > > 2016-04-28 Bill Schmidt <wschm...@linux.vnet.ibm.com> > > PR target/69868 + swap optimization backports > * gcc.target/powerpc/swaps-p8-20.c: New. > * gcc.target/powerpc/swaps-p8-22.c: New. > * gcc.target/powerpc/swaps-p8-23.c: New. > * gcc.target/powerpc/swaps-p8-24.c: New.