]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
arm32: support (ARM) PLDW [reg, #imm]. The non-W variant was already
authorJulian Seward <jseward@acm.org>
Thu, 3 Jul 2014 11:01:38 +0000 (11:01 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 3 Jul 2014 11:01:38 +0000 (11:01 +0000)
accepted.  Fixes #323179.  (vasily.golubev@gmail.com)

git-svn-id: svn://svn.valgrind.org/vex/trunk@2896

VEX/priv/guest_arm_toIR.c

index d1763d322016e79e0d0ebb5e8d9e5a9e124005e8..c993e4b59640ef3fab317d5dadb4943cb8887e84 100644 (file)
@@ -14400,13 +14400,14 @@ static Bool decode_NV_instruction ( /*MOD*/DisResult* dres,
    // Should only be called for NV instructions
    vassert(BITS4(1,1,1,1) == INSN_COND);
 
-   /* ------------------------ pld ------------------------ */
-   if (BITS8(0,1,0,1, 0, 1,0,1) == (INSN(27,20) & BITS8(1,1,1,1,0,1,1,1))
+   /* ------------------------ pld{w} ------------------------ */
+   if (BITS8(0,1,0,1, 0,0, 0,1) == (INSN(27,20) & BITS8(1,1,1,1, 0,0, 1,1))
        && BITS4(1,1,1,1) == INSN(15,12)) {
       UInt rN    = INSN(19,16);
       UInt imm12 = INSN(11,0);
       UInt bU    = INSN(23,23);
-      DIP("pld [r%u, #%c%u]\n", rN, bU ? '+' : '-', imm12);
+      UInt bR    = INSN(22,22);
+      DIP("pld%c [r%u, #%c%u]\n", bR ? ' ' : 'w', rN, bU ? '+' : '-', imm12);
       return True;
    }