[PATCH] D60216: [PowerPC] Add support for encoding slbfee (SLB Find Entry ESID) instruction.
Sean Fertile via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 3 10:13:03 PDT 2019
sfertile created this revision.
sfertile added reviewers: hfinkel, nemanjai, jsji.
Herald added a subscriber: kbarton.
Herald added a project: LLVM.
Repository:
rL LLVM
https://reviews.llvm.org/D60216
Files:
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: test/MC/PowerPC/ppc64-encoding-bookIII.s
===================================================================
--- test/MC/PowerPC/ppc64-encoding-bookIII.s
+++ test/MC/PowerPC/ppc64-encoding-bookIII.s
@@ -150,6 +150,10 @@
# 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
Index: lib/Target/PowerPC/PPCSchedule.td
===================================================================
--- lib/Target/PowerPC/PPCSchedule.td
+++ lib/Target/PowerPC/PPCSchedule.td
@@ -105,6 +105,7 @@
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: lib/Target/PowerPC/PPCInstrInfo.td
===================================================================
--- lib/Target/PowerPC/PPCInstrInfo.td
+++ lib/Target/PowerPC/PPCInstrInfo.td
@@ -4081,6 +4081,10 @@
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: lib/Target/PowerPC/PPCInstrFormats.td
===================================================================
--- lib/Target/PowerPC/PPCInstrFormats.td
+++ lib/Target/PowerPC/PPCInstrFormats.td
@@ -720,6 +720,7 @@
: 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: lib/Target/PowerPC/P9InstrResources.td
===================================================================
--- lib/Target/PowerPC/P9InstrResources.td
+++ lib/Target/PowerPC/P9InstrResources.td
@@ -1405,6 +1405,7 @@
MBAR,
MSYNC,
SLBSYNC,
+ SLBFEEo,
NAP,
STOP,
TRAP,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D60216.193509.patch
Type: text/x-patch
Size: 2545 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190403/7d9b308f/attachment.bin>
More information about the llvm-commits
mailing list