[llvm] [X86][SchedModel] Add masked gather/scatter overrides to Znver4Model (PR #212997)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 21 02:19:38 PDT 2026
================
@@ -324,6 +333,14 @@ def Zn4FPAES01 : ProcResGroup<[Zn4FPAES0, Zn4FPAES1]>;
// *CLM*
def Zn4FPCLM01 : ProcResGroup<[Zn4FPCLM0, Zn4FPCLM1]>;
+// Issue limit for the microcoded masked gather/scatter sequences, whose
+// throughput is set by the microcode sequencer rather than by any pipe they
+// occupy. Abstract rather than a fourth copy of some pipe: it is declared
+// 4-wide only so that round(tput * 4) keeps the measurement's resolution, and
+// is charged separately so that a gather does not falsely serialise unrelated
+// FP work. See the masked gather/scatter section below for the measurements.
+def Zn4UcodeGS : ProcResource<4>;
----------------
RKSimon wrote:
So this isn't specific to gather-scatter? Anything with heavy use of microcoded instructions will have the same limit?
https://github.com/llvm/llvm-project/pull/212997
More information about the llvm-commits
mailing list