https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93594
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- The _mm256_permute2x128_si256 issues are similar, but really unrelated and IMHO should be tracked in a separate PR. The problem there is that the pattern we use doesn't really describe what the instruction does, uses an UNSPEC_VPERMTI, which obviously can't be simplified by the generic code. The reason is mainly that the instruction isn't just a two source permutation, but essentially 3 source permutation, with the third source of 0.