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

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Huh.

  _75 = [vec_duplicate_expr] pretmp_34;
  _76 = -_75;
  _77 = VEC_PERM_EXPR <_75, _76, { 0, POLY_INT_CST [4, 4], 1, POLY_INT_CST [5,
4], 2, POLY_INT_CST [6, 4], ... }>;

  # c_lsm.7_8 = PHI <_2(9), pretmp_34(19)>
  vect__2.17_79 = -_77;
  _2 = -c_lsm.7_8;

  <bb 28> [local count: 94607391]:
  # i_101 = PHI <i_17(3)>
  # vect__2.17_102 = PHI <vect__2.17_79(3)>
  # loop_mask_103 = PHI <loop_mask_81(3)>
  # vect_iftmp.24_104 = PHI <vect_iftmp.24_91(3)>
  _68 = ni_gap.12_67;
  _93 = .EXTRACT_LAST (loop_mask_103, vect_iftmp.24_104);
  iftmp.1_59 = _93;
  _82 = .EXTRACT_LAST (loop_mask_103, vect__2.17_102);

it looks OK to me?  But maybe the poly-int-cst permute is wrong?  Should
be an interleave.

Reply via email to