From: Julian Seward Date: Mon, 22 May 2017 09:03:54 +0000 (+0000) Subject: Allow "sub.w reg, sp, reg, lsl #N" for N in 0 .. 5 rather than N in 0 .. 3. X-Git-Tag: svn/VALGRIND_3_13_0^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a70670d3d92f0289b0fe4419cfc0a80cd484a947;p=thirdparty%2Fvalgrind.git Allow "sub.w reg, sp, reg, lsl #N" for N in 0 .. 5 rather than N in 0 .. 3. Fixes bug 379890. (jeundery@gmail.com) git-svn-id: svn://svn.valgrind.org/vex/trunk@3379 --- diff --git a/VEX/priv/guest_arm_toIR.c b/VEX/priv/guest_arm_toIR.c index e3a7e1eff8..b26393ac8e 100644 --- a/VEX/priv/guest_arm_toIR.c +++ b/VEX/priv/guest_arm_toIR.c @@ -21153,10 +21153,10 @@ DisResult disInstr_THUMB_WRK ( && rD != 15 && rN == 13 && imm5 <= 31 && how == 0) { valid = True; } - /* also allow "sub.w reg, sp, reg lsl #N for N=0,1,2 or 3 + /* also allow "sub.w reg, sp, reg lsl #N for N=0 .. 5 (T1) "SUB (SP minus register) */ if (!valid && INSN0(8,5) == BITS4(1,1,0,1) // sub - && rD != 15 && rN == 13 && imm5 <= 3 && how == 0) { + && rD != 15 && rN == 13 && imm5 <= 5 && how == 0) { valid = True; } if (valid) {