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.

Reply via email to