summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2014-08-05 14:40:32 +0000
committerJoerg Sonnenberger <joerg@bec.de>2014-08-05 14:40:32 +0000
commit412471271e572cbe78b6f5d81b8ae1f53d2c40ef (patch)
tree770a6e518974eef95678608260ffe6945a83e0b4 /llvm
parent048284e1b65bd3862698fef860ceb3ca7b3b24b3 (diff)
downloadbcm5719-llvm-412471271e572cbe78b6f5d81b8ae1f53d2c40ef.tar.gz
bcm5719-llvm-412471271e572cbe78b6f5d81b8ae1f53d2c40ef.zip
Add dci/ici instructions for PPC 476 and friends.
llvm-svn: 214864
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/PowerPC/PPCInstrInfo.td16
-rw-r--r--llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-4xx.txt5
-rw-r--r--llvm/test/MC/PowerPC/ppc64-encoding-4xx.s7
3 files changed, 28 insertions, 0 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCInstrInfo.td b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
index 764f46ebc47..1b11cd87823 100644
--- a/llvm/lib/Target/PowerPC/PPCInstrInfo.td
+++ b/llvm/lib/Target/PowerPC/PPCInstrInfo.td
@@ -3090,6 +3090,22 @@ def WRTEEI: I<31, (outs), (ins i1imm:$E), "wrteei $E", IIC_SprMTMSR>,
let Inst{21-30} = 163;
}
+def DCI: I<31, (outs), (ins u4imm:$CT), "dci $CT", IIC_LdStLoad>,
+ Requires<[IsPPC4xx]> {
+ bits<4> CT;
+
+ let Inst{7-10} = CT;
+ let Inst{21-30} = 454;
+}
+
+def ICI: I<31, (outs), (ins u4imm:$CT), "ici $CT", IIC_LdStLoad>,
+ Requires<[IsPPC4xx]> {
+ bits<4> CT;
+
+ let Inst{7-10} = CT;
+ let Inst{21-30} = 966;
+}
+
def MFMSR : XForm_rs<31, 83, (outs gprc:$RT), (ins),
"mfmsr $RT", IIC_SprMFMSR, []>;
diff --git a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-4xx.txt b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-4xx.txt
index 0c15d0395d7..d4f2e3747e7 100644
--- a/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-4xx.txt
+++ b/llvm/test/MC/Disassembler/PowerPC/ppc64-encoding-4xx.txt
@@ -19,3 +19,8 @@
0x7c 0x43 0x0f 0x24
# CHECK: tlbsx. 2, 3, 1
0x7c 0x43 0x0f 0x25
+
+# CHECK-BE: dci 14
+0x7d 0xc0 0x03 0x8c
+# CHECK-BE: ici 14
+0x7d 0xc0 0x07 0x8c
diff --git a/llvm/test/MC/PowerPC/ppc64-encoding-4xx.s b/llvm/test/MC/PowerPC/ppc64-encoding-4xx.s
index c30d277061e..b973b0fdeaa 100644
--- a/llvm/test/MC/PowerPC/ppc64-encoding-4xx.s
+++ b/llvm/test/MC/PowerPC/ppc64-encoding-4xx.s
@@ -90,3 +90,10 @@
# CHECK-BE: mtspr 988, 2 # encoding: [0x7c,0x5c,0xf3,0xa6]
# CHECK-LE: mtspr 988, 2 # encoding: [0xa6,0xf3,0x5c,0x7c]
mttbhi %r2
+
+# CHECK-BE: dci 14 # encoding: [0x7d,0xc0,0x03,0x8c]
+# CHECK-LE: dci 14 # encoding: [0x8c,0x03,0xc0,0x7d]
+ dci 14
+# CHECK-BE: ici 14 # encoding: [0x7d,0xc0,0x07,0x8c]
+# CHECK-LE: ici 14 # encoding: [0x8c,0x07,0xc0,0x7d]
+ ici 14
OpenPOWER on IntegriCloud