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
