Home
last modified time | relevance | path

Searched refs:ComplexPattern (Results 1 – 25 of 73) sorted by relevance

123

/freebsd/contrib/llvm-project/llvm/lib/Target/M68k/
H A DM68kInstrInfo.td508 def MxCP_ARI : ComplexPattern<iPTR, 1, "SelectARI">;
510 def MxCP_ARIPI : ComplexPattern<iPTR, 1, "SelectARIPI">;
512 def MxCP_ARIPD : ComplexPattern<iPTR, 1, "SelectARIPD">;
514 def MxCP_ARID : ComplexPattern<iPTR, 2, "SelectARID",
517 def MxCP_ARII : ComplexPattern<iPTR, 3, "SelectARII",
520 def MxCP_AL : ComplexPattern<iPTR, 1, "SelectAL",
523 def MxCP_PCD : ComplexPattern<iPTR, 1, "SelectPCD",
526 def MxCP_PCI : ComplexPattern<iPTR, 2, "SelectPCI",
614 MxOperand jOp, ComplexPattern jPat,
617 MxOperand oOp, ComplexPattern oPat,
[all …]
H A DM68kInstrBits.td143 MxOperand MEMOpd, ComplexPattern MEMPat> {
/freebsd/contrib/llvm-project/llvm/utils/TableGen/Common/
H A DCodeGenTarget.h235 class ComplexPattern {
246 ComplexPattern(const Record *R);
H A DCodeGenTarget.cpp343 ComplexPattern::ComplexPattern(const Record *R) { in ComplexPattern() function in ComplexPattern
H A DDAGISelMatcher.h30 class ComplexPattern; variable
710 const ComplexPattern &Pattern;
724 CheckComplexPatMatcher(const ComplexPattern &pattern, unsigned matchnumber, in CheckComplexPatMatcher()
729 const ComplexPattern &getPattern() const { return Pattern; } in getPattern()
H A DCodeGenDAGPatterns.h790 const ComplexPattern *
1122 std::map<const Record *, ComplexPattern, LessRecordByID> ComplexPatterns;
1167 const ComplexPattern &getComplexPattern(const Record *R) const { in getComplexPattern()
/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoZb.td226 def sh1add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<1>", [], [], 6>;
227 def sh2add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<2>", [], [], 6>;
228 def sh3add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<3>", [], [], 6>;
237 def sh1add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<1>", [], [], 6>;
238 def sh2add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<2>", [], [], 6>;
239 def sh3add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<3>", [], [], 6>;
495 def invLogicImm : ComplexPattern<XLenVT, 1, "selectInvLogicImm", [], [], 0>;
682 defvar pat = !cast<ComplexPattern>("sh"#i#"add_op");
683 // More complex cases use a ComplexPattern.
708 def zExtImm32 : ComplexPattern<i64, 1, "selectZExtImm32", [], [], 0>;
[all …]
H A DRISCVInstrInfoZicbo.td70 def AddrRegImmLsb00000 : ComplexPattern<iPTR, 2, "SelectAddrRegImmLsb00000">;
H A DRISCVInstrInfo.td503 def AddrRegImm : ComplexPattern<iPTR, 2, "SelectAddrRegImm">;
506 : ComplexPattern<iPTR, 3, "SelectAddrRegRegScale<"#N#">">;
508 : ComplexPattern<i64, 3, "SelectAddrRegZextRegScale<"#N#", 32>",
1372 def sexti16 : ComplexPattern<XLenVT, 1, "selectSExtBits<16>">;
1374 def sexti32 : ComplexPattern<i64, 1, "selectSExtBits<32>">;
1382 def zexti32 : ComplexPattern<i64, 1, "selectZExtBits<32>">;
1386 def zexti16 : ComplexPattern<XLenVT, 1, "selectZExtBits<16>">;
1390 def zexti8 : ComplexPattern<XLenVT, 1, "selectZExtBits<8>">;
1485 def shiftMaskXLen : ComplexPattern<XLenVT, 1, "selectShiftMaskXLen", [], [], 0>;
1486 def shiftMask32 : ComplexPattern<i64, 1, "selectShiftMask32", [], [], 0>;
[all …]
H A DRISCVInstrInfoVVLPatterns.td727 def SplatPat : ComplexPattern<vAny, 1, "selectVSplat", [], [], 1>;
728 def SplatPat_simm5 : ComplexPattern<vAny, 1, "selectVSplatSimm5", [], [], 3>;
729 def SplatPat_uimm5 : ComplexPattern<vAny, 1, "selectVSplatUimmBits<5>", [], [], 3>;
730 def SplatPat_uimm6 : ComplexPattern<vAny, 1, "selectVSplatUimmBits<6>", [], [], 3>;
732 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1", [], [], 3>;
734 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NoDec", [], [], 3>;
736 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NonZero", [], [], 3>;
737 def SplatPat_imm64_neg : ComplexPattern<vAny, 1, "selectVSplatImm64Neg", [], [], 3>;
742 : ComplexPattern<vAny, 1, "selectLow8BitsVSplat", [], [], 2>;
749 def sew8simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<8>", []>;
[all …]
/freebsd/contrib/llvm-project/llvm/utils/TableGen/
H A DDAGISelMatcherEmitter.cpp65 std::vector<const ComplexPattern *> ComplexPatterns;
87 MapVector<const ComplexPattern *, unsigned> ComplexPatternUsage; in MatcherTableEmitter()
117 std::vector<std::pair<const ComplexPattern *, unsigned>> ComplexPatternList( in MatcherTableEmitter()
122 for (const auto &ComplexPattern : ComplexPatternList) in MatcherTableEmitter() local
123 ComplexPatterns.push_back(ComplexPattern.first); in MatcherTableEmitter()
202 unsigned getComplexPat(const ComplexPattern &P) { in getComplexPat()
735 const ComplexPattern &Pattern = CCPM->getPattern(); in EmitMatcher()
1178 const ComplexPattern &P = *ComplexPatterns[i]; in EmitPredicateFunctions()
H A DDAGISelMatcherGen.cpp552 if (const ComplexPattern *CP = in EmitMatcherCode()
596 const ComplexPattern *CP = N.getComplexPatternInfo(CGP); in EmitMatcherCode()
/freebsd/contrib/llvm-project/llvm/lib/Target/Xtensa/
H A DXtensaOperands.td206 def addr_ish1 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH1", [frameindex]>;
207 def addr_ish2 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH2", [frameindex]>;
208 def addr_ish4 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH4", [frameindex]>;
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/
H A DX86InstrFragments.td359 def addr : ComplexPattern<iPTR, 5, "selectAddr">;
362 def lea32addr : ComplexPattern<i32, 5, "selectLEAAddr",
366 def lea64_iaddr : ComplexPattern<iAny, 5, "selectLEA64_Addr",
371 def tls32addr : ComplexPattern<i32, 5, "selectTLSADDRAddr",
374 def tls32baseaddr : ComplexPattern<i32, 5, "selectTLSADDRAddr",
377 def lea64addr : ComplexPattern<i64, 5, "selectLEAAddr",
381 def tls64addr : ComplexPattern<i64, 5, "selectTLSADDRAddr",
384 def tls64baseaddr : ComplexPattern<i64, 5, "selectTLSADDRAddr",
388 def vectoraddr : ComplexPattern<iPTR, 5, "selectVectorAddr">;
392 def relocImm : ComplexPattern<iAny, 1, "selectRelocImm",
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/
H A DSIInstrInfo.td1615 def DS1Addr1Offset : ComplexPattern<iPTR, 2, "SelectDS1Addr1Offset">;
1616 def DS64Bit4ByteAligned : ComplexPattern<iPTR, 3, "SelectDS64Bit4ByteAligned">;
1617 def DS128Bit8ByteAligned : ComplexPattern<iPTR, 3, "SelectDS128Bit8ByteAligned">;
1619 def MOVRELOffset : ComplexPattern<iPTR, 2, "SelectMOVRELOffset">;
1621 def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">;
1624 def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">;
1629 def VOP3ModsNonCanonicalizing : ComplexPattern<untyped, 2,
1632 def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">;
1634 def VOP3OMods : ComplexPattern<untyped, 3, "SelectVOP3OMods">;
1636 def VOP3PMods : ComplexPattern<untyped, 2, "SelectVOP3PMods">;
[all …]
H A DVINTERPInstructions.td163 list<ComplexPattern> pat> : GCNPat <
178 ValueType dst_type, list<ComplexPattern> high_pat> {
H A DAMDGPUGISel.td16 def sd_vsrc0 : ComplexPattern<i32, 1, "">;
21 def sd_vcsrc : ComplexPattern<i32, 1, "">;
H A DSMInstructions.td865 def SMRDImm : ComplexPattern<iPTR, 2, "SelectSMRDImm">;
866 def SMRDImm32 : ComplexPattern<iPTR, 2, "SelectSMRDImm32">;
867 def SMRDSgpr : ComplexPattern<iPTR, 2, "SelectSMRDSgpr">;
868 def SMRDSgprImm : ComplexPattern<iPTR, 3, "SelectSMRDSgprImm">;
869 def SMRDBufferImm : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm">;
870 def SMRDBufferImm32 : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm32">;
871 def SMRDBufferSgprImm : ComplexPattern<iPTR, 2, "SelectSMRDBufferSgprImm">;
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/GlobalISel/
H A DSelectionDAGCompat.td283 // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern.
285 class GIComplexPatternEquiv<ComplexPattern seldag> {
286 ComplexPattern SelDAGEquivalent = seldag;
H A DTarget.td29 // Defines a matcher for complex operands. This is analogous to ComplexPattern
/freebsd/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyInstrMemory.td33 def AddrOps32 : ComplexPattern<i32, 2, "SelectAddrOperands32">;
34 def AddrOps64 : ComplexPattern<i64, 2, "SelectAddrOperands64">;
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/
H A DSMEInstrFormats.td13 def imm_to_tile8 : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZAB0, 0>", []>;
14 def imm_to_tile16 : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZAH0, 1>", []>;
15 def imm_to_tile32 : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZAS0, 3>", []>;
16 def imm_to_tile64 : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZAD0, 7>", []>;
17 def imm_to_tile128 : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZAQ0, 15>", []>;
18 def imm_to_zt : ComplexPattern<i32, 1, "ImmToReg<AArch64::ZT0, 0>", []>;
20 def tileslice8 : ComplexPattern<i32 , 2, "SelectSMETileSlice<15, 1>", []>;
21 def tileslice16 : ComplexPattern<i32 , 2, "SelectSMETileSlice<7, 1>", []>;
22 def tileslice32 : ComplexPattern<i32 , 2, "SelectSMETileSlice<3, 1>", []>;
23 def tileslice64 : ComplexPattern<i32 , 2, "SelectSMETileSlice<1, 1>", []>;
[all …]
H A DSVEInstrFormats.td318 def SVEAddSubImm8Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i8>", []>;
319 def SVEAddSubImm16Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i16>", []>;
320 def SVEAddSubImm32Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i32>", []>;
321 def SVEAddSubImm64Pat : ComplexPattern<i64, 2, "SelectSVEAddSubImm<MVT::i64>", []>;
323 def SVEAddSubSSatNegImm8Pat : ComplexPattern<i32, 2, "SelectSVEAddSubSSatImm<MVT::i8, true>", []>;
324 def SVEAddSubSSatNegImm16Pat : ComplexPattern<i32, 2, "SelectSVEAddSubSSatImm<MVT::i16, true>", []>;
325 def SVEAddSubSSatNegImm32Pat : ComplexPattern<i32, 2, "SelectSVEAddSubSSatImm<MVT::i32, true>", []>;
326 def SVEAddSubSSatNegImm64Pat : ComplexPattern<i64, 2, "SelectSVEAddSubSSatImm<MVT::i64, true>", []>;
328 def SVEAddSubSSatPosImm8Pat : ComplexPattern<i32, 2, "SelectSVEAddSubSSatImm<MVT::i8, false>", []>;
329 def SVEAddSubSSatPosImm16Pat : ComplexPattern<i32, 2, "SelectSVEAddSubSSatImm<MVT::i16, false>", []…
[all …]
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/
H A DARMInstrThumb.td185 ComplexPattern<i32, 2, "SelectThumbAddrModeRR", []> {
198 ComplexPattern<i32, 2, "SelectThumbAddrModeRRSext", []> {
214 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S1", []> {
222 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S2", []> {
230 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S4", []> {
242 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S4", []> {
254 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S2", []> {
266 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S1", []> {
280 ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> {
291 def AddLikeOrOp : ComplexPattern<i32, 1, "SelectAddLikeOr">;
/freebsd/contrib/llvm-project/llvm/lib/Target/CSKY/
H A DCSKYInstrFormatsF1.td220 def Mem8SL2 : Operand<iPTR>, ComplexPattern<iPTR, 2, "SelectAddrRegImm8", []> {
226 def FRRS : Operand<iPTR>, ComplexPattern<iPTR, 3, "SelectAddrRegReg", []> {

123