]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/i386: move 3DNow to the new decoder
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 5 Sep 2022 21:27:53 +0000 (23:27 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 18 Oct 2022 11:58:05 +0000 (13:58 +0200)
commit71a0891d611189b651887414f56f8bb10c796d6f
tree73a12441cf6f06b73777f8084c41f46cd2325f05
parent0339ddfa7562d835cca1dd468c2ad08b84a7abb5
target/i386: move 3DNow to the new decoder

This adds another kind of weirdness when you thought you had seen it all:
an opcode byte that comes _after_ the address, not before.  It's not
worth adding a new X86_SPECIAL_* constant for it, but it's actually
not unlike VCMP; so, forgive me for exploiting the similarity and just
deciding to dispatch to the right gen_helper_* call in a single code
generation function.

In fact, the old decoder had a bug where s->rip_offset should have
been set to 1 for 3DNow! instructions, and it's fixed now.

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