On 8/25/2026 5:29 AM, Paolo Bonzini wrote:
Signed-off-by: Paolo Bonzini <[email protected]>
---
  target/i386/tcg/decode-new.h     |  3 +++
  target/i386/tcg/decode-new.c.inc | 21 ++++++++++-----------
  2 files changed, 13 insertions(+), 11 deletions(-)


...

@@ -2972,15 +2972,14 @@ static void disas_insn(DisasContext *s, CPUState *cpu)
                  goto illegal_op;
              }
          }
-        if (decode.e.check & X86_CHECK_prot_or_vm86) {
-            if (!PE(s)) {
-                goto illegal_op;
-            }
+        if ((decode.e.check & X86_CHECK_prot_or_vm86) && !PE(s)) {
+            goto illegal_op;
          }
-        if (decode.e.check & X86_CHECK_no_vm86) {
-            if (VM86(s)) {
-                goto illegal_op;
-            }
+        if ((decode.e.check & X86_CHECK_no_vm86) && VM86(s)) {
+            goto illegal_op;
+        }


These folded conditions don't seem directly related to the main point of this patch. Just saying...

+        if ((decode.e.check & X86_CHECK_no_rex2) && (s->prefix & PREFIX_REX2)) 
{
+            goto illegal_op;
          }
          if ((decode.e.check & X86_CHECK_VEX128) && s->vex_l) {
              goto illegal_op;


Overall, the change looks quite straightforward and sane to me:

  Reviewed-by: Chang S. Bae <[email protected]>

Reply via email to