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, Index: lib/Target/PowerPC/PPCInstrFormats.td =================================================================== --- lib/Target/PowerPC/PPCInstrFormats.td +++ lib/Target/PowerPC/PPCInstrFormats.td @@ -720,6 +720,7 @@ : XForm_base_r3xo_memOp { } +// [PO RT /// RB XO RC] class XForm_26 opcode, bits<10> xo, dag OOL, dag IOL, string asmstr, InstrItinClass itin, list pattern> : XForm_base_r3xo { 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/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: 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