arm: Correctly display disassembly of vldmia/vstmia

The MicroMemOp class generates the disassembly for both integer
and floating point instructions, but it would always print its
first operand as an integer register without considering that the
op may be a floating instruction in which case a float register
should be displayed instead.
This commit is contained in:
Curtis Dunham 2014-04-23 05:18:30 -04:00
parent 564cc801c6
commit ecf774bc56

View file

@ -1483,7 +1483,10 @@ MicroMemOp::generateDisassembly(Addr pc, const SymbolTable *symtab) const
{
std::stringstream ss;
printMnemonic(ss);
printReg(ss, ura);
if (isFloating())
printReg(ss, ura + FP_Reg_Base);
else
printReg(ss, ura);
ss << ", [";
printReg(ss, urb);
ss << ", ";