diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2024-06-07 14:36:41 +0200 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2024-07-17 08:18:21 +0200 |
commit | bf64404280a90715d1228edef0d5756e81635a64 (patch) | |
tree | fac8e28e4dd1c6ea39d70bde95fa8c6b0f9e8fe5 /gcc/gcse.h | |
parent | c58bede01c06c84f0b36881fafd1e5d6456a38f4 (diff) | |
download | gcc-releases/gcc-14.zip gcc-releases/gcc-14.tar.gz gcc-releases/gcc-14.tar.bz2 |
vect: Merge loop mask and cond_op mask in fold-left reduction [PR115382].releases/gcc-14
Currently we discard the cond-op mask when the loop is fully masked
which causes wrong code in
gcc.dg/vect/vect-cond-reduc-in-order-2-signed-zero.c
when compiled with
-O3 -march=cascadelake --param vect-partial-vector-usage=2.
This patch ANDs both masks.
gcc/ChangeLog:
PR tree-optimization/115382
* tree-vect-loop.cc (vectorize_fold_left_reduction): Use
prepare_vec_mask.
* tree-vect-stmts.cc (check_load_store_for_partial_vectors):
Remove static of prepare_vec_mask.
* tree-vectorizer.h (prepare_vec_mask): Export.
(cherry picked from commit 2b438a0d2aa80f051a09b245a58f643540d4004b)
Diffstat (limited to 'gcc/gcse.h')
0 files changed, 0 insertions, 0 deletions