https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61634

--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> ---
We have

patt_24 = DOT_PROD_EXPR <_12, _12, prephitmp_48>;

and

_12 = _11 >> 2;

is not STMT_VINFO_IN_PATTERN_P but it doesn't have a vec_stmt yet even
though it is there:

  vect__12.29_90 = vect__11.27_87 >> 2;
  vect__12.29_91 = vect__11.28_89 >> 2;
  _12 = _11 >> 2;

that's because vectorizable_shift doesn't assign to *vec_stmt!?

      if (slp_node)
        continue;

      if (j == 0)
        STMT_VINFO_VEC_STMT (stmt_info) = *vec_stmt = new_stmt;
      else
        STMT_VINFO_RELATED_STMT (prev_stmt_info) = new_stmt;

if it's part of an SLP node... (pure_slp).

I'm not sure we can vectorize this case.

Reply via email to