Richard Biener <rguent...@suse.de> writes: > + /* First-order recurrence autovectorization needs to handle permutation > + with indices = [nunits-1, nunits, nunits+1, ...]. */ > + vec_perm_builder sel (nunits, 1, 3); > + for (int i = 0; i < 3; ++i) > + sel.quick_push (nunits - dist + i); > + vec_perm_indices indices (sel, 1, nunits * 2);
Should be: vec_perm_indices indices (sel, 2, nunits); With that change, the patch passes testing on SVE. vect-recurr-6.c fails to vectorise, but I think that's because SVE doesn't yet support the required permute. Thanks, Richard