https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101097
--- Comment #6 from Hongtao.liu <crazylht at gmail dot com> --- (In reply to Richard Biener from comment #5) > (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). I just to want to classify the test is used to test another optimization which rely on either loop vectorization or slp. it means it's ok to add unroll pragma here.