https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107671
--- Comment #2 from Iain Buclaw <ibuclaw at gdcproject dot org> --- Expected generated code would be: --- bt32_setb*: ... shrl $5, %edx movl (%eax,%edx,4), %edx xorl %eax, %eax btl %ecx, %edx setb %al ... --- bt32_setae*: ... shrl $5, %edx movl (%eax,%edx,4), %edx xorl %eax, %eax btl %ecx, %edx setae %al ... --- bt32v_setb*: ... xorl %eax, %eax btl %esi, %edi setb %al ... --- bt32v_setae*: ... xorl %eax, %eax btl %esi, %edi setae %al ... --- bt64_setb*: ... shrq $6, %rax movq (%rdi,%rax,8), %rcx xorl %eax, %eax btq %rsi, %rcx setb %al ... --- bt64_setae*: ... shrq $6, %rax movq (%rdi,%rax,8), %rcx xorl %eax, %eax btq %rsi, %rcx setae %al ... --- bt64v_setb*: ... xorl %eax, %eax btq %rsi, %rdi setb %al ... --- bt64v_setae*: ... xorl %eax, %eax btq %rsi, %rdi setae %al ...