diff --git a/target/i386/translate.c b/target/i386/translate.c index 77d6b73e42..7b80c66b7d 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -4447,8 +4447,8 @@ static void gen_sse(CPUX86State *env, DisasContext *s, int b, case 0xc2: /* compare insns */ val = x86_ldub_code(env, s); - if (val >= 8) - goto unknown_op; + /* 8-bit value only uses bits [2:0] */ + val &= 7; sse_fn_epp = sse_op_table4[val][b1]; tcg_gen_addi_ptr(s->ptr0, cpu_env, op1_offset);