target/i386: adapt gen_shift_count for SHLD/SHRD
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 9 May 2024 08:15:05 +0000 (10:15 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 17 Jun 2024 07:47:39 +0000 (09:47 +0200)
commite4e5981daf37146473b30b9219f78796d15320c5
tree704c42ecda6e3d468b0c3c04fdb1ea3795297af8
parent87b2037b65d07d43edff1c4e177e9136dff32896
target/i386: adapt gen_shift_count for SHLD/SHRD

SHLD/SHRD can have 3 register operands - s->T0, s->T1 and either
1 or CL - and therefore decode->op[2] is taken by the low part
of the register being shifted.  Pass X86_OP_* to gen_shift_count
from its current callers and hardcode cpu_regs[R_ECX] as the
shift count.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/emit.c.inc