aboutsummaryrefslogtreecommitdiff
path: root/gcc/collect-utils.cc
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-08-23 14:28:26 +0200
committerRichard Biener <rguenther@suse.de>2023-08-24 11:38:55 +0200
commita1558e9ad856938f165f838733955b331ebbec09 (patch)
tree970eacbfa0fd5d24cd4d84934a8e3eea83805f95 /gcc/collect-utils.cc
parente80f7c13f64e10c6a3354c5d6b42da60b21ed0b8 (diff)
downloadgcc-a1558e9ad856938f165f838733955b331ebbec09.zip
gcc-a1558e9ad856938f165f838733955b331ebbec09.tar.gz
gcc-a1558e9ad856938f165f838733955b331ebbec09.tar.bz2
tree-optimization/111115 - SLP of masked stores
The following adds the capability to do SLP on .MASK_STORE, I do not plan to add interleaving support. PR tree-optimization/111115 gcc/ * tree-vectorizer.h (vect_slp_child_index_for_operand): New. * tree-vect-data-refs.cc (can_group_stmts_p): Also group .MASK_STORE. * tree-vect-slp.cc (arg3_arg2_map): New. (vect_get_operand_map): Handle IFN_MASK_STORE. (vect_slp_child_index_for_operand): New function. (vect_build_slp_tree_1): Handle statements with no LHS, masked store ifns. (vect_remove_slp_scalar_calls): Likewise. * tree-vect-stmts.cc (vect_check_store_rhs): Lookup the SLP child corresponding to the ifn value index. (vectorizable_store): Likewise for the mask index. Support masked stores. (vectorizable_load): Lookup the SLP child corresponding to the ifn mask index. gcc/testsuite/ * lib/target-supports.exp (check_effective_target_vect_masked_store): Supported with check_avx_available. * gcc.dg/vect/slp-mask-store-1.c: New testcase.
Diffstat (limited to 'gcc/collect-utils.cc')
0 files changed, 0 insertions, 0 deletions