diff --git a/llvm/lib/Target/AMDGPU/GCNProcessors.td b/llvm/lib/Target/AMDGPU/GCNProcessors.td index 0b331bd3f3fb6..b5ffa64c3a4b4 100644 --- a/llvm/lib/Target/AMDGPU/GCNProcessors.td +++ b/llvm/lib/Target/AMDGPU/GCNProcessors.td @@ -326,6 +326,6 @@ def : ProcessorModel<"gfx12-generic", GFX12SpeedModel, FeatureISAVersion12_Generic.Features >; -def : ProcessorModel<"gfx1250", GFX12SpeedModel, +def : ProcessorModel<"gfx1250", GFX1250SpeedModel, FeatureISAVersion12_50.Features >; diff --git a/llvm/lib/Target/AMDGPU/SISchedule.td b/llvm/lib/Target/AMDGPU/SISchedule.td index 2a374b360b04a..1679cee320067 100644 --- a/llvm/lib/Target/AMDGPU/SISchedule.td +++ b/llvm/lib/Target/AMDGPU/SISchedule.td @@ -99,6 +99,7 @@ def SIDPGFX950FullSpeedModel : SISchedMachineModel; def GFX10SpeedModel : SISchedMachineModel; def GFX11SpeedModel : SISchedMachineModel; def GFX12SpeedModel : SISchedMachineModel; +def GFX1250SpeedModel : SISchedMachineModel; // XXX: Are the resource counts correct? def HWBranch : ProcResource<1> { @@ -455,3 +456,35 @@ def : HWWriteRes; def : InstRW<[WriteCopy], (instrs COPY)>; } // End SchedModel = GFX12SpeedModel + +multiclass GFX125xCommonWriteRes { + +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; + +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; + +def : InstRW<[WriteCopy], (instrs COPY)>; +} // End GFX125xCommonWriteRes + +let SchedModel = GFX1250SpeedModel in { +defm : GFX125xCommonWriteRes; + +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +def : HWWriteRes; +} // SchedModel = GFX1250SpeedModel