summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@freebsd.org>2013-09-12 17:50:54 +0000
committerRoman Divacky <rdivacky@freebsd.org>2013-09-12 17:50:54 +0000
commit62cb63543b4a766b6d02be87c71d09d9f2ff8ea4 (patch)
tree522ed2534b4da76c496515aeb77c69da8f162fbb /llvm/test
parentf2189bf311d17b42b164b1f7aea0ea7a0161b9bb (diff)
downloadbcm5719-llvm-62cb63543b4a766b6d02be87c71d09d9f2ff8ea4.tar.gz
bcm5719-llvm-62cb63543b4a766b6d02be87c71d09d9f2ff8ea4.zip
Implement asm support for a few PowerPC bookIII that are needed for assembling
FreeBSD kernel. llvm-svn: 190618
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s107
1 files changed, 107 insertions, 0 deletions
diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s b/llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s
new file mode 100644
index 00000000000..318c30b04d4
--- /dev/null
+++ b/llvm/test/MC/PowerPC/ppc64-encoding-bookIII.s
@@ -0,0 +1,107 @@
+# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck %s
+
+# CHECK: mtmsr 4, 0 # encoding: [0x7c,0x80,0x01,0x24]
+ mtmsr %r4
+
+# CHECK: mtmsr 4, 1 # encoding: [0x7c,0x81,0x01,0x24]
+ mtmsr %r4, 1
+
+# CHECK: mfmsr 4 # encoding: [0x7c,0x80,0x00,0xa6]
+ mfmsr %r4
+
+# CHECK: mtmsrd 4, 0 # encoding: [0x7c,0x80,0x01,0x64]
+ mtmsrd %r4
+
+# CHECK: mtmsrd 4, 1 # encoding: [0x7c,0x81,0x01,0x64]
+ mtmsrd %r4, 1
+
+# CHECK: mfspr 4, 272 # encoding: [0x7c,0x90,0x42,0xa6]
+ mfsprg %r4, 0
+
+# CHECK: mfspr 4, 273 # encoding: [0x7c,0x91,0x42,0xa6]
+ mfsprg %r4, 1
+
+# CHECK: mfspr 4, 274 # encoding: [0x7c,0x92,0x42,0xa6]
+ mfsprg %r4, 2
+
+# CHECK: mfspr 4, 275 # encoding: [0x7c,0x93,0x42,0xa6]
+ mfsprg %r4, 3
+
+# CHECK: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6]
+ mtsprg 0, %r4
+
+# CHECK: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6]
+ mtsprg 1, %r4
+
+# CHECK: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6]
+ mtsprg 2, %r4
+
+# CHECK: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6]
+ mtsprg 3, %r4
+
+# CHECK: mtspr 272, 4 # encoding: [0x7c,0x90,0x43,0xa6]
+ mtsprg0 %r4
+
+# CHECK: mtspr 273, 4 # encoding: [0x7c,0x91,0x43,0xa6]
+ mtsprg1 %r4
+
+# CHECK: mtspr 274, 4 # encoding: [0x7c,0x92,0x43,0xa6]
+ mtsprg2 %r4
+
+# CHECK: mtspr 275, 4 # encoding: [0x7c,0x93,0x43,0xa6]
+ mtsprg3 %r4
+
+# CHECK: mtspr 280, 4 # encoding: [0x7c,0x98,0x43,0xa6]
+ mtasr %r4
+
+# CHECK: mfspr 4, 22 # encoding: [0x7c,0x96,0x02,0xa6]
+ mfdec %r4
+
+# CHECK: mtspr 22, 4 # encoding: [0x7c,0x96,0x03,0xa6]
+ mtdec %r4
+
+# CHECK: mfspr 4, 287 # encoding: [0x7c,0x9f,0x42,0xa6]
+ mfpvr %r4
+
+# CHECK: mfspr 4, 25 # encoding: [0x7c,0x99,0x02,0xa6]
+ mfsdr1 %r4
+
+# CHECK: mtspr 25, 4 # encoding: [0x7c,0x99,0x03,0xa6]
+ mtsdr1 %r4
+
+# CHECK: mfspr 4, 26 # encoding: [0x7c,0x9a,0x02,0xa6]
+ mfsrr0 %r4
+
+# CHECK: mtspr 26, 4 # encoding: [0x7c,0x9a,0x03,0xa6]
+ mtsrr0 %r4
+
+# CHECK: mfspr 4, 27 # encoding: [0x7c,0x9b,0x02,0xa6]
+ mfsrr1 %r4
+
+# CHECK: mtspr 27, 4 # encoding: [0x7c,0x9b,0x03,0xa6]
+ mtsrr1 %r4
+
+# CHECK: slbie 4 # encoding: [0x7c,0x00,0x23,0x64]
+ slbie %r4
+
+# CHECK: slbmte 4, 5 # encoding: [0x7c,0x80,0x2b,0x24]
+ slbmte %r4, %r5
+
+# CHECK: slbmfee 4, 5 # encoding: [0x7c,0x80,0x2f,0x26]
+ slbmfee %r4, %r5
+
+# CHECK: slbia # encoding: [0x7c,0x00,0x03,0xe4]
+ slbia
+
+# CHECK: tlbsync # encoding: [0x7c,0x00,0x04,0x6c]
+ tlbsync
+
+# CHECK: tlbiel 4 # encoding: [0x7c,0x00,0x22,0x24]
+ tlbiel %r4
+
+# CHECK: tlbie 4,0 # encoding: [0x7c,0x00,0x22,0x64]
+ tlbie %r4, 0
+
+# CHECK: tlbie 4,0 # encoding: [0x7c,0x00,0x22,0x64]
+ tlbie %r4
+
OpenPOWER on IntegriCloud