Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.
authorChris Lattner <sabre@nondot.org>
Sat, 18 Nov 2006 01:23:56 +0000 (01:23 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 18 Nov 2006 01:23:56 +0000 (01:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31838 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCAsmPrinter.cpp

index 29a01a349a336c87a067644f03c95878da5795ca..7ac423348ab0fe9c73d8048730ee062caec1e6ee 100644 (file)
@@ -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))