| /openbsd/src/gnu/llvm/llvm/lib/Target/RISCV/ |
| D | RISCVSchedSyntacoreSCR1.td | 41 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 …]
|
| D | RISCVSchedSiFive7.td | 42 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 …]
|
| D | RISCVSchedRocket.td | 51 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 …]
|
| D | RISCVScheduleZb.td | 85 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 …]
|
| D | RISCVSchedule.td | 191 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 …]
|
| D | RISCVScheduleV.td | 60 // 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/ |
| D | AArch64SchedFalkor.td | 70 // 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 …]
|
| D | AArch64SchedKryo.td | 66 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 …]
|
| D | AArch64SchedThunderX.td | 52 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 …]
|
| D | AArch64SchedA53.td | 61 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 …]
|
| D | AArch64SchedA55.td | 66 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 …]
|
| D | AArch64SchedCyclone.td | 134 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 …]
|
| D | AArch64SchedTSV110.td | 60 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 …]
|
| D | AArch64SchedAmpere1.td | 586 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/ |
| D | X86ScheduleSLM.td | 67 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 …]
|
| D | X86ScheduleAtom.td | 63 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 …]
|
| D | X86SchedSandyBridge.td | 91 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 …]
|
| D | X86SchedSkylakeClient.td | 95 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 …]
|
| D | X86SchedBroadwell.td | 96 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 …]
|
| D | X86SchedHaswell.td | 101 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 …]
|
| D | X86ScheduleBtVer2.td | 126 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/ |
| D | ARMScheduleM7.td | 56 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 …]
|
| D | ARMScheduleM55.td | 135 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 …]
|
| D | ARMScheduleR52.td | 61 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/ |
| D | LanaiSchedule.td | 64 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; }
|