Fix bug where source & target registers were swapped in an
emulation function.
git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@129474 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp b/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
index 09f2f11..9b8d07e 100644
--- a/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
+++ b/source/Plugins/Instruction/ARM/EmulateInstructionARM.cpp
@@ -3750,8 +3750,8 @@
bool add, index, wback;
switch (encoding) {
case eEncodingT1:
- Rt = Bits32(opcode, 5, 3);
- Rn = Bits32(opcode, 2, 0);
+ Rt = Bits32(opcode, 2, 0);
+ Rn = Bits32(opcode, 5, 3);
imm32 = Bits32(opcode, 10, 6) << 2; // imm32 = ZeroExtend(imm5:'00', 32);
// index = TRUE; add = TRUE; wback = FALSE
add = true;