projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
fe68cc0
)
target/i386: Do not apply REX to MMX operands
author
Richard Henderson
<richard.henderson@linaro.org>
Mon, 12 Aug 2024 02:58:42 +0000
(12:58 +1000)
committer
Paolo Bonzini
<pbonzini@redhat.com>
Tue, 13 Aug 2024 09:33:34 +0000
(11:33 +0200)
Cc: qemu-stable@nongnu.org
Fixes: b3e22b2318a ("target/i386: add core of new i386 decoder")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2495
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Link:
https://lore.kernel.org/r/20240812025844.58956-2-richard.henderson@linaro.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
target/i386/tcg/decode-new.c.inc
patch
|
blob
|
history
diff --git
a/target/i386/tcg/decode-new.c.inc
b/target/i386/tcg/decode-new.c.inc
index b22210f45d96e6e84441da473a4c7fac88b8e3a5..03138b3876d95e45a7675d0399693d286e9f582c 100644
(file)
--- a/
target/i386/tcg/decode-new.c.inc
+++ b/
target/i386/tcg/decode-new.c.inc
@@
-1979,7
+1979,10
@@
static bool decode_op(DisasContext *s, CPUX86State *env, X86DecodedInsn *decode,
op->unit = X86_OP_SSE;
}
get_reg:
- op->n = ((get_modrm(s, env) >> 3) & 7) | REX_R(s);
+ op->n = ((get_modrm(s, env) >> 3) & 7);
+ if (op->unit != X86_OP_MMX) {
+ op->n |= REX_R(s);
+ }
break;
case X86_TYPE_E: /* ALU modrm operand */