diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2020-04-28 08:04:29 +0100 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2020-04-28 08:04:29 +0100 |
commit | e62a820d686d1fa97a9eefdc65ca07d8f96ac9f4 (patch) | |
tree | 1af5cafdf0ce540b2ae36aca7145bd9901b64b65 /gcc/tree.c | |
parent | f5edc76acac7bbadd8d1b00c4cc5994b2a088542 (diff) | |
download | gcc-e62a820d686d1fa97a9eefdc65ca07d8f96ac9f4.zip gcc-e62a820d686d1fa97a9eefdc65ca07d8f96ac9f4.tar.gz gcc-e62a820d686d1fa97a9eefdc65ca07d8f96ac9f4.tar.bz2 |
vect: Fix COND_EXPRs involving variant booleans [PR94727]
The previous patch for this PR handled separate comparisons.
However, as arm targets show, the same fix is needed when
handling comparisons embedded in a VEC_COND_EXPR.
Here too, the problem is that vect_get_constant_vectors will
calculate its own vector type, using truth_type_for on the
STMT_VINFO_VECTYPE, and the vectoriable_* routines need to be
consistent with that.
2020-04-28 Richard Sandiford <richard.sandiford@arm.com>
gcc/
PR tree-optimization/94727
* tree-vect-stmts.c (vect_is_simple_cond): If both comparison
operands are invariant booleans, use the mask type associated with the
STMT_VINFO_VECTYPE. Use !slp_node instead of !vectype to exclude SLP.
(vectorizable_condition): Pass vectype unconditionally to
vect_is_simple_cond.
Diffstat (limited to 'gcc/tree.c')
0 files changed, 0 insertions, 0 deletions