| /*===- 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 }, |
| }; |
| |