[llvm] r185829 - [PowerPC] Support time base instructions
Ulrich Weigand
ulrich.weigand at de.ibm.com
Mon Jul 8 08:20:38 PDT 2013
Author: uweigand
Date: Mon Jul 8 10:20:38 2013
New Revision: 185829
URL: http://llvm.org/viewvc/llvm-project?rev=185829&view=rev
Log:
[PowerPC] Support time base instructions
This adds support for the old-style time base instructions;
while new programs are supposed to use mfspr, the mftb instructions
are still supported and in use by existing assembler files.
Modified:
llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td
llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s
Modified: llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td?rev=185829&r1=185828&r2=185829&view=diff
==============================================================================
--- llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td (original)
+++ llvm/trunk/lib/Target/PowerPC/PPCInstrInfo.td Mon Jul 8 10:20:38 2013
@@ -1853,6 +1853,9 @@ def MFSPR : XFXForm_1<31, 339, (outs gpr
def MTSPR : XFXForm_1<31, 467, (outs), (ins i32imm:$SPR, gprc:$RT),
"mtspr $SPR, $RT", SprMTSPR>;
+def MFTB : XFXForm_1<31, 371, (outs gprc:$RT), (ins i32imm:$SPR),
+ "mftb $RT, $SPR", SprMFTB>;
+
let Uses = [CTR] in {
def MFCTR : XFXForm_1_ext<31, 339, 9, (outs gprc:$rT), (ins),
"mfctr $rT", SprMFSPR>,
@@ -2335,6 +2338,9 @@ def : InstAlias<"crnot $bx, $by", (CRNOR
def : InstAlias<"mtxer $Rx", (MTSPR 1, gprc:$Rx)>;
def : InstAlias<"mfxer $Rx", (MFSPR gprc:$Rx, 1)>;
+def : InstAlias<"mftb $Rx", (MFTB gprc:$Rx, 268)>;
+def : InstAlias<"mftbu $Rx", (MFTB gprc:$Rx, 269)>;
+
def : InstAlias<"xnop", (XORI R0, R0, 0)>;
def : InstAlias<"mr $rA, $rB", (OR8 g8rc:$rA, g8rc:$rB, g8rc:$rB)>;
Modified: llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s?rev=185829&r1=185828&r2=185829&view=diff
==============================================================================
--- llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s (original)
+++ llvm/trunk/test/MC/PowerPC/ppc64-encoding-bookII.s Mon Jul 8 10:20:38 2013
@@ -71,3 +71,12 @@
# CHECK: wait 2 # encoding: [0x7c,0x40,0x00,0x7c]
waitimpl
+# Time base instructions
+
+# CHECK: mftb 2, 123 # encoding: [0x7c,0x5b,0x1a,0xe6]
+ mftb 2, 123
+# CHECK: mftb 2, 268 # encoding: [0x7c,0x4c,0x42,0xe6]
+ mftb 2
+# CHECK: mftb 2, 269 # encoding: [0x7c,0x4d,0x42,0xe6]
+ mftbu 2
+
More information about the llvm-commits
mailing list