Re: [PATCH v2 19/37] target/i386: reimplement 0x0f 0x60-0x6f, add AVX

2022-09-24 Thread Richard Henderson
On 9/20/22 17:24, Paolo Bonzini wrote: +static void gen_MOVD_to(DisasContext *s, CPUX86State *env, X86DecodedInsn *decode) +{ +MemOp ot = decode->op[2].ot; +int vec_len = vector_len(s, decode); +int lo_ofs = vector_elem_offset(&decode->op[0], ot, 0); + +tcg_gen_gvec_dup_imm(MO_64

[PATCH v2 19/37] target/i386: reimplement 0x0f 0x60-0x6f, add AVX

2022-09-20 Thread Paolo Bonzini
These are both MMX and SSE/AVX instructions, except for vmovdqu. In both cases the inputs and output is in s->ptr{0,1,2}, so the only difference between MMX, SSE, and AVX is which helper to call. Signed-off-by: Paolo Bonzini --- target/i386/tcg/decode-new.c.inc | 42 +++ target/i386/tcg/em