[llvm] [X86][Codegen] add sched for lnlp (PR #139446)
via llvm-commits
llvm-commits at lists.llvm.org
Thu May 15 01:16:00 PDT 2025
================
@@ -236,6 +236,26 @@ def SapphireRapidsPfmCounters : ProcPfmCounters {
}
def : PfmCountersBinding<"sapphirerapids", SapphireRapidsPfmCounters>;
+def LunarLakePfmCounters : ProcPfmCounters {
+ let CycleCounter = UnhaltedCoreCyclesPfmCounter;
+ let UopsCounter = UopsIssuedPfmCounter;
+ let IssueCounters = [
+ // Refer: https://perfmon-events.intel.com/ section Lunar Lake Hybrid Event
+ // ALU Dispatch - Any of ALUs with latency 1 cycle that is not jmp or Shift.
+ PfmIssueCounter<"LNLPVPort02_03", "uops_dispatched:alu">,
+ PfmIssueCounter<"LNLPPort00_01_02_03_04_05", "uops_dispatched:int_eu_all">,
+ PfmIssueCounter<"LNLPPort00_02_04", "uops_dispatched:jmp">,
+ PfmIssueCounter<"LNLPPort20_21_22", "uops_dispatched:load">,
+ PfmIssueCounter<"LNLPPort01_03_05", "uops_dispatched:shift">,
+ // Slow Dispatch - If uops latency > 1, counted as slow. TBD
----------------
mahesh-attarde wrote:
`ops_dispatched:shift` and `ops_dispatched:slow` uses same resource group `LNLPPort01_03_05`. We dont allow duplicates in ProcPfmCounter. we have not resource group with fine granularity around latency yet. hence this is commented and marked TBD since no immediate use case around this.
https://github.com/llvm/llvm-project/pull/139446
More information about the llvm-commits
mailing list