https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97299
--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> --- Created attachment 50017 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=50017&action=edit patch OK, so the arm fails are because they use load_lanes. Which means adjusting like /* { dg-final { scan-tree-dump-times "VEC_PERM_EXPR" 0 "vect" { xfail { { vect_widen_sum_hi_to_si_pattern || { ! vect_unpack } } && { ! vect_load_lanes } } } } } */ should work there. Then we have solaris which likely does not vectorize this at all which means we need to condition all scans on the 'vectorized 1 loops' scan. Meh, complicated target selectors :/ Rainer, can you test the attached patch?