diff --git a/target-i386/translate.c b/target-i386/translate.c index 0a7e4e34879ea68443ea6cb3e867e8f9c08d2980..ee7585044bbe5e5ae78646ba99b8e0007aeb213c 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -7768,7 +7768,7 @@ static target_ulong disas_insn(DisasContext *s, target_ulong pc_start) goto illegal_op; modrm = cpu_ldub_code(cpu_single_env, s->pc++); - reg = ((modrm >> 3) & 7); + reg = ((modrm >> 3) & 7) | rex_r; if (s->prefix & PREFIX_DATA) ot = OT_WORD;