target/i386: convert SHLD/SHRD to new decoder
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 9 May 2024 09:46:59 +0000 (11:46 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 17 Jun 2024 07:47:39 +0000 (09:47 +0200)
commit647690274053a35dbaa2617f01d432d6ba4e76a8
tree527889242cb06a9bc6073d5cf517b13e9ee024fc
parente4e5981daf37146473b30b9219f78796d15320c5
target/i386: convert SHLD/SHRD to new decoder

Use the same flag generation code as SHL and SHR, but use
the existing gen_shiftd_rm_T1 function to compute the result
as well as CC_SRC.

Decoding-wise, SHLD/SHRD by immediate count as a 4 operand
instruction because s->T0 and s->T1 actually occupy three op
slots.  The infrastructure used by opcodes in the 0F 3A table
works fine.

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