Fix some HReg/UInt mixups, spotted by Florian.
git-svn-id: svn://svn.valgrind.org/vex/trunk@2660 8f6e269a-dfd6-0310-a8e1-e2731360e62c
diff --git a/priv/host_arm_defs.c b/priv/host_arm_defs.c
index e9272e4..9328375 100644
--- a/priv/host_arm_defs.c
+++ b/priv/host_arm_defs.c
@@ -3032,7 +3032,7 @@
UInt SBZ = 0;
instr |= XXXXX___(X1110, (1 & (subopc >> 3)),
((subopc << 1) & 0xF) | 1,
- i->ARMin.CmpOrTst.argL, SBZ );
+ iregNo(i->ARMin.CmpOrTst.argL), SBZ );
*p++ = instr;
goto done;
}
@@ -3041,7 +3041,8 @@
UInt subopc = X1101; /* MOV */
UInt SBZ = 0;
instr |= XXXXX___(X1110, (1 & (subopc >> 3)),
- (subopc << 1) & 0xF, SBZ, i->ARMin.Mov.dst);
+ (subopc << 1) & 0xF, SBZ,
+ iregNo(i->ARMin.Mov.dst));
*p++ = instr;
goto done;
}
@@ -3346,7 +3347,8 @@
UInt subopc = X1101; /* MOV */
UInt SBZ = 0;
instr |= XXXXX___(i->ARMin.CMov.cond, (1 & (subopc >> 3)),
- (subopc << 1) & 0xF, SBZ, i->ARMin.CMov.dst);
+ (subopc << 1) & 0xF, SBZ,
+ iregNo(i->ARMin.CMov.dst));
*p++ = instr;
goto done;
}