summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-11-18 01:23:56 +0000
committerChris Lattner <sabre@nondot.org>2006-11-18 01:23:56 +0000
commit9ca15c891474e0f7112b5688d480c7c0429dd06d (patch)
tree7c1aadec9edd2a0bd5f7174c66f3b996ca6eeff8 /llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
parent542dfd5510beb6e75b6dcd802222b26f4ec5f392 (diff)
downloadbcm5719-llvm-9ca15c891474e0f7112b5688d480c7c0429dd06d.tar.gz
bcm5719-llvm-9ca15c891474e0f7112b5688d480c7c0429dd06d.zip
Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.
llvm-svn: 31838
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r--llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 29a01a349a3..7ac423348ab 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -438,6 +438,18 @@ void PPCAsmPrinter::printMachineInstruction(const MachineInstr *MI) {
O << "\n";
return;
}
+ } else if (MI->getOpcode() == PPC::RLDICR) {
+ unsigned char SH = MI->getOperand(2).getImmedValue();
+ unsigned char ME = MI->getOperand(3).getImmedValue();
+ // rldicr RA, RS, SH, 63-SH == sldi RA, RS, SH
+ if (63-SH == ME) {
+ O << "sldi ";
+ printOperand(MI, 0);
+ O << ", ";
+ printOperand(MI, 1);
+ O << ", " << (unsigned int)SH << "\n";
+ return;
+ }
}
if (printInstruction(MI))
OpenPOWER on IntegriCloud