https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116994
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
Target Milestone|--- |15.0
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
So this looks like just an accident. One extra callee saved register usage
(rbx) caused by using a cmov instead of branch.
testq %rdx, %rdx
cmovne %rbx, %rsi
vs:
testq %rdx, %rdx
je .L4
movl $2, %esi
.L4: