diff options
author | Chris Lattner <sabre@nondot.org> | 2006-11-18 01:23:56 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-11-18 01:23:56 +0000 |
commit | 566c1b1a0442ccbf9f52b176dbca9764d94e5f93 (patch) | |
tree | ae2e9f1d59e5ddb1700495aead13282d8f2b21b1 /lib/Target/PowerPC/PPCAsmPrinter.cpp | |
parent | 54e853b8a6435591f5733f3d0d3f196ae755079b (diff) |
Pretty print 'rldicr r2, r2, 2, 61' as 'sldi r2, r2, 2'.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31838 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCAsmPrinter.cpp')
-rw-r--r-- | lib/Target/PowerPC/PPCAsmPrinter.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCAsmPrinter.cpp b/lib/Target/PowerPC/PPCAsmPrinter.cpp index 29a01a349a..7ac423348a 100644 --- a/lib/Target/PowerPC/PPCAsmPrinter.cpp +++ b/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)) |