diff options
author | Richard Biener <rguenther@suse.de> | 2022-05-31 09:37:05 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-06-02 08:35:23 +0200 |
commit | 08afab6f8642f58f702010ec196dce3b00955627 (patch) | |
tree | fecb020d184300f9a86b413a3b1ed959b3dcbcf3 /gcc/gcov-tool.cc | |
parent | 4a6b8d9aad9f68eec223cc126d9effbf45e37271 (diff) | |
download | gcc-08afab6f8642f58f702010ec196dce3b00955627.zip gcc-08afab6f8642f58f702010ec196dce3b00955627.tar.gz gcc-08afab6f8642f58f702010ec196dce3b00955627.tar.bz2 |
tree-optimization/101668 - relax SLP of existing vectors
This relaxes the conditions on SLPing extracts from existing vectors
leveraging the relaxed VEC_PERM conditions on the input vs output
vector type compatibility. It also handles lowpart extracts
and concats without VEC_PERMs now.
2022-05-25 Richard Biener <rguenther@suse.de>
PR tree-optimization/101668
* tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
for vector types with compatible lane types.
(vect_build_slp_tree_2): Deal with this.
(vect_add_slp_permutation): Adjust. Emit lowpart/concat
special cases without VEC_PERM.
(vectorizable_slp_permutation): Select the operand vector
type and relax requirements. Handle identity permutes
with mismatching operand types.
* optabs-query.cc (can_vec_perm_const_p): Only allow variable
permutes for op_mode == mode.
* gcc.target/i386/pr101668.c: New testcase.
* gcc.dg/vect/bb-slp-pr101668.c: Likewise.
Diffstat (limited to 'gcc/gcov-tool.cc')
0 files changed, 0 insertions, 0 deletions