The test for the U bit was incorrectly inverted in the scalar case of SQXTUN. This doesn't affect the vector case as the U bit is used to select XTN(2).
Reported-by: Hao Liu <hao....@arm.com> Signed-off-by: Alex Bennée <alex.ben...@linaro.org> --- target-arm/translate-a64.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-arm/translate-a64.c b/target-arm/translate-a64.c index a74128c..0adffbb 100644 --- a/target-arm/translate-a64.c +++ b/target-arm/translate-a64.c @@ -7553,7 +7553,7 @@ static void disas_simd_scalar_two_reg_misc(DisasContext *s, uint32_t insn) } break; case 0x12: /* SQXTUN */ - if (u) { + if (!u) { unallocated_encoding(s); return; } -- 1.9.2