From: Remi Denis-Courmont Date: Fri, 25 Jan 2019 21:49:26 +0000 (+0200) Subject: target/arm: fix decoding of B{,L}RA{A,B} X-Git-Tag: v4.0.0-rc0~126^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1cf86a8618644beb860951ff4383457ee88a7f4a;p=thirdparty%2Fqemu.git target/arm: fix decoding of B{,L}RA{A,B} A flawed test lead to the instructions always being treated as unallocated encodings. Fixes: https://bugs.launchpad.net/bugs/1813460 Signed-off-by: Remi Denis-Courmont Reviewed-by: Richard Henderson Signed-off-by: Peter Maydell --- diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index b864ac7a69f..a1997e3ae28 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) {