https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101097
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- (In reply to Uroš Bizjak from comment #3) > Created attachment 51031 [details] > Pack/unpack patterns for 8-byte vectors > > FYI, this patch adds pack/unpack patterns for 8-byte vectors. It will fail: > > FAIL: gcc.target/i386/pr97249-1.c scan-assembler-times (?n)vpmovzxbw[ > \\\\t]+\\\\(.*%xmm[0-9] 2 > FAIL: gcc.target/i386/pr97249-1.c scan-assembler-times (?n)vpmovzxwd[ > \\\\t]+\\\\(.*%xmm[0-9] 2 > > due to the mentioned issue. You can add #pragma GCC unroll 8/4 to "fix" that and add a comment this test tests BB vectorization. Loop vectorization would have failed even before the patch (and now succeeds, but with less optimal code).