• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2|*                                                                            *|
3|* Exegesis Tables                                                            *|
4|*                                                                            *|
5|* Automatically generated file, do not edit!                                 *|
6|*                                                                            *|
7\*===----------------------------------------------------------------------===*/
8
9
10static const char* X86PfmCounterNames[] = {
11  "cpu_clk_unhalted", // 0
12  "cycles_not_in_halt", // 1
13  "dispatched_fpu:pipe0", // 2
14  "dispatched_fpu:pipe1", // 3
15  "dispatched_fpu_ops:ops_pipe0 + dispatched_fpu_ops:ops_dual_pipe0", // 4
16  "dispatched_fpu_ops:ops_pipe1 + dispatched_fpu_ops:ops_dual_pipe1", // 5
17  "dispatched_fpu_ops:ops_pipe2 + dispatched_fpu_ops:ops_dual_pipe2", // 6
18  "dispatched_fpu_ops:ops_pipe3 + dispatched_fpu_ops:ops_dual_pipe3", // 7
19  "div_op_count", // 8
20  "fpu_pipe_assignment:total0", // 9
21  "fpu_pipe_assignment:total1", // 10
22  "fpu_pipe_assignment:total2", // 11
23  "fpu_pipe_assignment:total3", // 12
24  "retired_uops", // 13
25  "unhalted_core_cycles", // 14
26  "uops_dispatched_port:port_0", // 15
27  "uops_dispatched_port:port_1", // 16
28  "uops_dispatched_port:port_2", // 17
29  "uops_dispatched_port:port_2 + uops_dispatched_port:port_3", // 18
30  "uops_dispatched_port:port_3", // 19
31  "uops_dispatched_port:port_4", // 20
32  "uops_dispatched_port:port_5", // 21
33  "uops_dispatched_port:port_6", // 22
34  "uops_dispatched_port:port_7", // 23
35  "uops_executed_port:port_0", // 24
36  "uops_executed_port:port_1", // 25
37  "uops_executed_port:port_2", // 26
38  "uops_executed_port:port_3", // 27
39  "uops_executed_port:port_4", // 28
40  "uops_executed_port:port_5", // 29
41  "uops_executed_port:port_6", // 30
42  "uops_executed_port:port_7", // 31
43  "uops_issued:any", // 32
44  "uops_retired", // 33
45  "uops_retired:all", // 34
46  "uops_retired:any", // 35
47};
48
49static const PfmCountersInfo::IssueCounter X86PfmIssueCounters[] = {
50  { X86PfmCounterNames[4], "PdFPU0"},
51  { X86PfmCounterNames[5], "PdFPU1"},
52  { X86PfmCounterNames[6], "PdFPU2"},
53  { X86PfmCounterNames[7], "PdFPU3"},
54  { X86PfmCounterNames[4], "SrFPU0"},
55  { X86PfmCounterNames[5], "SrFPU1"},
56  { X86PfmCounterNames[6], "SrFPU2"},
57  { X86PfmCounterNames[24], "BWPort0"},
58  { X86PfmCounterNames[25], "BWPort1"},
59  { X86PfmCounterNames[26], "BWPort2"},
60  { X86PfmCounterNames[27], "BWPort3"},
61  { X86PfmCounterNames[28], "BWPort4"},
62  { X86PfmCounterNames[29], "BWPort5"},
63  { X86PfmCounterNames[30], "BWPort6"},
64  { X86PfmCounterNames[31], "BWPort7"},
65  { X86PfmCounterNames[2], "BtFPU0"},
66  { X86PfmCounterNames[3], "BtFPU1"},
67  { X86PfmCounterNames[2], "JFPU0"},
68  { X86PfmCounterNames[3], "JFPU1"},
69  { X86PfmCounterNames[24], "HWPort0"},
70  { X86PfmCounterNames[25], "HWPort1"},
71  { X86PfmCounterNames[26], "HWPort2"},
72  { X86PfmCounterNames[27], "HWPort3"},
73  { X86PfmCounterNames[28], "HWPort4"},
74  { X86PfmCounterNames[29], "HWPort5"},
75  { X86PfmCounterNames[30], "HWPort6"},
76  { X86PfmCounterNames[31], "HWPort7"},
77  { X86PfmCounterNames[15], "SBPort0"},
78  { X86PfmCounterNames[16], "SBPort1"},
79  { X86PfmCounterNames[18], "SBPort23"},
80  { X86PfmCounterNames[20], "SBPort4"},
81  { X86PfmCounterNames[21], "SBPort5"},
82  { X86PfmCounterNames[15], "SKLPort0"},
83  { X86PfmCounterNames[16], "SKLPort1"},
84  { X86PfmCounterNames[17], "SKLPort2"},
85  { X86PfmCounterNames[19], "SKLPort3"},
86  { X86PfmCounterNames[20], "SKLPort4"},
87  { X86PfmCounterNames[21], "SKLPort5"},
88  { X86PfmCounterNames[22], "SKLPort6"},
89  { X86PfmCounterNames[23], "SKLPort7"},
90  { X86PfmCounterNames[15], "SKXPort0"},
91  { X86PfmCounterNames[16], "SKXPort1"},
92  { X86PfmCounterNames[17], "SKXPort2"},
93  { X86PfmCounterNames[19], "SKXPort3"},
94  { X86PfmCounterNames[20], "SKXPort4"},
95  { X86PfmCounterNames[21], "SKXPort5"},
96  { X86PfmCounterNames[22], "SKXPort6"},
97  { X86PfmCounterNames[23], "SKXPort7"},
98  { X86PfmCounterNames[9], "ZnFPU0"},
99  { X86PfmCounterNames[10], "ZnFPU1"},
100  { X86PfmCounterNames[11], "ZnFPU2"},
101  { X86PfmCounterNames[12], "ZnFPU3"},
102  { X86PfmCounterNames[8], "ZnDivider"},
103};
104
105static const PfmCountersInfo X86AtomPfmCounters = {
106  X86PfmCounterNames[14],  // Cycle counter
107  X86PfmCounterNames[35],  // Uops counter
108  nullptr,  // No issue counters.
109  0
110};
111
112static const PfmCountersInfo X86BdVer2PfmCounters = {
113  X86PfmCounterNames[0],  // Cycle counter
114  X86PfmCounterNames[13],  // Uops counter
115  X86PfmIssueCounters + 0, 4 // Issue counters.
116};
117
118static const PfmCountersInfo X86BdVer3PfmCounters = {
119  X86PfmCounterNames[0],  // Cycle counter
120  X86PfmCounterNames[13],  // Uops counter
121  X86PfmIssueCounters + 4, 3 // Issue counters.
122};
123
124static const PfmCountersInfo X86BroadwellPfmCounters = {
125  X86PfmCounterNames[14],  // Cycle counter
126  X86PfmCounterNames[32],  // Uops counter
127  X86PfmIssueCounters + 7, 8 // Issue counters.
128};
129
130static const PfmCountersInfo X86BtVer1PfmCounters = {
131  X86PfmCounterNames[0],  // Cycle counter
132  X86PfmCounterNames[13],  // Uops counter
133  X86PfmIssueCounters + 15, 2 // Issue counters.
134};
135
136static const PfmCountersInfo X86BtVer2PfmCounters = {
137  X86PfmCounterNames[0],  // Cycle counter
138  X86PfmCounterNames[13],  // Uops counter
139  X86PfmIssueCounters + 17, 2 // Issue counters.
140};
141
142static const PfmCountersInfo X86CorePfmCounters = {
143  X86PfmCounterNames[14],  // Cycle counter
144  X86PfmCounterNames[35],  // Uops counter
145  nullptr,  // No issue counters.
146  0
147};
148
149static const PfmCountersInfo X86DefaultAMDPfmCounters = {
150  X86PfmCounterNames[0],  // Cycle counter
151  X86PfmCounterNames[13],  // Uops counter
152  nullptr,  // No issue counters.
153  0
154};
155
156static const PfmCountersInfo X86DefaultPfmCounters = {
157  nullptr,  // No cycle counter.
158  nullptr,  // No uops counter.
159  nullptr,  // No issue counters.
160  0
161};
162
163static const PfmCountersInfo X86HaswellPfmCounters = {
164  X86PfmCounterNames[14],  // Cycle counter
165  X86PfmCounterNames[32],  // Uops counter
166  X86PfmIssueCounters + 19, 8 // Issue counters.
167};
168
169static const PfmCountersInfo X86KnightPfmCounters = {
170  X86PfmCounterNames[14],  // Cycle counter
171  X86PfmCounterNames[34],  // Uops counter
172  nullptr,  // No issue counters.
173  0
174};
175
176static const PfmCountersInfo X86PentiumPfmCounters = {
177  X86PfmCounterNames[0],  // Cycle counter
178  X86PfmCounterNames[33],  // Uops counter
179  nullptr,  // No issue counters.
180  0
181};
182
183static const PfmCountersInfo X86SLMPfmCounters = {
184  X86PfmCounterNames[14],  // Cycle counter
185  X86PfmCounterNames[35],  // Uops counter
186  nullptr,  // No issue counters.
187  0
188};
189
190static const PfmCountersInfo X86SandyBridgePfmCounters = {
191  X86PfmCounterNames[14],  // Cycle counter
192  X86PfmCounterNames[32],  // Uops counter
193  X86PfmIssueCounters + 27, 5 // Issue counters.
194};
195
196static const PfmCountersInfo X86SkylakeClientPfmCounters = {
197  X86PfmCounterNames[14],  // Cycle counter
198  X86PfmCounterNames[32],  // Uops counter
199  X86PfmIssueCounters + 32, 8 // Issue counters.
200};
201
202static const PfmCountersInfo X86SkylakeServerPfmCounters = {
203  X86PfmCounterNames[14],  // Cycle counter
204  X86PfmCounterNames[32],  // Uops counter
205  X86PfmIssueCounters + 40, 8 // Issue counters.
206};
207
208static const PfmCountersInfo X86ZnVer1PfmCounters = {
209  X86PfmCounterNames[1],  // Cycle counter
210  X86PfmCounterNames[13],  // Uops counter
211  X86PfmIssueCounters + 48, 5 // Issue counters.
212};
213
214// Sorted (by CpuName) array of pfm counters.
215static const CpuAndPfmCounters X86CpuPfmCounters[] = {
216  { "", &X86DefaultPfmCounters },
217  { "amdfam10", &X86DefaultAMDPfmCounters },
218  { "athlon", &X86DefaultAMDPfmCounters },
219  { "athlon-4", &X86DefaultAMDPfmCounters },
220  { "athlon-fx", &X86DefaultAMDPfmCounters },
221  { "athlon-mp", &X86DefaultAMDPfmCounters },
222  { "athlon-tbird", &X86DefaultAMDPfmCounters },
223  { "athlon-xp", &X86DefaultAMDPfmCounters },
224  { "athlon64", &X86DefaultAMDPfmCounters },
225  { "athlon64-sse3", &X86DefaultAMDPfmCounters },
226  { "atom", &X86AtomPfmCounters },
227  { "barcelona", &X86DefaultAMDPfmCounters },
228  { "bdver1", &X86BdVer2PfmCounters },
229  { "bdver2", &X86BdVer2PfmCounters },
230  { "bdver3", &X86BdVer3PfmCounters },
231  { "bdver4", &X86BdVer3PfmCounters },
232  { "bonnell", &X86AtomPfmCounters },
233  { "broadwell", &X86BroadwellPfmCounters },
234  { "btver1", &X86BtVer1PfmCounters },
235  { "btver2", &X86BtVer2PfmCounters },
236  { "cannonlake", &X86SkylakeServerPfmCounters },
237  { "cascadelake", &X86SkylakeServerPfmCounters },
238  { "core2", &X86CorePfmCounters },
239  { "corei7", &X86CorePfmCounters },
240  { "goldmont", &X86SLMPfmCounters },
241  { "goldmont-plus", &X86SLMPfmCounters },
242  { "haswell", &X86HaswellPfmCounters },
243  { "icelake-client", &X86SkylakeServerPfmCounters },
244  { "icelake-server", &X86SkylakeServerPfmCounters },
245  { "ivybridge", &X86SandyBridgePfmCounters },
246  { "k8", &X86DefaultAMDPfmCounters },
247  { "k8-sse3", &X86DefaultAMDPfmCounters },
248  { "knl", &X86KnightPfmCounters },
249  { "knm", &X86KnightPfmCounters },
250  { "nehalem", &X86CorePfmCounters },
251  { "opteron", &X86DefaultAMDPfmCounters },
252  { "opteron-sse3", &X86DefaultAMDPfmCounters },
253  { "penryn", &X86CorePfmCounters },
254  { "pentium-m", &X86PentiumPfmCounters },
255  { "pentium2", &X86PentiumPfmCounters },
256  { "pentium3", &X86PentiumPfmCounters },
257  { "pentium3m", &X86PentiumPfmCounters },
258  { "pentiumpro", &X86PentiumPfmCounters },
259  { "prescott", &X86CorePfmCounters },
260  { "sandybridge", &X86SandyBridgePfmCounters },
261  { "silvermont", &X86SLMPfmCounters },
262  { "skylake", &X86SkylakeClientPfmCounters },
263  { "skylake-avx512", &X86SkylakeServerPfmCounters },
264  { "tremont", &X86SLMPfmCounters },
265  { "westmere", &X86CorePfmCounters },
266  { "yonah", &X86CorePfmCounters },
267  { "znver1", &X86ZnVer1PfmCounters },
268};
269
270