https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69868
--- Comment #5 from Bill Schmidt <wschmidt at gcc dot gnu.org> --- Author: wschmidt Date: Mon May 8 21:03:45 2017 New Revision: 247759 URL: https://gcc.gnu.org/viewcvs?rev=247759&root=gcc&view=rev Log: [gcc] 2016-05-08 Bill Schmidt <wschm...@linux.vnet.ibm.com> Backport from mainline 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-05-08 Bill Schmidt <wschm...@linux.vnet.ibm.com> Backport from mainline PR target/69868 + swap optimization backports * gcc.target/powerpc/swaps-p8-20.c: New. * gcc.target/powerpc/swaps-p8-23.c: New. * gcc.target/powerpc/swaps-p8-24.c: New. Added: branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/swaps-p8-20.c branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/swaps-p8-23.c branches/gcc-5-branch/gcc/testsuite/gcc.target/powerpc/swaps-p8-24.c Modified: branches/gcc-5-branch/gcc/ChangeLog branches/gcc-5-branch/gcc/config/rs6000/rs6000.c branches/gcc-5-branch/gcc/testsuite/ChangeLog