Home
last modified time | relevance | path

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

123

/openbsd-src/gnu/llvm/llvm/lib/Target/M68k/
H A DM68kInstrInfo.td469 def MxCP_ARI : ComplexPattern<iPTR, 1, "SelectARI",
472 def MxCP_ARIPI : ComplexPattern<iPTR, 1, "SelectARIPI",
475 def MxCP_ARIPD : ComplexPattern<iPTR, 1, "SelectARIPD",
478 def MxCP_ARID : ComplexPattern<iPTR, 2, "SelectARID",
482 def MxCP_ARII : ComplexPattern<iPTR, 3, "SelectARII",
486 def MxCP_AL : ComplexPattern<iPTR, 1, "SelectAL",
490 def MxCP_PCD : ComplexPattern<iPTR, 1, "SelectPCD",
494 def MxCP_PCI : ComplexPattern<iPTR, 2, "SelectPCI",
577 MxOperand jOp, ComplexPattern jPat,
580 MxOperand oOp, ComplexPattern oPat,
[all …]
H A DM68kInstrBits.td73 class MxBTST_MR<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat,
80 class MxBTST_MI<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat,
/openbsd-src/gnu/llvm/llvm/include/llvm/CodeGen/
H A DSDNodeProperties.td32 def SDNPWantRoot : SDNodeProperty; // ComplexPattern gets the root of match
33 def SDNPWantParent : SDNodeProperty; // ComplexPattern gets the parent
/openbsd-src/gnu/llvm/llvm/utils/TableGen/
H A DCodeGenTarget.h203 class ComplexPattern {
211 ComplexPattern(Record *R);
H A DDAGISelMatcherEmitter.cpp62 DenseMap<const ComplexPattern*, unsigned> ComplexPatternMap;
63 std::vector<const ComplexPattern*> ComplexPatterns;
145 unsigned getComplexPat(const ComplexPattern &P) { in getComplexPat()
620 const ComplexPattern &Pattern = CCPM->getPattern(); in EmitMatcher()
948 const ComplexPattern &P = *ComplexPatterns[i]; in EmitPredicateFunctions()
H A DDAGISelMatcher.h24 class ComplexPattern; variable
690 const ComplexPattern &Pattern;
703 CheckComplexPatMatcher(const ComplexPattern &pattern, unsigned matchnumber, in CheckComplexPatMatcher()
708 const ComplexPattern &getPattern() const { return Pattern; } in getPattern()
H A DCodeGenDAGPatterns.h777 const ComplexPattern *
1109 std::map<Record*, ComplexPattern, LessRecordByID> ComplexPatterns;
1155 const ComplexPattern &getComplexPattern(Record *R) const { in getComplexPattern()
H A DDAGISelMatcherGen.cpp567 if (const ComplexPattern *CP = in EmitMatcherCode()
608 const ComplexPattern &CP = *N->getComplexPatternInfo(CGP); in EmitMatcherCode()
/openbsd-src/gnu/llvm/llvm/lib/Target/Xtensa/
H A DXtensaOperands.td163 def addr_ish1 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH1", [frameindex]>;
164 def addr_ish2 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH2", [frameindex]>;
165 def addr_ish4 : ComplexPattern<iPTR, 2, "selectMemRegAddrISH4", [frameindex]>;
/openbsd-src/gnu/llvm/llvm/docs/GlobalISel/
H A DInstructionSelect.rst83 ``GIComplexOperandMatcher`` and mapped to ComplexPattern with
86 The following predicates are useful for porting ComplexPattern:
/openbsd-src/gnu/llvm/llvm/lib/Target/AMDGPU/
H A DVINTERPInstructions.td141 list<ComplexPattern> pat> : GCNPat <
156 ValueType dst_type, list<ComplexPattern> high_pat> {
H A DSIInstrInfo.td1502 def DS1Addr1Offset : ComplexPattern<iPTR, 2, "SelectDS1Addr1Offset">;
1503 def DS64Bit4ByteAligned : ComplexPattern<iPTR, 3, "SelectDS64Bit4ByteAligned">;
1504 def DS128Bit8ByteAligned : ComplexPattern<iPTR, 3, "SelectDS128Bit8ByteAligned">;
1506 def MOVRELOffset : ComplexPattern<iPTR, 2, "SelectMOVRELOffset">;
1508 def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">;
1509 def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">;
1510 def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">;
1512 def VOP3OMods : ComplexPattern<untyped, 3, "SelectVOP3OMods">;
1514 def VOP3PMods : ComplexPattern<untyped, 2, "SelectVOP3PMods">;
1516 def VOP3PModsDOT : ComplexPattern<untyped, 2, "SelectVOP3PModsDOT">;
[all …]
H A DAMDGPUGISel.td16 def sd_vsrc0 : ComplexPattern<i32, 1, "">;
21 def sd_vcsrc : ComplexPattern<i32, 1, "">;
H A DSMInstructions.td831 def SMRDImm : ComplexPattern<iPTR, 2, "SelectSMRDImm">;
832 def SMRDImm32 : ComplexPattern<iPTR, 2, "SelectSMRDImm32">;
833 def SMRDSgpr : ComplexPattern<iPTR, 2, "SelectSMRDSgpr">;
834 def SMRDSgprImm : ComplexPattern<iPTR, 3, "SelectSMRDSgprImm">;
835 def SMRDBufferImm : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm">;
836 def SMRDBufferImm32 : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm32">;
837 def SMRDBufferSgprImm : ComplexPattern<iPTR, 2, "SelectSMRDBufferSgprImm">;
/openbsd-src/gnu/llvm/llvm/include/llvm/Target/GlobalISel/
H A DSelectionDAGCompat.td221 // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern.
223 class GIComplexPatternEquiv<ComplexPattern seldag> {
224 ComplexPattern SelDAGEquivalent = seldag;
H A DTarget.td26 // Defines a matcher for complex operands. This is analogous to ComplexPattern
/openbsd-src/gnu/llvm/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoZb.td256 def sh1add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<1>", [], [], 6>;
257 def sh2add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<2>", [], [], 6>;
258 def sh3add_op : ComplexPattern<XLenVT, 1, "selectSHXADDOp<3>", [], [], 6>;
260 def sh1add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<1>", [], [], 6>;
261 def sh2add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<2>", [], [], 6>;
262 def sh3add_uw_op : ComplexPattern<XLenVT, 1, "selectSHXADD_UWOp<3>", [], [], 6>;
686 // More complex cases use a ComplexPattern.
781 // More complex cases use a ComplexPattern.
H A DRISCVInstrInfoVVLPatterns.td400 def SplatPat : ComplexPattern<vAny, 1, "selectVSplat", [], [], 1>;
401 def SplatPat_simm5 : ComplexPattern<vAny, 1, "selectVSplatSimm5", [], [], 2>;
402 def SplatPat_uimm5 : ComplexPattern<vAny, 1, "selectVSplatUimm5", [], [], 2>;
404 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1", [], [], 2>;
406 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NonZero", [], [], 2>;
412 def sew8simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<8>", []>;
413 def sew16simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<16>", []>;
414 def sew32simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<32>", []>;
415 def sew64simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<64>", []>;
487 ComplexPattern SplatPatKind,
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/AArch64/
H A DSMEInstrFormats.td13 def imm_to_tile8 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAB0>", []>;
14 def imm_to_tile16 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAH0>", []>;
15 def imm_to_tile32 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAS0>", []>;
16 def imm_to_tile64 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAD0>", []>;
17 def imm_to_tile128 : ComplexPattern<i32, 1, "ImmToTile<AArch64::ZAQ0>", []>;
19 def tileslice8 : ComplexPattern<i32 , 2, "SelectSMETileSlice<15, 1>", []>;
20 def tileslice16 : ComplexPattern<i32 , 2, "SelectSMETileSlice<7, 1>", []>;
21 def tileslice32 : ComplexPattern<i32 , 2, "SelectSMETileSlice<3, 1>", []>;
22 def tileslice64 : ComplexPattern<i32 , 2, "SelectSMETileSlice<1, 1>", []>;
23 def tileslice128 : ComplexPattern<i32 , 2, "SelectSMETileSlice<0, 1>", []>; // nop
[all …]
H A DSVEInstrFormats.td213 def SVEAddSubImm8Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i8>", []>;
214 def SVEAddSubImm16Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i16>", []>;
215 def SVEAddSubImm32Pat : ComplexPattern<i32, 2, "SelectSVEAddSubImm<MVT::i32>", []>;
216 def SVEAddSubImm64Pat : ComplexPattern<i64, 2, "SelectSVEAddSubImm<MVT::i64>", []>;
218 def SVECpyDupImm8Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i8>", []>;
219 def SVECpyDupImm16Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i16>", []>;
220 def SVECpyDupImm32Pat : ComplexPattern<i32, 2, "SelectSVECpyDupImm<MVT::i32>", []>;
221 def SVECpyDupImm64Pat : ComplexPattern<i64, 2, "SelectSVECpyDupImm<MVT::i64>", []>;
223 def SVELogicalImm8Pat : ComplexPattern<i32, 1, "SelectSVELogicalImm<MVT::i8>", []>;
224 def SVELogicalImm16Pat : ComplexPattern<i32, 1, "SelectSVELogicalImm<MVT::i16>", []>;
[all …]
H A DAArch64InstrFormats.td126 // ComplexPattern match both extract_subvector and bitcast(extract_subvector(..)).
128 ComplexPattern<v8i8, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>;
130 ComplexPattern<v4i16, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>;
132 ComplexPattern<v2i32, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>;
134 ComplexPattern<v1i64, 1, "SelectExtractHigh", [extract_subvector, bitconvert]>;
422 def am_sve_fi : ComplexPattern<iPTR, 2, "SelectAddrModeFrameIndexSVE", []>;
424 def am_indexed7s8 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S8", []>;
425 def am_indexed7s16 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S16", []>;
426 def am_indexed7s32 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S32", []>;
427 def am_indexed7s64 : ComplexPattern<iPTR, 2, "SelectAddrModeIndexed7S64", []>;
[all …]
/openbsd-src/gnu/llvm/llvm/lib/Target/WebAssembly/
H A DWebAssemblyInstrMemory.td33 def AddrOps32 : ComplexPattern<i32, 2, "SelectAddrOperands32">;
34 def AddrOps64 : ComplexPattern<i64, 2, "SelectAddrOperands64">;
/openbsd-src/gnu/llvm/llvm/lib/Target/ARM/
H A DARMInstrThumb.td186 ComplexPattern<i32, 2, "SelectThumbAddrModeRR", []> {
199 ComplexPattern<i32, 2, "SelectThumbAddrModeRRSext", []> {
215 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S1", []> {
223 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S2", []> {
231 ComplexPattern<i32, 2, "SelectThumbAddrModeRI5S4", []> {
243 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S4", []> {
255 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S2", []> {
267 ComplexPattern<i32, 2, "SelectThumbAddrModeImm5S1", []> {
281 ComplexPattern<i32, 2, "SelectThumbAddrModeSP", []> {
291 def AddLikeOrOp : ComplexPattern<i32, 1, "SelectAddLikeOr", [],
/openbsd-src/gnu/llvm/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", []> {
/openbsd-src/gnu/llvm/llvm/lib/Target/Lanai/
H A DLanaiInstrInfo.td179 def ADDRrr : ComplexPattern<i32, 3, "selectAddrRr", [], []>;
180 def ADDRri : ComplexPattern<i32, 3, "selectAddrRi", [frameindex], []>;
181 def ADDRsls : ComplexPattern<i32, 1, "selectAddrSls", [frameindex], []>;
182 def ADDRspls : ComplexPattern<i32, 3, "selectAddrSpls", [frameindex], []>;

123