Home
last modified time | relevance | path

Searched refs:WriteRes (Results 1 – 25 of 56) sorted by relevance

123

/openbsd/src/gnu/llvm/llvm/lib/Target/RISCV/
DRISCVSchedSyntacoreSCR1.td41 def : WriteRes<WriteJmp, [SCR1_CFU]>;
42 def : WriteRes<WriteJal, [SCR1_CFU]>;
43 def : WriteRes<WriteJalr, [SCR1_CFU]>;
44 def : WriteRes<WriteJmpReg, [SCR1_CFU]>;
47 def : WriteRes<WriteIALU32, [SCR1_ALU]>;
48 def : WriteRes<WriteIALU, [SCR1_ALU]>;
49 def : WriteRes<WriteShiftImm32, [SCR1_ALU]>;
50 def : WriteRes<WriteShiftImm, [SCR1_ALU]>;
51 def : WriteRes<WriteShiftReg32, [SCR1_ALU]>;
52 def : WriteRes<WriteShiftReg, [SCR1_ALU]>;
[all …]
DRISCVSchedSiFive7.td42 def : WriteRes<WriteJmp, [SiFive7PipeB]>;
43 def : WriteRes<WriteJal, [SiFive7PipeB]>;
44 def : WriteRes<WriteJalr, [SiFive7PipeB]>;
45 def : WriteRes<WriteJmpReg, [SiFive7PipeB]>;
48 def : WriteRes<WriteSFB, [SiFive7PipeA, SiFive7PipeB]> {
55 def : WriteRes<WriteIALU, [SiFive7PipeAB]>;
56 def : WriteRes<WriteIALU32, [SiFive7PipeAB]>;
57 def : WriteRes<WriteShiftImm, [SiFive7PipeAB]>;
58 def : WriteRes<WriteShiftImm32, [SiFive7PipeAB]>;
59 def : WriteRes<WriteShiftReg, [SiFive7PipeAB]>;
[all …]
DRISCVSchedRocket.td51 def : WriteRes<WriteJmp, [RocketUnitB]>;
52 def : WriteRes<WriteJal, [RocketUnitB]>;
53 def : WriteRes<WriteJalr, [RocketUnitB]>;
54 def : WriteRes<WriteJmpReg, [RocketUnitB]>;
57 def : WriteRes<WriteIALU32, [RocketUnitALU]>;
58 def : WriteRes<WriteIALU, [RocketUnitALU]>;
59 def : WriteRes<WriteShiftImm32, [RocketUnitALU]>;
60 def : WriteRes<WriteShiftImm, [RocketUnitALU]>;
61 def : WriteRes<WriteShiftReg32, [RocketUnitALU]>;
62 def : WriteRes<WriteShiftReg, [RocketUnitALU]>;
[all …]
DRISCVScheduleZb.td85 def : WriteRes<WriteSHXADD, []>;
86 def : WriteRes<WriteSHXADD32, []>;
95 def : WriteRes<WriteRotateImm, []>;
96 def : WriteRes<WriteRotateImm32, []>;
97 def : WriteRes<WriteRotateReg, []>;
98 def : WriteRes<WriteRotateReg32, []>;
99 def : WriteRes<WriteCLZ, []>;
100 def : WriteRes<WriteCLZ32, []>;
101 def : WriteRes<WriteCTZ, []>;
102 def : WriteRes<WriteCTZ32, []>;
[all …]
DRISCVSchedule.td191 def : WriteRes<WriteFAdd16, []>;
192 def : WriteRes<WriteFClass16, []>;
193 def : WriteRes<WriteFCvtF16ToF64, []>;
194 def : WriteRes<WriteFCvtF64ToF16, []>;
195 def : WriteRes<WriteFCvtI64ToF16, []>;
196 def : WriteRes<WriteFCvtF32ToF16, []>;
197 def : WriteRes<WriteFCvtI32ToF16, []>;
198 def : WriteRes<WriteFCvtF16ToI64, []>;
199 def : WriteRes<WriteFCvtF16ToF32, []>;
200 def : WriteRes<WriteFCvtF16ToI32, []>;
[all …]
DRISCVScheduleV.td60 // Creates WriteRes for each (name, LMUL, resources) tuple for LMUL
64 def : WriteRes<!cast<SchedWrite>(name # "_" # mx), resources>;
68 // Creates WriteRes for each (name, LMUL, resources) tuple for LMUL
72 def : WriteRes<!cast<SchedWrite>(name # "_" # mx), resources>;
76 // Creates WriteRes for each (name, LMUL, resources) tuple for LMUL
80 def : WriteRes<!cast<SchedWrite>(name # "_" # mx), resources>;
583 def : WriteRes<WriteRdVLENB, []>;
586 def : WriteRes<WriteVSETVLI, []>;
587 def : WriteRes<WriteVSETIVLI, []>;
588 def : WriteRes<WriteVSETVL, []>;
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/AArch64/
DAArch64SchedFalkor.td70 // These WriteRes entries are not used in the Falkor sched model.
71 def : WriteRes<WriteImm, []> { let Unsupported = 1; }
72 def : WriteRes<WriteI, []> { let Unsupported = 1; }
73 def : WriteRes<WriteISReg, []> { let Unsupported = 1; }
74 def : WriteRes<WriteIEReg, []> { let Unsupported = 1; }
75 def : WriteRes<WriteExtr, []> { let Unsupported = 1; }
76 def : WriteRes<WriteIS, []> { let Unsupported = 1; }
77 def : WriteRes<WriteID32, []> { let Unsupported = 1; }
78 def : WriteRes<WriteID64, []> { let Unsupported = 1; }
79 def : WriteRes<WriteIM32, []> { let Unsupported = 1; }
[all …]
DAArch64SchedKryo.td66 def : WriteRes<WriteImm, [KryoUnitXY]> { let Latency = 1; }
67 def : WriteRes<WriteI, [KryoUnitXY]> { let Latency = 1; }
68 def : WriteRes<WriteISReg, [KryoUnitXY, KryoUnitXY]>
70 def : WriteRes<WriteIEReg, [KryoUnitXY, KryoUnitXY]>
72 def : WriteRes<WriteExtr, [KryoUnitXY, KryoUnitX]>
74 def : WriteRes<WriteIS, [KryoUnitXY]> { let Latency = 2; }
75 def : WriteRes<WriteID32, [KryoUnitXA, KryoUnitY]>
77 def : WriteRes<WriteID64, [KryoUnitXA, KryoUnitY]>
79 def : WriteRes<WriteIM32, [KryoUnitX]> { let Latency = 5; }
80 def : WriteRes<WriteIM64, [KryoUnitX]> { let Latency = 5; }
[all …]
DAArch64SchedThunderX.td52 def : WriteRes<WriteImm, [THXT8XUnitALU]> { let Latency = 1; }
53 def : WriteRes<WriteI, [THXT8XUnitALU]> { let Latency = 1; }
54 def : WriteRes<WriteISReg, [THXT8XUnitALU]> { let Latency = 2; }
55 def : WriteRes<WriteIEReg, [THXT8XUnitALU]> { let Latency = 2; }
56 def : WriteRes<WriteIS, [THXT8XUnitALU]> { let Latency = 2; }
57 def : WriteRes<WriteExtr, [THXT8XUnitALU]> { let Latency = 2; }
60 def : WriteRes<WriteIM32, [THXT8XUnitMAC]> {
65 def : WriteRes<WriteIM64, [THXT8XUnitMAC]> {
71 def : WriteRes<WriteID32, [THXT8XUnitDiv]> {
76 def : WriteRes<WriteID64, [THXT8XUnitDiv]> {
[all …]
DAArch64SchedA53.td61 def : WriteRes<WriteImm, [A53UnitALU]> { let Latency = 3; }
62 def : WriteRes<WriteI, [A53UnitALU]> { let Latency = 3; }
63 def : WriteRes<WriteISReg, [A53UnitALU]> { let Latency = 3; }
64 def : WriteRes<WriteIEReg, [A53UnitALU]> { let Latency = 3; }
65 def : WriteRes<WriteIS, [A53UnitALU]> { let Latency = 2; }
66 def : WriteRes<WriteExtr, [A53UnitALU]> { let Latency = 3; }
69 def : WriteRes<WriteIM32, [A53UnitMAC]> { let Latency = 4; }
70 def : WriteRes<WriteIM64, [A53UnitMAC]> { let Latency = 4; }
73 def : WriteRes<WriteID32, [A53UnitDiv]> { let Latency = 4; }
74 def : WriteRes<WriteID64, [A53UnitDiv]> { let Latency = 4; }
[all …]
DAArch64SchedA55.td66 def : WriteRes<WriteImm, [CortexA55UnitALU]> { let Latency = 3; } // MOVN, MOVZ
67 def : WriteRes<WriteI, [CortexA55UnitALU]> { let Latency = 3; } // ALU
68 def : WriteRes<WriteISReg, [CortexA55UnitALU]> { let Latency = 3; } // ALU of Shifted-Reg
69 def : WriteRes<WriteIEReg, [CortexA55UnitALU]> { let Latency = 3; } // ALU of Extended-Reg
70 def : WriteRes<WriteExtr, [CortexA55UnitALU]> { let Latency = 3; } // EXTR from a reg pair
71 def : WriteRes<WriteIS, [CortexA55UnitALU]> { let Latency = 3; } // Shift/Scale
74 def : WriteRes<WriteIM32, [CortexA55UnitMAC]> { let Latency = 4; } // 32-bit Multiply
75 def : WriteRes<WriteIM64, [CortexA55UnitMAC]> { let Latency = 4; } // 64-bit Multiply
78 def : WriteRes<WriteID32, [CortexA55UnitDiv]> {
81 def : WriteRes<WriteID64, [CortexA55UnitDiv]> {
[all …]
DAArch64SchedCyclone.td134 def : WriteRes<WriteImm, [CyUnitI]>;
153 def : WriteRes<WriteI, [CyUnitI]>;
159 def : WriteRes<WriteISReg, [CyUnitIS]> {
167 def : WriteRes<WriteIEReg, [CyUnitIS]> {
174 def : WriteRes<WriteIS, [CyUnitIS]>;
179 def : WriteRes<WriteExtr, [CyUnitIS, CyUnitIS]> {
195 def : WriteRes<WriteIM32, [CyUnitIM]> {
199 def : WriteRes<WriteIM64, [CyUnitIM]> {
210 def : WriteRes<WriteID32, [CyUnitID, CyUnitIntDiv]> {
217 def : WriteRes<WriteID64, [CyUnitID, CyUnitIntDiv]> {
[all …]
DAArch64SchedTSV110.td60 def : WriteRes<WriteImm, [TSV110UnitALUAB]> { let Latency = 1; }
61 def : WriteRes<WriteI, [TSV110UnitALUAB]> { let Latency = 1; }
62 def : WriteRes<WriteISReg, [TSV110UnitMDU]> { let Latency = 2; }
63 def : WriteRes<WriteIEReg, [TSV110UnitMDU]> { let Latency = 2; }
64 def : WriteRes<WriteExtr, [TSV110UnitALUAB]> { let Latency = 1; }
65 def : WriteRes<WriteIS, [TSV110UnitALUAB]> { let Latency = 1; }
68 def : WriteRes<WriteID32, [TSV110UnitMDU]> { let Latency = 12;
70 def : WriteRes<WriteID64, [TSV110UnitMDU]> { let Latency = 20;
72 def : WriteRes<WriteIM32, [TSV110UnitMDU]> { let Latency = 3; }
73 def : WriteRes<WriteIM64, [TSV110UnitMDU]> { let Latency = 4; }
[all …]
DAArch64SchedAmpere1.td586 def : WriteRes<WriteImm, [Ampere1UnitAB]>; // MOVN, MOVZ
587 def : WriteRes<WriteI, [Ampere1UnitAB]>; // ALU
588 def : WriteRes<WriteISReg, [Ampere1UnitB, Ampere1UnitA]> {
592 def : WriteRes<WriteIEReg, [Ampere1UnitAB, Ampere1UnitA]> {
596 def : WriteRes<WriteExtr, [Ampere1UnitB]>; // EXTR shifts a reg pair
597 def : WriteRes<WriteIS, [Ampere1UnitB]>; // Shift/Scale
598 def : WriteRes<WriteID32, [Ampere1UnitBS]> {
601 def : WriteRes<WriteID64, [Ampere1UnitBS]> {
604 def : WriteRes<WriteIM32, [Ampere1UnitBS]> {
607 def : WriteRes<WriteIM64, [Ampere1UnitBS]> {
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/X86/
DX86ScheduleSLM.td67 def : WriteRes<SchedRW, ExePorts> {
75 def : WriteRes<SchedRW.Folded, !listconcat([SLM_MEC_RSV], ExePorts)> {
84 def : WriteRes<WriteRMW, [SLM_MEC_RSV]> { let NumMicroOps = 0; }
86 def : WriteRes<WriteStore, [SLM_IEC_RSV01, SLM_MEC_RSV]>;
87 def : WriteRes<WriteStoreNT, [SLM_IEC_RSV01, SLM_MEC_RSV]>;
88 def : WriteRes<WriteLoad, [SLM_MEC_RSV]> { let Latency = 3; }
89 def : WriteRes<WriteMove, [SLM_IEC_RSV01]>;
90 def : WriteRes<WriteZero, []>;
139 def : WriteRes<WriteSETCC, [SLM_IEC_RSV01]>;
140 def : WriteRes<WriteSETCCStore, [SLM_IEC_RSV01, SLM_MEC_RSV]> {
[all …]
DX86ScheduleAtom.td63 def : WriteRes<SchedRW, RRPorts> {
70 def : WriteRes<SchedRW.Folded, RMPorts> {
78 def : WriteRes<WriteRMW, [AtomPort0]>;
122 def : WriteRes<WriteSETCC, [AtomPort01]>;
123 def : WriteRes<WriteSETCCStore, [AtomPort01]> {
127 def : WriteRes<WriteLAHFSAHF, [AtomPort01]> {
139 def : WriteRes<WriteLEA, [AtomPort1]>;
171 def : WriteRes<WriteLoad, [AtomPort0]>;
172 def : WriteRes<WriteStore, [AtomPort0]>;
173 def : WriteRes<WriteStoreNT, [AtomPort0]>;
[all …]
DX86SchedSandyBridge.td91 def : WriteRes<SchedRW, ExePorts> {
99 def : WriteRes<SchedRW.Folded, !listconcat([SBPort23], ExePorts)> {
108 def : WriteRes<WriteRMW, [SBPort23,SBPort4]>;
110 def : WriteRes<WriteStore, [SBPort23, SBPort4]>;
111 def : WriteRes<WriteStoreNT, [SBPort23, SBPort4]>;
112 def : WriteRes<WriteLoad, [SBPort23]> { let Latency = 5; }
113 def : WriteRes<WriteMove, [SBPort015]>;
120 def : WriteRes<WriteZero, []>;
143 def SBWriteIMulH : WriteRes<WriteIMulH, []> { let Latency = 4; }
144 def : WriteRes<WriteIMulHLd, []> {
[all …]
DX86SchedSkylakeClient.td95 def : WriteRes<SchedRW, ExePorts> {
103 def : WriteRes<SchedRW.Folded, !listconcat([SKLPort23], ExePorts)> {
112 def : WriteRes<WriteRMW, [SKLPort237,SKLPort4]>;
132 def SKLWriteIMulH : WriteRes<WriteIMulH, []> { let Latency = 4; }
133 def : WriteRes<WriteIMulHLd, []> {
163 def : WriteRes<WriteLEA, [SKLPort15]>; // LEA instructions can't fold loads.
167 def : WriteRes<WriteSETCC, [SKLPort06]>; // Setcc.
168 def : WriteRes<WriteSETCCStore, [SKLPort06,SKLPort4,SKLPort237]> {
217 def : WriteRes<WriteZero, []>;
424 def : WriteRes<WriteVecInsert, [SKLPort5]> {
[all …]
DX86SchedBroadwell.td96 def : WriteRes<SchedRW, ExePorts> {
104 def : WriteRes<SchedRW.Folded, !listconcat([BWPort23], ExePorts)> {
113 def : WriteRes<WriteRMW, [BWPort237,BWPort4]>;
128 def : WriteRes<WriteZero, []>;
152 def BWWriteIMulH : WriteRes<WriteIMulH, []> { let Latency = 4; }
153 def : WriteRes<WriteIMulHLd, []> {
184 def : WriteRes<WriteSETCC, [BWPort06]>; // Setcc.
185 def : WriteRes<WriteSETCCStore, [BWPort06,BWPort4,BWPort237]> {
201 def : WriteRes<WriteLEA, [BWPort15]>;
489 def : WriteRes<WriteVecInsert, [BWPort5]> {
[all …]
DX86SchedHaswell.td101 def : WriteRes<SchedRW, ExePorts> {
109 def : WriteRes<SchedRW.Folded, !listconcat([HWPort23], ExePorts)> {
118 def : WriteRes<WriteRMW, [HWPort237,HWPort4]>;
130 def : WriteRes<WriteZero, []>;
154 def HWWriteIMulH : WriteRes<WriteIMulH, []> { let Latency = 4; }
155 def : WriteRes<WriteIMulHLd, []> {
186 def : WriteRes<WriteSETCC, [HWPort06]>; // Setcc.
187 def : WriteRes<WriteSETCCStore, [HWPort06,HWPort4,HWPort237]> {
203 def : WriteRes<WriteLEA, [HWPort15]>;
488 def : WriteRes<WriteVecInsert, [HWPort5]> {
[all …]
DX86ScheduleBtVer2.td126 def : WriteRes<SchedRW, ExePorts> {
134 def : WriteRes<SchedRW.Folded, !listconcat([JLAGU], ExePorts)> {
146 def : WriteRes<SchedRW, ExePorts> {
154 def : WriteRes<SchedRW.Folded, !listconcat([JLAGU], ExePorts)> {
166 def : WriteRes<SchedRW, ExePorts> {
174 def : WriteRes<SchedRW.Folded, !listconcat([JLAGU], ExePorts)> {
230 def : WriteRes<WriteSETCC, [JALU01]>; // Setcc.
231 def : WriteRes<WriteSETCCStore, [JALU01,JSAGU]>;
232 def : WriteRes<WriteLAHFSAHF, [JALU01]>;
242 def : WriteRes<WriteLEA, [JALU01]>;
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/ARM/
DARMScheduleM7.td56 def : WriteRes<WriteALU, [M7UnitALU]> { let Latency = 1; }
60 def : WriteRes<WriteALUsi, [M7UnitALU, M7UnitShift1]>;
61 def : WriteRes<WriteALUsr, [M7UnitALU, M7UnitShift1]>;
62 def : WriteRes<WriteALUSsr, [M7UnitALU, M7UnitShift1]>;
66 def : WriteRes<WriteCMP, [M7UnitALU]> { let Latency = 1; }
67 def : WriteRes<WriteCMPsi, [M7UnitALU, M7UnitShift1]> { let Latency = 2; }
68 def : WriteRes<WriteCMPsr, [M7UnitALU, M7UnitShift1]> { let Latency = 2; }
72 def : WriteRes<WriteMUL16, [M7UnitMAC]>;
73 def : WriteRes<WriteMUL32, [M7UnitMAC]>;
74 def : WriteRes<WriteMUL64Lo, [M7UnitMAC]>;
[all …]
DARMScheduleM55.td135 def : WriteRes<WriteALU, [M55UnitALU]>;
136 def : WriteRes<WriteCMP, [M55UnitALU]>;
137 def : WriteRes<WriteBr, [M55UnitALU]>;
138 def : WriteRes<WriteBrL, [M55UnitALU]>;
139 def : WriteRes<WriteBrTbl, [M55UnitALU]>;
140 def : WriteRes<WriteST, [M55UnitALU]>;
144 def : WriteRes<WritePreLd, [M55UnitALU]>;
178 def : WriteRes<WriteLd, [M55UnitALU]>;
182 def : WriteRes<WriteALUsi, [M55UnitALU]>;
183 def : WriteRes<WriteALUsr, [M55UnitALU]>;
[all …]
DARMScheduleR52.td61 def : WriteRes<WriteALU, [R52UnitALU]> { let Latency = 3; }
62 def : WriteRes<WriteALUsi, [R52UnitALU]> { let Latency = 3; }
63 def : WriteRes<WriteALUsr, [R52UnitALU]> { let Latency = 3; }
64 def : WriteRes<WriteALUSsr, [R52UnitALU]> { let Latency = 3; }
67 def : WriteRes<WriteCMP, [R52UnitALU]> { let Latency = 0; }
68 def : WriteRes<WriteCMPsi, [R52UnitALU]> { let Latency = 0; }
69 def : WriteRes<WriteCMPsr, [R52UnitALU]> { let Latency = 0; }
74 def : WriteRes<WriteDIV, [R52UnitDiv]> {
79 def : WriteRes<WriteBr, [R52UnitB]> { let Latency = 0; }
80 def : WriteRes<WriteBrL, [R52UnitB]> { let Latency = 0; }
[all …]
/openbsd/src/gnu/llvm/llvm/lib/Target/Lanai/
DLanaiSchedule.td64 def : WriteRes<WriteLD, [LdSt]> { let Latency = 2; }
65 def : WriteRes<WriteST, [LdSt]> { let Latency = 2; }
66 def : WriteRes<WriteLDSW, [LdSt]> { let Latency = 2; }
67 def : WriteRes<WriteSTSW, [LdSt]> { let Latency = 4; }
68 def : WriteRes<WriteALU, [ALU]> { let Latency = 1; }

123