]> granicus.if.org Git - llvm/commitdiff
Add slbfee instruction.
authorSean Fertile <sfertile@ca.ibm.com>
Mon, 15 Apr 2019 17:08:43 +0000 (17:08 +0000)
committerSean Fertile <sfertile@ca.ibm.com>
Mon, 15 Apr 2019 17:08:43 +0000 (17:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358425 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/P9InstrResources.td
lib/Target/PowerPC/PPCInstrFormats.td
lib/Target/PowerPC/PPCInstrInfo.td
lib/Target/PowerPC/PPCSchedule.td
test/MC/PowerPC/ppc64-encoding-bookIII.s

index f87959f7c5fbb438a01b466964dc18313f4493d8..4443c469ae4514ccc2d2946e1d69f3d789c32161 100644 (file)
@@ -1405,6 +1405,7 @@ def : InstRW<[],
   MBAR,
   MSYNC,
   SLBSYNC,
+  SLBFEEo,
   NAP,
   STOP,
   TRAP,
index 7091f790da5b45176ba81de13236d2da07915fac..a48eb169069579d22fb314f2e98a4b1454a905a4 100644 (file)
@@ -720,6 +720,7 @@ class XForm_25_memOp<bits<6> opcode, bits<10> xo, dag OOL, dag IOL,
   : XForm_base_r3xo_memOp<opcode, xo, OOL, IOL, asmstr, itin, pattern> {
 }
 
+// [PO RT /// RB XO RC]
 class XForm_26<bits<6> opcode, bits<10> xo, dag OOL, dag IOL, string asmstr,
                InstrItinClass itin, list<dag> pattern>
   : XForm_base_r3xo<opcode, xo, OOL, IOL, asmstr, itin, pattern> {
index 5b541f2bb034dd3fb775e0e04af8d69e05a7a408..55d9fa7ed67d1cba4b8680d10ab067b84b1018ca 100644 (file)
@@ -4092,6 +4092,10 @@ def SLBMFEV : XLForm_1_gen<31, 851, (outs gprc:$RT), (ins gprc:$RB),
 
 def SLBIA : XForm_0<31, 498, (outs), (ins), "slbia", IIC_SprSLBIA, []>;
 
+let Defs = [CR0] in
+def SLBFEEo : XForm_26<31, 979, (outs gprc:$RT), (ins gprc:$RB),
+                         "slbfee. $RT, $RB", IIC_SprSLBFEE, []>, isDOT;
+
 def TLBIA : XForm_0<31, 370, (outs), (ins),
                         "tlbia", IIC_SprTLBIA, []>;
 
index 1a54975cb8f3ff7a024407158a184814854d2858..4fa29d96ca14d71296478157f05e4eb1a7cc7916 100644 (file)
@@ -105,6 +105,7 @@ def IIC_VecVSL       : InstrItinClass;
 def IIC_VecVSR       : InstrItinClass;
 def IIC_SprMTMSRD    : InstrItinClass;
 def IIC_SprSLIE      : InstrItinClass;
+def IIC_SprSLBFEE    : InstrItinClass;
 def IIC_SprSLBIE     : InstrItinClass;
 def IIC_SprSLBIEG    : InstrItinClass;
 def IIC_SprSLBMTE    : InstrItinClass;
index a9d21b299f52a1214b2b0f4647d8fd3775cdc746..9592f425dce3117d747adb7c5c103ad0e652a73e 100644 (file)
 # CHECK-LE: slbia                           # encoding: [0xe4,0x03,0x00,0x7c]
             slbia
 
+# CHECK-BE: slbfee. 4, 5                    # encoding: [0x7c,0x80,0x2f,0xa7]
+# CHECK-LE: slbfee. 4, 5                    # encoding: [0xa7,0x2f,0x80,0x7c]
+            slbfee. %r4, %r5
+
 # CHECK-BE: tlbsync                         # encoding: [0x7c,0x00,0x04,0x6c]
 # CHECK-LE: tlbsync                         # encoding: [0x6c,0x04,0x00,0x7c]
             tlbsync