[Bug target/69868] vec_perm built-in is not handled by swap optimization on powerpc64le
wschmidt at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon May 8 21:10:00 GMT 2017
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 <wschmidt@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 <wschmidt@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
More information about the Gcc-bugs
mailing list