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.