Skip to content

Commit 89c6144

Browse files
authored
[AMDGPU] Baseline gfx1250 speed model. (#145217)
1 parent 32f911f commit 89c6144

File tree

2 files changed

+34
-1
lines changed

2 files changed

+34
-1
lines changed

llvm/lib/Target/AMDGPU/GCNProcessors.td

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,6 @@ def : ProcessorModel<"gfx12-generic", GFX12SpeedModel,
326326
FeatureISAVersion12_Generic.Features
327327
>;
328328

329-
def : ProcessorModel<"gfx1250", GFX12SpeedModel,
329+
def : ProcessorModel<"gfx1250", GFX1250SpeedModel,
330330
FeatureISAVersion12_50.Features
331331
>;

llvm/lib/Target/AMDGPU/SISchedule.td

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def SIDPGFX950FullSpeedModel : SISchedMachineModel;
9999
def GFX10SpeedModel : SISchedMachineModel;
100100
def GFX11SpeedModel : SISchedMachineModel;
101101
def GFX12SpeedModel : SISchedMachineModel;
102+
def GFX1250SpeedModel : SISchedMachineModel;
102103

103104
// XXX: Are the resource counts correct?
104105
def HWBranch : ProcResource<1> {
@@ -455,3 +456,35 @@ def : HWWriteRes<WriteBarrier, [HWBranch], 2000>;
455456
def : InstRW<[WriteCopy], (instrs COPY)>;
456457

457458
} // End SchedModel = GFX12SpeedModel
459+
460+
multiclass GFX125xCommonWriteRes {
461+
462+
def : HWWriteRes<Write32Bit, [HWVALU, HWRC], 5>;
463+
def : HWWriteRes<WriteFloatCvt, [HWVALU, HWRC], 5>;
464+
def : HWWriteRes<WriteTrans32, [HWTransVALU, HWRC], 7>;
465+
def : HWWriteRes<WriteQuarterRate32, [HWVALU, HWRC], 6>;
466+
def : HWWriteRes<WriteFloatFMA, [HWVALU, HWRC], 5>;
467+
def : HWWriteRes<WritePseudoScalarTrans, [HWVALU, HWRC], 8>;
468+
469+
def : HWWriteRes<WriteBranch, [HWBranch], 32>;
470+
def : HWWriteRes<WriteExport, [HWExport, HWRC], 16>;
471+
def : HWWriteRes<WriteLDS, [HWLGKM, HWRC], 20>;
472+
def : HWWriteRes<WriteSALU, [HWSALU, HWRC], 2>;
473+
def : HWWriteRes<WriteSFPU, [HWSALU, HWRC], 4>;
474+
def : HWWriteRes<WriteSMEM, [HWLGKM, HWRC], 20>;
475+
def : HWWriteRes<WriteVMEM, [HWVMEM, HWRC], 320>;
476+
def : HWWriteRes<WriteBarrier, [HWBranch], 2000>;
477+
478+
def : InstRW<[WriteCopy], (instrs COPY)>;
479+
} // End GFX125xCommonWriteRes
480+
481+
let SchedModel = GFX1250SpeedModel in {
482+
defm : GFX125xCommonWriteRes;
483+
484+
def : HWWriteRes<Write64Bit, [HWVALU, HWRC], 7>;
485+
def : HWWriteRes<WriteIntMul, [HWVALU, HWRC], 11>;
486+
def : HWWriteRes<WriteDouble, [HWVALU, HWRC], 32>;
487+
def : HWWriteRes<WriteDoubleAdd, [HWVALU, HWRC], 32>;
488+
def : HWWriteRes<WriteDoubleCvt, [HWVALU, HWRC], 32>;
489+
def : HWWriteRes<WriteTrans64, [HWVALU, HWTransVALU, HWRC], 38>;
490+
} // SchedModel = GFX1250SpeedModel

0 commit comments

Comments
 (0)