mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Check non-strictly vect_internal_def internal defs in integer_type_for_mask
We are missing masks produced by inductions or reductions otherwise. * tree-vect-patterns.cc (integer_type_for_mask): Only reject vect_external_defs.
This commit is contained in:
committed by
Richard Biener
parent
8ba0bb5a4d
commit
94f203a369
@@ -5452,8 +5452,10 @@ integer_type_for_mask (tree var, vec_info *vinfo)
|
||||
if (!VECT_SCALAR_BOOLEAN_TYPE_P (TREE_TYPE (var)))
|
||||
return NULL_TREE;
|
||||
|
||||
stmt_vec_info def_stmt_info = vect_get_internal_def (vinfo, var);
|
||||
if (!def_stmt_info || !vect_use_mask_type_p (def_stmt_info))
|
||||
stmt_vec_info def_stmt_info = vinfo->lookup_def (var);
|
||||
if (!def_stmt_info
|
||||
|| STMT_VINFO_DEF_TYPE (def_stmt_info) == vect_external_def
|
||||
|| !vect_use_mask_type_p (def_stmt_info))
|
||||
return NULL_TREE;
|
||||
|
||||
return build_nonstandard_integer_type (def_stmt_info->mask_precision, 1);
|
||||
|
||||
Reference in New Issue
Block a user