https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117709
--- Comment #4 from Andrew Stubbs <ams at gcc dot gnu.org> --- The mask is a 64-bit integer value in the "exec" register. I agree that I cannot see the problem staring at it. Like I said, I changed the backend so that it generated the zero-initializers anyway, and the snippets you show above reverted to as they were before. However, there's some new code further up the assembly that I don't understand yet.