diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-16 20:42:10 +0100 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-17 20:31:27 +0100 |
commit | 231bb992592a9e1bd7ce6583131acb1874c8e34e (patch) | |
tree | d738ce9ab9c7381a684718f4cc7cf830783a5764 /gcc/analyzer/program-state.cc | |
parent | bc274b8d677212fbfc317d379acb02e0eef696a0 (diff) | |
download | gcc-231bb992592a9e1bd7ce6583131acb1874c8e34e.zip gcc-231bb992592a9e1bd7ce6583131acb1874c8e34e.tar.gz gcc-231bb992592a9e1bd7ce6583131acb1874c8e34e.tar.bz2 |
vect: Pass truth type to vect_get_vec_defs.
For conditional operations the mask is loop invariant and cannot be
stored explicitly. By default, for reductions, we deduce the vectype
from the statement or the loop but this does not work for conditional
operations. Therefore this patch passes the truth type of the reduction
input vectype for the mask operand instead. This will override the
other choices and make sure we have the proper mask vectype.
gcc/ChangeLog:
PR middle-end/112406
PR middle-end/112552
* tree-vect-loop.cc (vect_transform_reduction): Pass truth
vectype for mask operand.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/pr112406.c: New test.
* gcc.target/riscv/rvv/autovec/pr112552.c: New test.
Diffstat (limited to 'gcc/analyzer/program-state.cc')
0 files changed, 0 insertions, 0 deletions