https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105591
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- So, it is correct that the code uses TREE_INT_CST_LOW (at least as long as we only support power of 2 nelts vectors), but in all places it uses it it should mask it with nelts-1 or 2*nelts-1 depending on whether it is a 2 or 3 arg VEC_PERM_EXPR.