blob: 8b3d9e92699256e26977bac8fce5447c68034bce [file] [log] [blame]
/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|* *|
|* Exegesis Tables *|
|* *|
|* Automatically generated file, do not edit! *|
|* *|
\*===----------------------------------------------------------------------===*/
static const char *X86PfmCounterNames[] = {
"cpu_clk_unhalted", // 0
"cycles_not_in_halt", // 1
"dispatched_fpu:pipe0", // 2
"dispatched_fpu:pipe1", // 3
"dispatched_fpu_ops:ops_pipe0 + dispatched_fpu_ops:ops_dual_pipe0", // 4
"dispatched_fpu_ops:ops_pipe1 + dispatched_fpu_ops:ops_dual_pipe1", // 5
"dispatched_fpu_ops:ops_pipe2 + dispatched_fpu_ops:ops_dual_pipe2", // 6
"dispatched_fpu_ops:ops_pipe3 + dispatched_fpu_ops:ops_dual_pipe3", // 7
"div_op_count", // 8
"fpu_pipe_assignment:total0", // 9
"fpu_pipe_assignment:total1", // 10
"fpu_pipe_assignment:total2", // 11
"fpu_pipe_assignment:total3", // 12
"ls_dispatch:ld_dispatch", // 13
"ls_dispatch:ld_st_dispatch + ls_dispatch:ld_dispatch + ls_dispatch:store_dispatch", // 14
"ls_dispatch:store_dispatch", // 15
"mem_uop_retired:any_ld + mem_uop_retired:any_st", // 16
"ops_type_dispatched_from_decoder:fp_disp_retire_mode", // 17
"ops_type_dispatched_from_decoder:int_disp_retire_mode", // 18
"retired_ops", // 19
"retired_uops", // 20
"rs_uops_dispatched_cycles:port_0", // 21
"rs_uops_dispatched_cycles:port_1", // 22
"rs_uops_dispatched_cycles:port_2 + rs_uops_dispatched_cycles:port_3", // 23
"rs_uops_dispatched_cycles:port_4", // 24
"rs_uops_dispatched_cycles:port_5", // 25
"unhalted_core_cycles", // 26
"uops_dispatched_port:port_0", // 27
"uops_dispatched_port:port_1", // 28
"uops_dispatched_port:port_2", // 29
"uops_dispatched_port:port_2 + uops_dispatched_port:port_3", // 30
"uops_dispatched_port:port_2_3", // 31
"uops_dispatched_port:port_3", // 32
"uops_dispatched_port:port_4", // 33
"uops_dispatched_port:port_4_9", // 34
"uops_dispatched_port:port_5", // 35
"uops_dispatched_port:port_6", // 36
"uops_dispatched_port:port_7", // 37
"uops_dispatched_port:port_7_8", // 38
"uops_executed:port0", // 39
"uops_executed:port1", // 40
"uops_executed:port2_core + uops_executed:port3_core", // 41
"uops_executed:port4_core", // 42
"uops_executed:port5", // 43
"uops_executed_port:port_0", // 44
"uops_executed_port:port_1", // 45
"uops_executed_port:port_2", // 46
"uops_executed_port:port_3", // 47
"uops_executed_port:port_4", // 48
"uops_executed_port:port_5", // 49
"uops_executed_port:port_6", // 50
"uops_executed_port:port_7", // 51
"uops_issued:any", // 52
"uops_retired", // 53
"uops_retired:all", // 54
"uops_retired:any", // 55
};
static const PfmCountersInfo::IssueCounter X86PfmIssueCounters[] = {
{ X86PfmCounterNames[4], "PdFPU0"},
{ X86PfmCounterNames[5], "PdFPU1"},
{ X86PfmCounterNames[6], "PdFPU2"},
{ X86PfmCounterNames[7], "PdFPU3"},
{ X86PfmCounterNames[4], "SrFPU0"},
{ X86PfmCounterNames[5], "SrFPU1"},
{ X86PfmCounterNames[6], "SrFPU2"},
{ X86PfmCounterNames[44], "BWPort0"},
{ X86PfmCounterNames[45], "BWPort1"},
{ X86PfmCounterNames[46], "BWPort2"},
{ X86PfmCounterNames[47], "BWPort3"},
{ X86PfmCounterNames[48], "BWPort4"},
{ X86PfmCounterNames[49], "BWPort5"},
{ X86PfmCounterNames[50], "BWPort6"},
{ X86PfmCounterNames[51], "BWPort7"},
{ X86PfmCounterNames[2], "BtFPU0"},
{ X86PfmCounterNames[3], "BtFPU1"},
{ X86PfmCounterNames[2], "JFPU0"},
{ X86PfmCounterNames[3], "JFPU1"},
{ X86PfmCounterNames[21], "SBPort0"},
{ X86PfmCounterNames[22], "SBPort1"},
{ X86PfmCounterNames[23], "SBPort23"},
{ X86PfmCounterNames[24], "SBPort4"},
{ X86PfmCounterNames[25], "SBPort5"},
{ X86PfmCounterNames[44], "HWPort0"},
{ X86PfmCounterNames[45], "HWPort1"},
{ X86PfmCounterNames[46], "HWPort2"},
{ X86PfmCounterNames[47], "HWPort3"},
{ X86PfmCounterNames[48], "HWPort4"},
{ X86PfmCounterNames[49], "HWPort5"},
{ X86PfmCounterNames[50], "HWPort6"},
{ X86PfmCounterNames[51], "HWPort7"},
{ X86PfmCounterNames[27], "ICXPort0"},
{ X86PfmCounterNames[28], "ICXPort1"},
{ X86PfmCounterNames[31], "ICXPort23"},
{ X86PfmCounterNames[34], "ICXPort49"},
{ X86PfmCounterNames[35], "ICXPort5"},
{ X86PfmCounterNames[36], "ICXPort6"},
{ X86PfmCounterNames[38], "ICXPort78"},
{ X86PfmCounterNames[39], "SBPort0"},
{ X86PfmCounterNames[40], "SBPort1"},
{ X86PfmCounterNames[41], "SBPort23"},
{ X86PfmCounterNames[42], "SBPort4"},
{ X86PfmCounterNames[43], "SBPort5"},
{ X86PfmCounterNames[16], "SLM_MEC_RSV"},
{ X86PfmCounterNames[27], "SBPort0"},
{ X86PfmCounterNames[28], "SBPort1"},
{ X86PfmCounterNames[30], "SBPort23"},
{ X86PfmCounterNames[33], "SBPort4"},
{ X86PfmCounterNames[35], "SBPort5"},
{ X86PfmCounterNames[27], "SKLPort0"},
{ X86PfmCounterNames[28], "SKLPort1"},
{ X86PfmCounterNames[29], "SKLPort2"},
{ X86PfmCounterNames[32], "SKLPort3"},
{ X86PfmCounterNames[33], "SKLPort4"},
{ X86PfmCounterNames[35], "SKLPort5"},
{ X86PfmCounterNames[36], "SKLPort6"},
{ X86PfmCounterNames[37], "SKLPort7"},
{ X86PfmCounterNames[27], "SKXPort0"},
{ X86PfmCounterNames[28], "SKXPort1"},
{ X86PfmCounterNames[29], "SKXPort2"},
{ X86PfmCounterNames[32], "SKXPort3"},
{ X86PfmCounterNames[33], "SKXPort4"},
{ X86PfmCounterNames[35], "SKXPort5"},
{ X86PfmCounterNames[36], "SKXPort6"},
{ X86PfmCounterNames[37], "SKXPort7"},
{ X86PfmCounterNames[9], "ZnFPU0"},
{ X86PfmCounterNames[10], "ZnFPU1"},
{ X86PfmCounterNames[11], "ZnFPU2"},
{ X86PfmCounterNames[12], "ZnFPU3"},
{ X86PfmCounterNames[14], "ZnAGU"},
{ X86PfmCounterNames[8], "ZnDivider"},
{ X86PfmCounterNames[14], "Zn2AGU"},
{ X86PfmCounterNames[8], "Zn2Divider"},
{ X86PfmCounterNames[18], "Zn3Int"},
{ X86PfmCounterNames[17], "Zn3FPU"},
{ X86PfmCounterNames[13], "Zn3Load"},
{ X86PfmCounterNames[15], "Zn3Store"},
{ X86PfmCounterNames[8], "Zn3Divider"},
};
static const PfmCountersInfo X86AtomPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[55], // Uops counter
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86BdVer2PfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 0, 4 // Issue counters.
};
static const PfmCountersInfo X86BdVer3PfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 4, 3 // Issue counters.
};
static const PfmCountersInfo X86BroadwellPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 7, 8 // Issue counters.
};
static const PfmCountersInfo X86BtVer1PfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 15, 2 // Issue counters.
};
static const PfmCountersInfo X86BtVer2PfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 17, 2 // Issue counters.
};
static const PfmCountersInfo X86Core2PfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[55], // Uops counter
X86PfmIssueCounters + 19, 5 // Issue counters.
};
static const PfmCountersInfo X86CorePfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[55], // Uops counter
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86DefaultAMDPfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[20], // Uops counter
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86DefaultPfmCounters = {
nullptr, // No cycle counter.
nullptr, // No uops counter.
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86HaswellPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 24, 8 // Issue counters.
};
static const PfmCountersInfo X86IceLakePfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 32, 7 // Issue counters.
};
static const PfmCountersInfo X86KnightPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[54], // Uops counter
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86NehalemPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[55], // Uops counter
X86PfmIssueCounters + 39, 5 // Issue counters.
};
static const PfmCountersInfo X86PentiumPfmCounters = {
X86PfmCounterNames[0], // Cycle counter
X86PfmCounterNames[53], // Uops counter
nullptr, // No issue counters.
0
};
static const PfmCountersInfo X86SLMPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[55], // Uops counter
X86PfmIssueCounters + 44, 1 // Issue counters.
};
static const PfmCountersInfo X86SandyBridgePfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 45, 5 // Issue counters.
};
static const PfmCountersInfo X86SkylakeClientPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 50, 8 // Issue counters.
};
static const PfmCountersInfo X86SkylakeServerPfmCounters = {
X86PfmCounterNames[26], // Cycle counter
X86PfmCounterNames[52], // Uops counter
X86PfmIssueCounters + 58, 8 // Issue counters.
};
static const PfmCountersInfo X86ZnVer1PfmCounters = {
X86PfmCounterNames[1], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 66, 6 // Issue counters.
};
static const PfmCountersInfo X86ZnVer2PfmCounters = {
X86PfmCounterNames[1], // Cycle counter
X86PfmCounterNames[20], // Uops counter
X86PfmIssueCounters + 72, 2 // Issue counters.
};
static const PfmCountersInfo X86ZnVer3PfmCounters = {
X86PfmCounterNames[1], // Cycle counter
X86PfmCounterNames[19], // Uops counter
X86PfmIssueCounters + 74, 5 // Issue counters.
};
// Sorted (by CpuName) array of pfm counters.
static const CpuAndPfmCounters X86CpuPfmCounters[] = {
{ "", &X86DefaultPfmCounters },
{ "amdfam10", &X86DefaultAMDPfmCounters },
{ "athlon", &X86DefaultAMDPfmCounters },
{ "athlon-4", &X86DefaultAMDPfmCounters },
{ "athlon-fx", &X86DefaultAMDPfmCounters },
{ "athlon-mp", &X86DefaultAMDPfmCounters },
{ "athlon-tbird", &X86DefaultAMDPfmCounters },
{ "athlon-xp", &X86DefaultAMDPfmCounters },
{ "athlon64", &X86DefaultAMDPfmCounters },
{ "athlon64-sse3", &X86DefaultAMDPfmCounters },
{ "atom", &X86AtomPfmCounters },
{ "barcelona", &X86DefaultAMDPfmCounters },
{ "bdver1", &X86BdVer2PfmCounters },
{ "bdver2", &X86BdVer2PfmCounters },
{ "bdver3", &X86BdVer3PfmCounters },
{ "bdver4", &X86BdVer3PfmCounters },
{ "bonnell", &X86AtomPfmCounters },
{ "broadwell", &X86BroadwellPfmCounters },
{ "btver1", &X86BtVer1PfmCounters },
{ "btver2", &X86BtVer2PfmCounters },
{ "cannonlake", &X86SkylakeServerPfmCounters },
{ "cascadelake", &X86SkylakeServerPfmCounters },
{ "core2", &X86Core2PfmCounters },
{ "corei7", &X86NehalemPfmCounters },
{ "goldmont", &X86SLMPfmCounters },
{ "goldmont-plus", &X86SLMPfmCounters },
{ "haswell", &X86HaswellPfmCounters },
{ "icelake-client", &X86IceLakePfmCounters },
{ "icelake-server", &X86IceLakePfmCounters },
{ "ivybridge", &X86SandyBridgePfmCounters },
{ "k8", &X86DefaultAMDPfmCounters },
{ "k8-sse3", &X86DefaultAMDPfmCounters },
{ "knl", &X86KnightPfmCounters },
{ "knm", &X86KnightPfmCounters },
{ "nehalem", &X86NehalemPfmCounters },
{ "opteron", &X86DefaultAMDPfmCounters },
{ "opteron-sse3", &X86DefaultAMDPfmCounters },
{ "penryn", &X86Core2PfmCounters },
{ "pentium-m", &X86PentiumPfmCounters },
{ "pentium2", &X86PentiumPfmCounters },
{ "pentium3", &X86PentiumPfmCounters },
{ "pentium3m", &X86PentiumPfmCounters },
{ "pentiumpro", &X86PentiumPfmCounters },
{ "prescott", &X86CorePfmCounters },
{ "rocketlake", &X86IceLakePfmCounters },
{ "sandybridge", &X86SandyBridgePfmCounters },
{ "silvermont", &X86SLMPfmCounters },
{ "skylake", &X86SkylakeClientPfmCounters },
{ "skylake-avx512", &X86SkylakeServerPfmCounters },
{ "tigerlake", &X86IceLakePfmCounters },
{ "tremont", &X86SLMPfmCounters },
{ "westmere", &X86NehalemPfmCounters },
{ "yonah", &X86CorePfmCounters },
{ "znver1", &X86ZnVer1PfmCounters },
{ "znver2", &X86ZnVer2PfmCounters },
{ "znver3", &X86ZnVer3PfmCounters },
{ "znver4", &X86ZnVer3PfmCounters },
};