Home
last modified time | relevance | path

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

123

/llvm-project-15.0.7/llvm/lib/Target/M68k/
H A DM68kInstrInfo.td577 MxOperand jOp, ComplexPattern jPat,
580 MxOperand oOp, ComplexPattern oPat,
613 ComplexPattern JPat = jPat;
616 ComplexPattern OPat = oPat;
619 ComplexPattern EPat = ePat;
622 ComplexPattern PPat = pPat;
625 ComplexPattern FPat = fPat;
628 ComplexPattern BPat = bPat;
631 ComplexPattern QPat = qPat;
634 ComplexPattern KPat = kPat;
[all …]
H A DM68kInstrBits.td73 class MxBTST_MR<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat,
80 class MxBTST_MI<MxType TYPE, MxOperand MEMOpd, ComplexPattern MEMPat,
/llvm-project-15.0.7/llvm/test/TableGen/
H A DGlobalISelEmitterSkippedPatterns.td7 def complex : Operand<i32>, ComplexPattern<i32, 2, "SelectComplexPattern", []> {
14 def complex_rr : Operand<i32>, ComplexPattern<i32, 2, "SelectComplexPatternRR", []> {
H A Ddag-isel-complexpattern.td16 def CP32 : ComplexPattern<i32, 0, "SelectCP32">;
18 // Without using ComplexPattern's type, this pattern would be ambiguous as to
H A DDefaultOpsGlobalISel.td7 def SelectClamp : ComplexPattern<untyped, 2, "SelectClamp">;
8 def SelectOMod : ComplexPattern<untyped, 2, "SelectOMod">;
9 def SelectClampOMod : ComplexPattern<untyped, 3, "SelectClampOMod">;
10 def SelectSrcMods : ComplexPattern<untyped, 2, "SelectSrcMods">;
H A Dself-reference.td63 // SystemZ backend to define a record which is a ComplexPattern and an Operand
/llvm-project-15.0.7/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
/llvm-project-15.0.7/llvm/lib/Target/AArch64/
H A DSMEInstrFormats.td19 def tileslice8 : ComplexPattern<i32 , 2, "SelectSMETileSlice<4>", []>;
20 def tileslice16 : ComplexPattern<i32 , 2, "SelectSMETileSlice<3>", []>;
21 def tileslice32 : ComplexPattern<i32 , 2, "SelectSMETileSlice<2>", []>;
22 def tileslice64 : ComplexPattern<i32 , 2, "SelectSMETileSlice<1>", []>;
336 ComplexPattern addr,
337 ComplexPattern tileslice> {
482 ComplexPattern imm2tile,
483 ComplexPattern addr,
484 ComplexPattern tileslice> {
876 ComplexPattern imm2tile,
[all …]
H A DSVEInstrFormats.td225 def SVEShiftImmL8 : ComplexPattern<i32, 1, "SelectSVEShiftImm<0, 7>", []>;
226 def SVEShiftImmL16 : ComplexPattern<i32, 1, "SelectSVEShiftImm<0, 15>", []>;
274 def sve_ext_imm_0_31 : ComplexPattern<i64, 1, "SelectEXTImm<31, 8>">;
275 def sve_ext_imm_0_63 : ComplexPattern<i64, 1, "SelectEXTImm<63, 4>">;
276 def sve_ext_imm_0_127 : ComplexPattern<i64, 1, "SelectEXTImm<127, 2>">;
277 def sve_ext_imm_0_255 : ComplexPattern<i64, 1, "SelectEXTImm<255, 1>">;
453 def SVEDup0 : ComplexPattern<vAny, 0, "SelectDupZero", []>;
454 def SVEDup0Undef : ComplexPattern<vAny, 0, "SelectDupZeroOrUndef", []>;
498 ComplexPattern cast, Instruction inst>
8574 ComplexPattern imm_b, ComplexPattern imm_h,
[all …]
H A DAArch64InstrFormats.td394 def am_sve_fi : ComplexPattern<iPTR, 2, "SelectAddrModeFrameIndexSVE", []>;
991 ComplexPattern<Ty, 2, "SelectArithShiftedRegister", []> {
1021 ComplexPattern<Ty, 2, "SelectLogicalShiftedRegister", []> {
1080 : Operand<Ty>, ComplexPattern<Ty, 2, "SelectArithImmed", [imm]> {
1108 : Operand<Ty>, ComplexPattern<Ty, 2, "SelectNegArithImmed", [imm]> {
1171 def arith_uxtx : ComplexPattern<i64, 2, "SelectArithUXTXRegister", []>;
3394 def ro_Xindexed8 : ComplexPattern<iPTR, 4, "SelectAddrModeXRO<8>", []>;
3416 def ro_Windexed8 : ComplexPattern<iPTR, 4, "SelectAddrModeWRO<8>", []>;
3486 class ROAddrMode<ComplexPattern windex, ComplexPattern xindex,
3489 ComplexPattern Wpat = windex;
[all …]
/llvm-project-15.0.7/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()
/llvm-project-15.0.7/llvm/docs/GlobalISel/
H A DInstructionSelect.rst83 ``GIComplexOperandMatcher`` and mapped to ComplexPattern with
86 The following predicates are useful for porting ComplexPattern:
/llvm-project-15.0.7/llvm/lib/Target/AMDGPU/
H A DVINTERPInstructions.td133 list<ComplexPattern> pat> : GCNPat <
148 ValueType dst_type, list<ComplexPattern> high_pat> {
H A DSIInstrInfo.td1471 def DS1Addr1Offset : ComplexPattern<iPTR, 2, "SelectDS1Addr1Offset">;
1475 def MOVRELOffset : ComplexPattern<iPTR, 2, "SelectMOVRELOffset">;
1477 def VOP3Mods0 : ComplexPattern<untyped, 4, "SelectVOP3Mods0">;
1478 def VOP3Mods : ComplexPattern<untyped, 2, "SelectVOP3Mods">;
1479 def VOP3NoMods : ComplexPattern<untyped, 1, "SelectVOP3NoMods">;
1481 def VOP3Mods_nnan : ComplexPattern<fAny, 2, "SelectVOP3Mods_NNaN">;
1483 def VOP3OMods : ComplexPattern<untyped, 3, "SelectVOP3OMods">;
1485 def VOP3PMods : ComplexPattern<untyped, 2, "SelectVOP3PMods">;
1487 def VOP3PModsDOT : ComplexPattern<untyped, 2, "SelectVOP3PModsDOT">;
1491 def VOP3OpSel : ComplexPattern<untyped, 2, "SelectVOP3OpSel">;
[all …]
H A DAMDGPUGISel.td16 def sd_vsrc0 : ComplexPattern<i32, 1, "">;
21 def sd_vcsrc : ComplexPattern<i32, 1, "">;
H A DSMInstructions.td856 def SMRDImm : ComplexPattern<iPTR, 2, "SelectSMRDImm">;
857 def SMRDImm32 : ComplexPattern<iPTR, 2, "SelectSMRDImm32">;
858 def SMRDSgpr : ComplexPattern<iPTR, 2, "SelectSMRDSgpr">;
859 def SMRDSgprImm : ComplexPattern<iPTR, 3, "SelectSMRDSgprImm">;
860 def SMRDBufferImm : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm">;
861 def SMRDBufferImm32 : ComplexPattern<iPTR, 1, "SelectSMRDBufferImm32">;
/llvm-project-15.0.7/llvm/include/llvm/Target/GlobalISel/
H A DSelectionDAGCompat.td217 // Specifies the GlobalISel equivalents for SelectionDAG's ComplexPattern.
219 class GIComplexPatternEquiv<ComplexPattern seldag> {
220 ComplexPattern SelDAGEquivalent = seldag;
H A DTarget.td26 // Defines a matcher for complex operands. This is analogous to ComplexPattern
/llvm-project-15.0.7/llvm/lib/Target/RISCV/
H A DRISCVInstrInfoVVLPatterns.td300 def SplatPat : ComplexPattern<vAny, 1, "selectVSplat", [], [], 1>;
301 def SplatPat_simm5 : ComplexPattern<vAny, 1, "selectVSplatSimm5", [], [], 2>;
304 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1", [], [], 2>;
306 : ComplexPattern<vAny, 1, "selectVSplatSimm5Plus1NonZero", [], [], 2>;
312 def sew8simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<8>", []>;
313 def sew16simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<16>", []>;
314 def sew32simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<32>", []>;
315 def sew64simm5 : ComplexPattern<XLenVT, 1, "selectRVVSimm5<64>", []>;
350 ComplexPattern SplatPatKind,
382 !cast<ComplexPattern>(SplatPat#_#ImmType),
[all …]
/llvm-project-15.0.7/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", [],
/llvm-project-15.0.7/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", []> {
/llvm-project-15.0.7/llvm/lib/Target/LoongArch/
H A DLoongArchInstrInfo.td190 def BaseAddr : ComplexPattern<iPTR, 1, "SelectBaseAddr">;
597 : ComplexPattern<GRLenVT, 1, "selectShiftMaskGRLen", [], [], 0>;
598 def shiftMask32 : ComplexPattern<i64, 1, "selectShiftMask32", [], [], 0>;
600 def sexti32 : ComplexPattern<i64, 1, "selectSExti32">;
601 def zexti32 : ComplexPattern<i64, 1, "selectZExti32">;

123