aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitriy Ivanov <dimitry@google.com>2015-10-23 11:36:50 -0700
committerDmitriy Ivanov <dimitry@google.com>2015-10-23 11:36:50 -0700
commit667e84bb0b221c9cedf149e4fde14fcd576a37c2 (patch)
tree1519a54afeeaa1eaf6efd655231073adec804bc5
parent27f0d9859e0d6bdf62795c98aa9b63cbeb233595 (diff)
downloadvalgrind-667e84bb0b221c9cedf149e4fde14fcd576a37c2.tar.gz
Fix for unhandled sub.w rD, sp, rM, lsl N
Bug: http://b/24669806 Bug: https://bugs.kde.org/show_bug.cgi?id=354274 Change-Id: I3d6f4dd429dd6eb45f576b37e388c2bc9283f96d
-rw-r--r--VEX/priv/guest_arm_toIR.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/VEX/priv/guest_arm_toIR.c b/VEX/priv/guest_arm_toIR.c
index d2bcf1676..54ccd072c 100644
--- a/VEX/priv/guest_arm_toIR.c
+++ b/VEX/priv/guest_arm_toIR.c
@@ -19671,10 +19671,10 @@ DisResult disInstr_THUMB_WRK (
&& rD != 15 && rN == 13 && imm5 <= 3 && how == 0) {
valid = True;
}
- /* also allow "sub.w reg, sp, reg w/ no shift
+ /* also allow "sub.w reg, sp, reg lsl #N for N=0,1,2 or 3
(T1) "SUB (SP minus register) */
if (!valid && INSN0(8,5) == BITS4(1,1,0,1) // sub
- && rD != 15 && rN == 13 && imm5 == 0 && how == 0) {
+ && rD != 15 && rN == 13 && imm5 <= 3 && how == 0) {
valid = True;
}
if (valid) {