summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.td3
-rw-r--r--llvm/test/MC/PowerPC/ppc64-encoding-ext.s7
2 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
index aa5466c192d..51e0a3f9859 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
@@ -3360,6 +3360,9 @@ def : InstAlias<"subc. $rA, $rB, $rC", (SUBFC8o g8rc:$rA, g8rc:$rC, g8rc:$rB)>;
def : InstAlias<"mtmsrd $RS", (MTMSRD gprc:$RS, 0)>;
def : InstAlias<"mtmsr $RS", (MTMSR gprc:$RS, 0)>;
+def : InstAlias<"mfasr $RT", (MFSPR gprc:$RT, 280)>;
+def : InstAlias<"mtasr $RT", (MTSPR 280, gprc:$RT)>;
+
foreach SPRG = 0-3 in {
def : InstAlias<"mfsprg $RT, "#SPRG, (MFSPR gprc:$RT, !add(SPRG, 272))>;
def : InstAlias<"mfsprg"#SPRG#" $RT", (MFSPR gprc:$RT, !add(SPRG, 272))>;
diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-ext.s b/llvm/test/MC/PowerPC/ppc64-encoding-ext.s
index 0729154c5ca..0ffe0bf6b7c 100644
--- a/llvm/test/MC/PowerPC/ppc64-encoding-ext.s
+++ b/llvm/test/MC/PowerPC/ppc64-encoding-ext.s
@@ -3626,3 +3626,10 @@
# CHECK-BE: rfid # encoding: [0x4c,0x00,0x00,0x24]
# CHECK-LE: rfid # encoding: [0x24,0x00,0x00,0x4c]
rfid
+
+# CHECK-BE: mfspr 2, 280 # encoding: [0x7c,0x58,0x42,0xa6]
+# CHECK-LE: mfspr 2, 280 # encoding: [0xa6,0x42,0x58,0x7c]
+ mfasr 2
+# CHECK-BE: mtspr 280, 2 # encoding: [0x7c,0x58,0x43,0xa6]
+# CHECK-LE: mtspr 280, 2 # encoding: [0xa6,0x43,0x58,0x7c]
+ mtasr 2
OpenPOWER on IntegriCloud