https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113576
--- Comment #38 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- > I think we should also mask off the upper bits of variable mask? > > notl %esi > orl %esi, %edi > notl %edi > andl $15, %edi > je .L3 with -mbmi, it's andn %esi, %edi, %edi andl $15, %edi je .L3