summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/Printer.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2004-02-17 07:40:44 +0000
committerChris Lattner <sabre@nondot.org>2004-02-17 07:40:44 +0000
commitc07eeaef6b65ecc47c8dc57eff692f80f0f622d8 (patch)
tree7d56edbe5b10ce296e104a351b5e3d98828491b5 /llvm/lib/Target/X86/Printer.cpp
parenta9363fda1712a9b3b4d7540e6aae7ec2c89ce304 (diff)
downloadbcm5719-llvm-c07eeaef6b65ecc47c8dc57eff692f80f0f622d8.tar.gz
bcm5719-llvm-c07eeaef6b65ecc47c8dc57eff692f80f0f622d8.zip
Expand the repertoire of the forms we can print and encode.
llvm-svn: 11537
Diffstat (limited to 'llvm/lib/Target/X86/Printer.cpp')
-rw-r--r--llvm/lib/Target/X86/Printer.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/llvm/lib/Target/X86/Printer.cpp b/llvm/lib/Target/X86/Printer.cpp
index 1b70773b533..be1f34d3bbe 100644
--- a/llvm/lib/Target/X86/Printer.cpp
+++ b/llvm/lib/Target/X86/Printer.cpp
@@ -699,17 +699,16 @@ void Printer::printMachineInstruction(const MachineInstr *MI) {
//
assert(MI->getOperand(0).isRegister() &&
(MI->getNumOperands() == 1+4 && isMem(MI, 1)) ||
- (MI->getNumOperands() == 2+4 && MI->getOperand(1).isRegister() &&
- isMem(MI, 2))
+(MI->getNumOperands() == 2+4 && MI->getOperand(5).isImmediate() && isMem(MI, 1))
&& "Bad format for MRMSrcMem!");
- if (MI->getNumOperands() == 2+4 &&
- MI->getOperand(0).getReg() != MI->getOperand(1).getReg())
- O << "**";
-
O << TII.getName(MI->getOpcode()) << " ";
printOp(MI->getOperand(0));
O << ", " << sizePtr(Desc) << " ";
- printMemReference(MI, MI->getNumOperands()-4);
+ printMemReference(MI, 1);
+ if (MI->getNumOperands() == 2+4) {
+ O << ", ";
+ printOp(MI->getOperand(5));
+ }
O << "\n";
return;
}
OpenPOWER on IntegriCloud