summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
diff options
context:
space:
mode:
authorMisha Brukman <brukman+llvm@gmail.com>2004-06-30 21:54:12 +0000
committerMisha Brukman <brukman+llvm@gmail.com>2004-06-30 21:54:12 +0000
commitfee5a22f8a6448e5e4316e7a7c54b3d5b3503f65 (patch)
treebab163a6019796ab9393f37543d92322112813f7 /llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
parent04f07b4589f918672525b5c4f5b7b1018b0d08b5 (diff)
downloadbcm5719-llvm-fee5a22f8a6448e5e4316e7a7c54b3d5b3503f65.tar.gz
bcm5719-llvm-fee5a22f8a6448e5e4316e7a7c54b3d5b3503f65.zip
* Inquire about the number of operands from the instruction directly
* Only check for a register if we are sure the instruction has one allocated llvm-svn: 14509
Diffstat (limited to 'llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
index 0d519eeab06..b06eb4bcc59 100644
--- a/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PowerPCAsmPrinter.cpp
@@ -498,7 +498,8 @@ void Printer::printMachineInstruction(const MachineInstr *MI) {
const TargetInstrDescriptor &Desc = TII.get(Opcode);
unsigned int i;
- unsigned int ArgCount = Desc.TSFlags & PPC32II::ArgCountMask;
+ unsigned int ArgCount = MI->getNumOperands();
+ //Desc.TSFlags & PPC32II::ArgCountMask;
unsigned int ArgType[] = {
(Desc.TSFlags >> PPC32II::Arg0TypeShift) & PPC32II::ArgTypeMask,
(Desc.TSFlags >> PPC32II::Arg1TypeShift) & PPC32II::ArgTypeMask,
@@ -554,7 +555,8 @@ void Printer::printMachineInstruction(const MachineInstr *MI) {
O << ", ";
printOp(MI->getOperand(1));
O << "(";
- if (MI->getOperand(2).getReg() == PPC32::R0)
+ if (MI->getOperand(2).hasAllocatedReg() &&
+ MI->getOperand(2).getReg() == PPC32::R0)
O << "0";
else
printOp(MI->getOperand(2));
OpenPOWER on IntegriCloud