https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97521
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- It seems that vector(2) <signed-boolean:64> _1; vector(2) <signed-boolean:64> _2; ... _1 = _2 & { 0, -1 }; remains in the IL after that change, which results in expansion of TImode AND, but the second operand of that is (const_int 2 [0x2]) and not the expected 0xffffffffffffffff0000000000000000 constant.