diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index b864ac7a69fced80012d4cc141a508c133a0ba65..a1997e3ae28d7a5a169f8d815337a3ec05481306 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -2036,7 +2036,7 @@ static void disas_uncond_b_reg(DisasContext *s, uint32_t insn) if (!dc_isar_feature(aa64_pauth, s)) { goto do_unallocated; } - if (op3 != 2 || op3 != 3) { + if ((op3 & ~1) != 2) { goto do_unallocated; } if (s->pauth_active) {