https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103527
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot
gnu.org
Status|NEW |ASSIGNED
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
1.f:18:16: note: ------>vectorizing statement: xin0_12 = .MASK_LOAD (_210,
32B, _209);
1.f:18:16: note: transform statement.
1.f:18:16: note: vect_is_simple_use: operand nm_31(D) > 1, type of def:
external
1.f:18:16: note: vect_is_simple_use: operand (int) _199, type of def: internal
1.f:18:16: note: vect_is_simple_use: vectype vector(8) int
1.f:18:16: note: transform load. ncopies = 1
1.f:18:16: note: vect_get_vec_defs_for_operand: indx_5
1.f:18:16: note: vect_is_simple_use: operand (int) _199, type of def: internal
1.f:18:16: note: def_stmt = indx_5 = (int) _199;
1.f:18:16: note: vect_get_vec_defs_for_operand: _209
1.f:18:16: note: vect_is_simple_use: operand nm_31(D) > 1, type of def:
external
1.f:18:16: note: def_stmt = _209 = nm_31(D) > 1;
1.f:18:16: note: created new init_stmt: _383 = (float) _209;
1.f:18:16: note: created new init_stmt: vect_cst__384 = {_383, _383, _383,
_383, _383, _383, _383, _383};
and vect_build_gather_load_calls passes down vector(8) float as masktype to
vect_get_vec_defs_for_operand for the mask. The builtins function type of
__builtin_ia32_gathersiv8sf is
vector(8) float <T5ef> (vector(8) float, const <float:32> *, vector(8) int,
vector(8) float, int)
so the masktype is indeed vector(8) float here.