https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118465
Paolo Bonzini <bonzini at gnu dot org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bonzini at gnu dot org
--- Comment #1 from Paolo Bonzini <bonzini at gnu dot org> ---
Note %rbx is used, via %bh, to extract bits 8-15 of %r9:
movl %r9d, %ebx
movzbl %r9b, %edi
movzbl %bh, %ebx
movl %ebx, %r9d
This could be just
movzbl %r9b, %edi
shrl $8, %r9
movzbl %r9b, %r9d
But if it's indeed due to stack alignment (didn't check), GCC is not wrong in
noticing it can use %ebx.