/freebsd/contrib/llvm-project/llvm/lib/Target/RISCV/ |
H A D | RISCVSchedule.td | 10 def WriteIALU : SchedWrite; // 32 or 64-bit integer ALU operations 11 def WriteIALU32 : SchedWrite; // 32-bit integer ALU operations on RV64I 12 def WriteShiftImm : SchedWrite; // 32 or 64-bit shift by immediate operations 13 def WriteShiftImm32 : SchedWrite; // 32-bit shift by immediate operations on RV64Ix 14 def WriteShiftReg : SchedWrite; // 32 or 64-bit shift by immediate operations 15 def WriteShiftReg32 : SchedWrite; // 32-bit shift by immediate operations on RV64Ix 16 def WriteIDiv : SchedWrite; // 32-bit or 64-bit divide 17 def WriteIDiv32 : SchedWrite; // 32-bit divide on RV64I 18 def WriteIRem : SchedWrite; // 32-bit or 64-bit remainder 19 def WriteIRem32 : SchedWrite; // 32-bit remainder on RV64I [all …]
|
H A D | RISCVScheduleZb.td | 12 def WriteSHXADD : SchedWrite; // sh1add/sh2add/sh3add 13 def WriteSHXADD32 : SchedWrite; // sh1add.uw/sh2add.uw/sh3add.uw 16 def WriteRotateImm : SchedWrite; 17 def WriteRotateImm32 : SchedWrite; 18 def WriteRotateReg : SchedWrite; 19 def WriteRotateReg32 : SchedWrite; 20 def WriteCLZ : SchedWrite; 21 def WriteCLZ32 : SchedWrite; 22 def WriteCTZ : SchedWrite; 23 def WriteCTZ32 : SchedWrite; [all …]
|
H A D | RISCVScheduleV.td | 54 def : WriteRes<!cast<SchedWrite>(name # "_" # mx), resources>; 56 def : WriteRes<!cast<SchedWrite>(name # "_WorstCase"), resources>; 60 def : WriteRes<!cast<SchedWrite>(name # "_" # mx # "_E" # sew), resources>; 62 def : WriteRes<!cast<SchedWrite>(name # "_WorstCase"), resources>; 65 // Define a SchedAlias for the SchedWrite associated with (name, mx) whose 68 // Latency noPredLat and ReleaseAtCycles noPredCycles. The WorstCase SchedWrite 116 // Define multiclasses to define SchedWrite, SchedRead, WriteRes, and 121 def name # "_WorstCase" : SchedWrite; 123 def name # "_" # mx : SchedWrite; 133 if !exists<SchedWrite>(name # "_WorstCase") then [all …]
|
H A D | RISCVInstrInfoXSf.td | 313 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>; 316 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 320 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 330 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>; 333 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 337 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 347 Sched<[!cast<SchedWrite>("WriteVC_" # NAME # "_" # m.MX)]>; 350 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 354 Sched<[!cast<SchedWrite>("WriteVC_V_" # NAME # "_" # m.MX)]>; 364 Sched<[!cast<SchedWrite>("WriteVC [all...] |
H A D | RISCVInstrInfoV.td | 103 class SchedCommon<list<SchedWrite> writes, list<SchedRead> reads, 123 : SchedCommon<[!cast<SchedWrite>( 169 : SchedCommon<[!cast<SchedWrite>(write #"_" #mx #"_E" #sew)], 172 SchedCommon<[!cast<SchedWrite>(write # "_WorstCase")], 178 [!cast<SchedWrite>("WriteVMov" # n # "V")], 184 [!cast<SchedWrite>("WriteVLDE_" # lmul)], 190 [!cast<SchedWrite>("WriteVSTE_" # lmul)], 198 [!cast<SchedWrite>("WriteVLDS" # eew # "_" # emul)], 204 [!cast<SchedWrite>("WriteVSTS" # eew # "_" # emul)], 213 [!cast<SchedWrite>("WriteVLD" # !if(isOrdered, "O", "U") # "X" # dataEEW # "_" # dataEMUL)], [all …]
|
H A D | RISCVSchedSiFiveP600.td | 386 def : WriteRes<!cast<SchedWrite>("WriteVLD" # LMul # "R"), [SiFiveP600VLD]>; 387 def : WriteRes<!cast<SchedWrite>("WriteVST" # LMul # "R"), [SiFiveP600VST]>; 390 def : WriteRes<!cast<SchedWrite>("WriteVMov" # LMul # "V"), [SiFiveP600VectorArith]>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/SystemZ/ |
H A D | SystemZSchedule.td | 14 def NormalGr : SchedWrite; 15 def Cracked : SchedWrite; 16 def GroupAlone : SchedWrite; 17 def GroupAlone2 : SchedWrite; 18 def GroupAlone3 : SchedWrite; 19 def BeginGroup : SchedWrite; 20 def EndGroup : SchedWrite; 22 // A SchedWrite added to other SchedWrites to make LSU latency parameterizable. 23 def LSULatency : SchedWrite; 26 foreach L = 1 - 30 in def "WLat"#L : SchedWrite; [all …]
|
H A D | SystemZScheduleZ13.td | 72 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 96 def : WriteRes<!cast<SchedWrite>("FXa"#Num), [Z13_FXaUnit]>; 97 def : WriteRes<!cast<SchedWrite>("FXb"#Num), [Z13_FXbUnit]>; 98 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [Z13_LSUnit]>; 99 def : WriteRes<!cast<SchedWrite>("VecBF"#Num), [Z13_VecUnit]>; 100 def : WriteRes<!cast<SchedWrite>("VecDF"#Num), [Z13_VecUnit]>; 101 def : WriteRes<!cast<SchedWrite>("VecDFX"#Num), [Z13_VecUnit]>; 102 def : WriteRes<!cast<SchedWrite>("VecMul"#Num), [Z13_VecUnit]>; 103 def : WriteRes<!cast<SchedWrite>("VecStr"#Num), [Z13_VecUnit]>; 104 def : WriteRes<!cast<SchedWrite>("VecXsPm"#Num), [Z13_VecUnit]>;
|
H A D | SystemZScheduleZ14.td | 72 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 96 def : WriteRes<!cast<SchedWrite>("FXa"#Num), [Z14_FXaUnit]>; 97 def : WriteRes<!cast<SchedWrite>("FXb"#Num), [Z14_FXbUnit]>; 98 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [Z14_LSUnit]>; 99 def : WriteRes<!cast<SchedWrite>("VecBF"#Num), [Z14_VecUnit]>; 100 def : WriteRes<!cast<SchedWrite>("VecDF"#Num), [Z14_VecUnit]>; 101 def : WriteRes<!cast<SchedWrite>("VecDFX"#Num), [Z14_VecUnit]>; 102 def : WriteRes<!cast<SchedWrite>("VecMul"#Num), [Z14_VecUnit]>; 103 def : WriteRes<!cast<SchedWrite>("VecStr"#Num), [Z14_VecUnit]>; 104 def : WriteRes<!cast<SchedWrite>("VecXsPm"#Num), [Z14_VecUnit]>;
|
H A D | SystemZScheduleZ15.td | 72 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 96 def : WriteRes<!cast<SchedWrite>("FXa"#Num), [Z15_FXaUnit]>; 97 def : WriteRes<!cast<SchedWrite>("FXb"#Num), [Z15_FXbUnit]>; 98 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [Z15_LSUnit]>; 99 def : WriteRes<!cast<SchedWrite>("VecBF"#Num), [Z15_VecUnit]>; 100 def : WriteRes<!cast<SchedWrite>("VecDF"#Num), [Z15_VecUnit]>; 101 def : WriteRes<!cast<SchedWrite>("VecDFX"#Num), [Z15_VecUnit]>; 102 def : WriteRes<!cast<SchedWrite>("VecMul"#Num), [Z15_VecUnit]>; 103 def : WriteRes<!cast<SchedWrite>("VecStr"#Num), [Z15_VecUnit]>; 104 def : WriteRes<!cast<SchedWrite>("VecXsPm"#Num), [Z15_VecUnit]>;
|
H A D | SystemZScheduleZ16.td | 72 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 96 def : WriteRes<!cast<SchedWrite>("FXa"#Num), [Z16_FXaUnit]>; 97 def : WriteRes<!cast<SchedWrite>("FXb"#Num), [Z16_FXbUnit]>; 98 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [Z16_LSUnit]>; 99 def : WriteRes<!cast<SchedWrite>("VecBF"#Num), [Z16_VecUnit]>; 100 def : WriteRes<!cast<SchedWrite>("VecDF"#Num), [Z16_VecUnit]>; 101 def : WriteRes<!cast<SchedWrite>("VecDFX"#Num), [Z16_VecUnit]>; 102 def : WriteRes<!cast<SchedWrite>("VecMul"#Num), [Z16_VecUnit]>; 103 def : WriteRes<!cast<SchedWrite>("VecStr"#Num), [Z16_VecUnit]>; 104 def : WriteRes<!cast<SchedWrite>("VecXsPm"#Num), [Z16_VecUnit]>;
|
H A D | SystemZScheduleZEC12.td | 68 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 87 def : WriteRes<!cast<SchedWrite>("FXU"#Num), [ZEC12_FXUnit]>; 88 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [ZEC12_LSUnit]>; 89 def : WriteRes<!cast<SchedWrite>("FPU"#Num), [ZEC12_FPUnit]>; 90 def : WriteRes<!cast<SchedWrite>("DFU"#Num), [ZEC12_DFUnit]>;
|
H A D | SystemZScheduleZ196.td | 68 def : WriteRes<!cast<SchedWrite>("WLat"#L), []> { let Latency = L; } 86 def : WriteRes<!cast<SchedWrite>("FXU"#Num), [Z196_FXUnit]>; 87 def : WriteRes<!cast<SchedWrite>("LSU"#Num), [Z196_LSUnit]>; 88 def : WriteRes<!cast<SchedWrite>("FPU"#Num), [Z196_FPUnit]>; 89 def : WriteRes<!cast<SchedWrite>("DFU"#Num), [Z196_DFUnit]>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AArch64/ |
H A D | AArch64Schedule.td | 20 def WriteImm : SchedWrite; // MOVN, MOVZ 24 def WriteI : SchedWrite; // ALU 25 def WriteISReg : SchedWrite; // ALU of Shifted-Reg 26 def WriteIEReg : SchedWrite; // ALU of Extended-Reg 30 def WriteExtr : SchedWrite; // EXTR shifts a reg pair 32 def WriteIS : SchedWrite; // Shift/Scale 33 def WriteID32 : SchedWrite; // 32-bit Divide 34 def WriteID64 : SchedWrite; // 64-bit Divide 36 def WriteIM32 : SchedWrite; // 32-bit Multiply 37 def WriteIM64 : SchedWrite; // 64-bit Multiply [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86Schedule.td | 28 def WriteRMW : SchedWrite; 30 // Helper to set SchedWrite ExePorts/Latency/ReleaseAtCycles/NumMicroOps. 31 multiclass X86WriteRes<SchedWrite SchedRW, 41 // Most instructions can fold loads, so almost every SchedWrite comes in two 43 // An X86FoldableSchedWrite holds a reference to the corresponding SchedWrite 45 class X86FoldableSchedWrite : SchedWrite { 46 // The SchedWrite to use when a load is folded into the instruction. 47 SchedWrite Folded; 56 def Ld : SchedWrite; 59 let Folded = !cast<SchedWrite>(NAM [all...] |
H A D | X86ScheduleZnver4.td | 395 multiclass __Zn4WriteRes<SchedWrite SchedRW, list<ProcResourceKind> ExePorts, 423 multiclass Zn4WriteResInt<SchedWrite SchedRW, 429 multiclass Zn4WriteResXMM<SchedWrite SchedRW, 435 multiclass Zn4WriteResYMM<SchedWrite SchedRW, 441 multiclass Zn4WriteResZMM<SchedWrite SchedRW,
|
H A D | X86ScheduleZnver3.td | 398 multiclass __zn3WriteRes<SchedWrite SchedRW, list<ProcResourceKind> ExePorts, 426 multiclass Zn3WriteResInt<SchedWrite SchedRW, 432 multiclass Zn3WriteResXMM<SchedWrite SchedRW, 438 multiclass Zn3WriteResYMM<SchedWrite SchedRW,
|
/freebsd/contrib/llvm-project/llvm/lib/Target/ARM/ |
H A D | ARMSchedule.td | 31 // def WriteALUsr : SchedWrite; 60 def WriteALU : SchedWrite; 64 def WriteALUsi : SchedWrite; // Shift by immediate. 65 def WriteALUsr : SchedWrite; // Shift by register. 66 def WriteALUSsr : SchedWrite; // Shift by register (flag setting). 70 def WriteCMP : SchedWrite; 71 def WriteCMPsi : SchedWrite; 72 def WriteCMPsr : SchedWrite; 75 def WriteMUL16 : SchedWrite; // 16-bit multiply. 76 def WriteMUL32 : SchedWrite; // 3 [all...] |
H A D | ARMScheduleM4.td | 37 class M4UnitL1<SchedWrite write> : WriteRes<write, [M4Unit]> { let Latency = 1; } 38 class M4UnitL2<SchedWrite write> : WriteRes<write, [M4Unit]> { let Latency = 2; } 39 class M4UnitL3<SchedWrite write> : WriteRes<write, [M4Unit]> { let Latency = 3; } 40 class M4UnitL14<SchedWrite write> : WriteRes<write, [M4Unit]> { let Latency = 14; }
|
H A D | ARMScheduleA9.td | 2086 [A9WriteLMLo, !cast<SchedWrite>("A9WriteCycle"#NumAddr)]>; 2088 [A9WriteLMHi, !cast<SchedWrite>("A9WriteCycle"#NumAddr)]>; 2151 [A9WriteIssue, !cast<SchedWrite>("A9WriteLfp"#NumAddr#Seq)]>; 2156 [A9WriteF, !cast<SchedWrite>("A9WriteLfp"#NumAddr#Seq)]>; 2186 [A9WriteLMfpLo, !cast<SchedWrite>("A9WriteCycle"#NumAddr)]>; 2191 [A9WriteLMHi, !cast<SchedWrite>("A9WriteCycle"#NumAddr)]>;
|
/freebsd/contrib/llvm-project/llvm/lib/Target/AMDGPU/ |
H A D | SISchedule.td | 19 def WriteBranch : SchedWrite; 20 def WriteExport : SchedWrite; 21 def WriteLDS : SchedWrite; 22 def WriteSALU : SchedWrite; 23 def WriteSMEM : SchedWrite; 24 def WriteVMEM : SchedWrite; 25 def WriteBarrier : SchedWrite; 31 def Write32Bit : SchedWrite; 33 def WriteFloatCvt : SchedWrite; 35 def WriteTrans32 : SchedWrite; [all …]
|
/freebsd/contrib/llvm-project/llvm/lib/Target/Lanai/ |
H A D | LanaiSchedule.td | 57 def WriteLD : SchedWrite; 58 def WriteST : SchedWrite; 59 def WriteLDSW : SchedWrite; 60 def WriteSTSW : SchedWrite; 61 def WriteALU : SchedWrite;
|
/freebsd/contrib/llvm-project/llvm/include/llvm/Target/ |
H A D | TargetSchedule.td | 211 // instruction. One SchedWrite type must be listed for each explicit 212 // def operand in order. Additional SchedWrite types may optionally be 219 // single SchedWrite and single SchedRead in any order. 225 class SchedWrite : SchedReadWrite; 226 def NoWrite : SchedWrite; 231 // Define a SchedWrite that is modeled as a sequence of other 241 class WriteSequence<list<SchedWrite> writes, int rep = 1> : SchedWrite { 242 list<SchedWrite> Writes = writes; 277 // Define the resources and latency of a SchedWrite. This will be used 279 // SchedWrite is defined by the target, while WriteResources is [all …]
|
/freebsd/contrib/llvm-project/llvm/utils/TableGen/ |
H A D | SubtargetEmitter.cpp | 117 Record *FindWriteResources(const CodeGenSchedRW &SchedWrite, 883 SubtargetEmitter::FindWriteResources(const CodeGenSchedRW &SchedWrite, in FindWriteResources() argument 888 if (SchedWrite.TheDef->isSubClassOf("SchedWriteRes")) in FindWriteResources() 889 return SchedWrite.TheDef; in FindWriteResources() 892 for (Record *A : SchedWrite.Aliases) { in FindWriteResources() 917 if (AliasDef == WRDef || SchedWrite.TheDef == WRDef) { in FindWriteResources() 936 SchedWrite.TheDef->getName()); in FindWriteResources()
|
/freebsd/contrib/llvm-project/llvm/utils/TableGen/Common/ |
H A D | CodeGenSchedule.cpp | 802 const CodeGenSchedRW &SchedWrite = getSchedRW(RWIdx, IsRead); in expandRWSeqForProc() local 804 for (const Record *Rec : SchedWrite.Aliases) { in expandRWSeqForProc() 824 if (!SchedWrite.IsSequence) { in expandRWSeqForProc() 829 SchedWrite.TheDef ? SchedWrite.TheDef->getValueAsInt("Repeat") : 1; in expandRWSeqForProc() 831 for (unsigned Idx : SchedWrite.Sequence) { in expandRWSeqForProc()
|