|
From: <sv...@va...> - 2014-07-03 11:01:51
|
Author: sewardj
Date: Thu Jul 3 11:01:38 2014
New Revision: 2896
Log:
arm32: support (ARM) PLDW [reg, #imm]. The non-W variant was already
accepted. Fixes #323179. (vas...@gm...)
Modified:
trunk/priv/guest_arm_toIR.c
Modified: trunk/priv/guest_arm_toIR.c
==============================================================================
--- trunk/priv/guest_arm_toIR.c (original)
+++ trunk/priv/guest_arm_toIR.c Thu Jul 3 11:01:38 2014
@@ -14400,13 +14400,14 @@
// 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;
}
|