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
  ...

Reply via email to