diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 4f09dfb95a..d0352e2045 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -3217,7 +3217,7 @@ static void disas_bitfield(DisasContext *s, uint32_t insn) tcg_tmp = read_cpu_reg(s, rn, 1); /* Recognize simple(r) extractions. */ - if (si <= ri) { + if (si >= ri) { /* Wd = Wn */ len = (si - ri) + 1; if (opc == 0) { /* SBFM: ASR, SBFX, SXTB, SXTH, SXTW */