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.
Signed-off-by: Paolo Bonzini<pbonzini@redhat.com>
---
target/i386/tcg/decode-new.c.inc | 10 +++++
target/i386/tcg/decode-new.h | 1 +
target/i386/tcg/emit.c.inc | 61 +++++++++++++++++++++++++++
target/i386/tcg/translate.c | 71 +-------------------------------
4 files changed, 74 insertions(+), 69 deletions(-)