https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97743

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2020-11-06
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
          Component|tree-optimization           |middle-end
             Target|                            |x86_64-*-*

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
But is it really faster?

        movzbl  %dil, %eax
        imull   $743, %eax, %eax

vs.

        negb    %dil
        sbbl    %eax, %eax
        andl    $743, %eax

clang9 produces

        testl   %edi, %edi
        movl    $743, %eax              # imm = 0x2E7
        cmovel  %edi, %eax

more like a middle-end/RTL expansion transform, target dependent.

Reply via email to