diff options
author | Richard Biener <rguenther@suse.de> | 2024-03-18 12:39:03 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2024-03-19 09:02:17 +0100 |
commit | 94c3508c5a14d1948fe3bffa9e16c6f3d9c2836a (patch) | |
tree | 79ae6732f7725837190cbf831ebb096c045dd0bb /gcc/system.h | |
parent | 9eeca7753670d7bccd82e6ed7e4fe97cabd9a362 (diff) | |
download | gcc-94c3508c5a14d1948fe3bffa9e16c6f3d9c2836a.zip gcc-94c3508c5a14d1948fe3bffa9e16c6f3d9c2836a.tar.gz gcc-94c3508c5a14d1948fe3bffa9e16c6f3d9c2836a.tar.bz2 |
tree-optimization/114375 - disallow SLP discovery of permuted mask loads
We cannot currently handle permutations of mask loads in code generation
or permute optimization. But we simply drop any permutation on the
floor, so the following instead rejects the SLP build rather than
producing wrong-code. I've also made sure to reject them in
vectorizable_load for completeness.
PR tree-optimization/114375
* tree-vect-slp.cc (vect_build_slp_tree_2): Compute the
load permutation for masked loads but reject it when any
such is necessary.
* tree-vect-stmts.cc (vectorizable_load): Reject masked
VMAT_ELEMENTWISE and VMAT_STRIDED_SLP as those are not
supported.
* gcc.dg/vect/vect-pr114375.c: New testcase.
Diffstat (limited to 'gcc/system.h')
0 files changed, 0 insertions, 0 deletions