Signed-off-by: Paolo Bonzini <[email protected]>
---
target/i386/tcg/decode-new.c.inc | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/target/i386/tcg/decode-new.c.inc b/target/i386/tcg/decode-new.c.inc
index ea8e26f7f98..9d17bae7e75 100644
--- a/target/i386/tcg/decode-new.c.inc
+++ b/target/i386/tcg/decode-new.c.inc
@@ -1878,16 +1878,11 @@ static const X86OpEntry opcodes_root[256] = {
#undef vex12
#undef vex13
-/*
- * Decode the fixed part of the opcode and place the last
- * in b.
- */
static void decode_root(DisasContext *s, CPUX86State *env, X86OpEntry *entry,
uint8_t *b)
{
*entry = opcodes_root[*b];
}
-
static int decode_modrm(DisasContext *s, CPUX86State *env,
X86DecodedInsn *decode, X86DecodedOp *op)
{
@@ -2222,6 +2217,10 @@ static bool decode_insn(DisasContext *s, CPUX86State
*env, X86DecodeFunc decode_
{
X86OpEntry *e = &decode->e;
+ /*
+ * Each step decodes part of the opcode and place the last
not-fully-decoded
+ * byte in decode->b. If the modrm byte is read, it is placed in s->modrm.
+ */
decode_func(s, env, e, &decode->b);
while (e->is_decode) {
e->is_decode = false;
--
2.52.0