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

--- Comment #1 from Kai Tietz <ktietz at gcc dot gnu.org> ---
For x86 we produce for sample:
        movl    8(%esp), %eax
        cmpl    %eax, 4(%esp)
        setge   %al
        movzbl  %al, %eax
        leal    -1(%eax,%eax), %eax
        ret

which could be expressed with one instruction less as
        movl    4(%esp), %eax
        cmpl    %eax, 8(%esp)
        sbbl    %eax, %eax
        orb     $1, %al
        ret

Reply via email to