xref: /linux/tools/perf/pmu-events/arch/x86/haswellx/pipeline.json (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
1ede00740SAndi Kleen[
2ede00740SAndi Kleen    {
3ede00740SAndi Kleen        "BriefDescription": "Any uop executed by the Divider. (This includes all divide uops, sqrt, ...)",
4*11c2302cSIan Rogers        "Counter": "0,1,2,3",
5f16c3236SIan Rogers        "EventCode": "0x14",
6ede00740SAndi Kleen        "EventName": "ARITH.DIVIDER_UOPS",
7ede00740SAndi Kleen        "SampleAfterValue": "2000003",
8f16c3236SIan Rogers        "UMask": "0x2"
9ede00740SAndi Kleen    },
10ede00740SAndi Kleen    {
11ede00740SAndi Kleen        "BriefDescription": "Speculative and retired  branches",
12*11c2302cSIan Rogers        "Counter": "0,1,2,3",
13f16c3236SIan Rogers        "EventCode": "0x88",
14ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_BRANCHES",
15ede00740SAndi Kleen        "PublicDescription": "Counts all near executed branches (not necessarily retired).",
16ede00740SAndi Kleen        "SampleAfterValue": "200003",
17f16c3236SIan Rogers        "UMask": "0xff"
18ede00740SAndi Kleen    },
19ede00740SAndi Kleen    {
20f16c3236SIan Rogers        "BriefDescription": "Speculative and retired macro-conditional branches.",
21*11c2302cSIan Rogers        "Counter": "0,1,2,3",
22f16c3236SIan Rogers        "EventCode": "0x88",
23f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
24ede00740SAndi Kleen        "SampleAfterValue": "200003",
25f16c3236SIan Rogers        "UMask": "0xc1"
26ede00740SAndi Kleen    },
27ede00740SAndi Kleen    {
28f16c3236SIan Rogers        "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects.",
29*11c2302cSIan Rogers        "Counter": "0,1,2,3",
30f16c3236SIan Rogers        "EventCode": "0x88",
31f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
32ede00740SAndi Kleen        "SampleAfterValue": "200003",
33f16c3236SIan Rogers        "UMask": "0xc2"
34ede00740SAndi Kleen    },
35ede00740SAndi Kleen    {
36f16c3236SIan Rogers        "BriefDescription": "Speculative and retired direct near calls.",
37*11c2302cSIan Rogers        "Counter": "0,1,2,3",
38f16c3236SIan Rogers        "EventCode": "0x88",
39f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
40ede00740SAndi Kleen        "SampleAfterValue": "200003",
41f16c3236SIan Rogers        "UMask": "0xd0"
42ede00740SAndi Kleen    },
43ede00740SAndi Kleen    {
44f16c3236SIan Rogers        "BriefDescription": "Speculative and retired indirect branches excluding calls and returns.",
45*11c2302cSIan Rogers        "Counter": "0,1,2,3",
46f16c3236SIan Rogers        "EventCode": "0x88",
47f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
48ede00740SAndi Kleen        "SampleAfterValue": "200003",
49f16c3236SIan Rogers        "UMask": "0xc4"
50ede00740SAndi Kleen    },
51ede00740SAndi Kleen    {
52f16c3236SIan Rogers        "BriefDescription": "Speculative and retired indirect return branches.",
53*11c2302cSIan Rogers        "Counter": "0,1,2,3",
54f16c3236SIan Rogers        "EventCode": "0x88",
55f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
56032c16b2SAndi Kleen        "SampleAfterValue": "200003",
57f16c3236SIan Rogers        "UMask": "0xc8"
58032c16b2SAndi Kleen    },
59032c16b2SAndi Kleen    {
60f16c3236SIan Rogers        "BriefDescription": "Not taken macro-conditional branches.",
61*11c2302cSIan Rogers        "Counter": "0,1,2,3",
62f16c3236SIan Rogers        "EventCode": "0x88",
63f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
64ede00740SAndi Kleen        "SampleAfterValue": "200003",
65f16c3236SIan Rogers        "UMask": "0x41"
66ede00740SAndi Kleen    },
67ede00740SAndi Kleen    {
68f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired macro-conditional branches.",
69*11c2302cSIan Rogers        "Counter": "0,1,2,3",
70f16c3236SIan Rogers        "EventCode": "0x88",
71f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
72ede00740SAndi Kleen        "SampleAfterValue": "200003",
73f16c3236SIan Rogers        "UMask": "0x81"
74ede00740SAndi Kleen    },
75ede00740SAndi Kleen    {
76f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects.",
77*11c2302cSIan Rogers        "Counter": "0,1,2,3",
78f16c3236SIan Rogers        "EventCode": "0x88",
79f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
80ede00740SAndi Kleen        "SampleAfterValue": "200003",
81f16c3236SIan Rogers        "UMask": "0x82"
82ede00740SAndi Kleen    },
83ede00740SAndi Kleen    {
84f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired direct near calls.",
85*11c2302cSIan Rogers        "Counter": "0,1,2,3",
86f16c3236SIan Rogers        "EventCode": "0x88",
87f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
88f16c3236SIan Rogers        "SampleAfterValue": "200003",
89f16c3236SIan Rogers        "UMask": "0x90"
90ede00740SAndi Kleen    },
91ede00740SAndi Kleen    {
92f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns.",
93*11c2302cSIan Rogers        "Counter": "0,1,2,3",
94f16c3236SIan Rogers        "EventCode": "0x88",
95f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
96f16c3236SIan Rogers        "SampleAfterValue": "200003",
97f16c3236SIan Rogers        "UMask": "0x84"
98032c16b2SAndi Kleen    },
99032c16b2SAndi Kleen    {
100f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired indirect calls.",
101*11c2302cSIan Rogers        "Counter": "0,1,2,3",
102f16c3236SIan Rogers        "EventCode": "0x88",
103f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
104f16c3236SIan Rogers        "SampleAfterValue": "200003",
105f16c3236SIan Rogers        "UMask": "0xa0"
106032c16b2SAndi Kleen    },
107032c16b2SAndi Kleen    {
108f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic.",
109*11c2302cSIan Rogers        "Counter": "0,1,2,3",
110f16c3236SIan Rogers        "EventCode": "0x88",
111f16c3236SIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
112f16c3236SIan Rogers        "SampleAfterValue": "200003",
113f16c3236SIan Rogers        "UMask": "0x88"
114ede00740SAndi Kleen    },
115ede00740SAndi Kleen    {
116032c16b2SAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
117*11c2302cSIan Rogers        "Counter": "0,1,2,3",
118f16c3236SIan Rogers        "EventCode": "0xC4",
119032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
120032c16b2SAndi Kleen        "PublicDescription": "Branch instructions at retirement.",
121f16c3236SIan Rogers        "SampleAfterValue": "400009"
122032c16b2SAndi Kleen    },
123032c16b2SAndi Kleen    {
124f16c3236SIan Rogers        "BriefDescription": "All (macro) branch instructions retired.",
125*11c2302cSIan Rogers        "Counter": "0,1,2,3",
126f16c3236SIan Rogers        "EventCode": "0xC4",
127f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
128f16c3236SIan Rogers        "PEBS": "2",
129f16c3236SIan Rogers        "SampleAfterValue": "400009",
130f16c3236SIan Rogers        "UMask": "0x4"
131f16c3236SIan Rogers    },
132f16c3236SIan Rogers    {
133f16c3236SIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
134*11c2302cSIan Rogers        "Counter": "0,1,2,3",
135f16c3236SIan Rogers        "EventCode": "0xC4",
136032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.CONDITIONAL",
137f16c3236SIan Rogers        "PEBS": "1",
138e313477fSAndi Kleen        "PublicDescription": "Counts the number of conditional branch instructions retired.",
139032c16b2SAndi Kleen        "SampleAfterValue": "400009",
140f16c3236SIan Rogers        "UMask": "0x1"
141032c16b2SAndi Kleen    },
142032c16b2SAndi Kleen    {
143032c16b2SAndi Kleen        "BriefDescription": "Far branch instructions retired.",
144*11c2302cSIan Rogers        "Counter": "0,1,2,3",
145f16c3236SIan Rogers        "EventCode": "0xC4",
146032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
147032c16b2SAndi Kleen        "PublicDescription": "Number of far branches retired.",
148032c16b2SAndi Kleen        "SampleAfterValue": "100003",
149f16c3236SIan Rogers        "UMask": "0x40"
150032c16b2SAndi Kleen    },
151032c16b2SAndi Kleen    {
152f16c3236SIan Rogers        "BriefDescription": "Direct and indirect near call instructions retired.",
153*11c2302cSIan Rogers        "Counter": "0,1,2,3",
154f16c3236SIan Rogers        "EventCode": "0xC4",
155f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL",
156f16c3236SIan Rogers        "PEBS": "1",
157f16c3236SIan Rogers        "SampleAfterValue": "100003",
158f16c3236SIan Rogers        "UMask": "0x2"
159f16c3236SIan Rogers    },
160f16c3236SIan Rogers    {
161f16c3236SIan Rogers        "BriefDescription": "Direct and indirect macro near call instructions retired (captured in ring 3).",
162*11c2302cSIan Rogers        "Counter": "0,1,2,3",
163f16c3236SIan Rogers        "EventCode": "0xC4",
164f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL_R3",
165f16c3236SIan Rogers        "PEBS": "1",
166f16c3236SIan Rogers        "SampleAfterValue": "100003",
167f16c3236SIan Rogers        "UMask": "0x2"
168f16c3236SIan Rogers    },
169f16c3236SIan Rogers    {
170f16c3236SIan Rogers        "BriefDescription": "Return instructions retired.",
171*11c2302cSIan Rogers        "Counter": "0,1,2,3",
172f16c3236SIan Rogers        "EventCode": "0xC4",
173f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
174f16c3236SIan Rogers        "PEBS": "1",
175f16c3236SIan Rogers        "PublicDescription": "Counts the number of near return instructions retired.",
176f16c3236SIan Rogers        "SampleAfterValue": "100003",
177f16c3236SIan Rogers        "UMask": "0x8"
178f16c3236SIan Rogers    },
179f16c3236SIan Rogers    {
180f16c3236SIan Rogers        "BriefDescription": "Taken branch instructions retired.",
181*11c2302cSIan Rogers        "Counter": "0,1,2,3",
182f16c3236SIan Rogers        "EventCode": "0xC4",
183f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
184f16c3236SIan Rogers        "PEBS": "1",
185f16c3236SIan Rogers        "PublicDescription": "Number of near taken branches retired.",
186f16c3236SIan Rogers        "SampleAfterValue": "400009",
187f16c3236SIan Rogers        "UMask": "0x20"
188f16c3236SIan Rogers    },
189f16c3236SIan Rogers    {
190f16c3236SIan Rogers        "BriefDescription": "Not taken branch instructions retired.",
191*11c2302cSIan Rogers        "Counter": "0,1,2,3",
192f16c3236SIan Rogers        "EventCode": "0xC4",
193f16c3236SIan Rogers        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
194f16c3236SIan Rogers        "PublicDescription": "Counts the number of not taken branch instructions retired.",
195f16c3236SIan Rogers        "SampleAfterValue": "400009",
196f16c3236SIan Rogers        "UMask": "0x10"
197f16c3236SIan Rogers    },
198f16c3236SIan Rogers    {
199f16c3236SIan Rogers        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
200*11c2302cSIan Rogers        "Counter": "0,1,2,3",
201f16c3236SIan Rogers        "EventCode": "0x89",
202f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.ALL_BRANCHES",
203f16c3236SIan Rogers        "PublicDescription": "Counts all near executed branches (not necessarily retired).",
204f16c3236SIan Rogers        "SampleAfterValue": "200003",
205f16c3236SIan Rogers        "UMask": "0xff"
206f16c3236SIan Rogers    },
207f16c3236SIan Rogers    {
208f16c3236SIan Rogers        "BriefDescription": "Speculative and retired mispredicted macro conditional branches.",
209*11c2302cSIan Rogers        "Counter": "0,1,2,3",
210f16c3236SIan Rogers        "EventCode": "0x89",
211f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
212f16c3236SIan Rogers        "SampleAfterValue": "200003",
213f16c3236SIan Rogers        "UMask": "0xc1"
214f16c3236SIan Rogers    },
215f16c3236SIan Rogers    {
216f16c3236SIan Rogers        "BriefDescription": "Mispredicted indirect branches excluding calls and returns.",
217*11c2302cSIan Rogers        "Counter": "0,1,2,3",
218f16c3236SIan Rogers        "EventCode": "0x89",
219f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
220f16c3236SIan Rogers        "SampleAfterValue": "200003",
221f16c3236SIan Rogers        "UMask": "0xc4"
222f16c3236SIan Rogers    },
223f16c3236SIan Rogers    {
2246e884dadSIan Rogers        "BriefDescription": "Speculative mispredicted indirect branches",
225*11c2302cSIan Rogers        "Counter": "0,1,2,3",
2266e884dadSIan Rogers        "EventCode": "0x89",
2276e884dadSIan Rogers        "EventName": "BR_MISP_EXEC.INDIRECT",
2286e884dadSIan Rogers        "PublicDescription": "Counts speculatively miss-predicted indirect branches at execution time. Counts for indirect near CALL or JMP instructions (RET excluded).",
2296e884dadSIan Rogers        "SampleAfterValue": "200003",
2306e884dadSIan Rogers        "UMask": "0xe4"
2316e884dadSIan Rogers    },
2326e884dadSIan Rogers    {
233f16c3236SIan Rogers        "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches.",
234*11c2302cSIan Rogers        "Counter": "0,1,2,3",
235f16c3236SIan Rogers        "EventCode": "0x89",
236f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
237f16c3236SIan Rogers        "SampleAfterValue": "200003",
238f16c3236SIan Rogers        "UMask": "0x41"
239f16c3236SIan Rogers    },
240f16c3236SIan Rogers    {
241f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches.",
242*11c2302cSIan Rogers        "Counter": "0,1,2,3",
243f16c3236SIan Rogers        "EventCode": "0x89",
244f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
245f16c3236SIan Rogers        "SampleAfterValue": "200003",
246f16c3236SIan Rogers        "UMask": "0x81"
247f16c3236SIan Rogers    },
248f16c3236SIan Rogers    {
249f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns.",
250*11c2302cSIan Rogers        "Counter": "0,1,2,3",
251f16c3236SIan Rogers        "EventCode": "0x89",
252f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
253f16c3236SIan Rogers        "SampleAfterValue": "200003",
254f16c3236SIan Rogers        "UMask": "0x84"
255f16c3236SIan Rogers    },
256f16c3236SIan Rogers    {
257f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect calls.",
258*11c2302cSIan Rogers        "Counter": "0,1,2,3",
259f16c3236SIan Rogers        "EventCode": "0x89",
260f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
261f16c3236SIan Rogers        "SampleAfterValue": "200003",
262f16c3236SIan Rogers        "UMask": "0xa0"
263f16c3236SIan Rogers    },
264f16c3236SIan Rogers    {
265f16c3236SIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic.",
266*11c2302cSIan Rogers        "Counter": "0,1,2,3",
267f16c3236SIan Rogers        "EventCode": "0x89",
268f16c3236SIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
269f16c3236SIan Rogers        "SampleAfterValue": "200003",
270f16c3236SIan Rogers        "UMask": "0x88"
271f16c3236SIan Rogers    },
272f16c3236SIan Rogers    {
273032c16b2SAndi Kleen        "BriefDescription": "All mispredicted macro branch instructions retired.",
274*11c2302cSIan Rogers        "Counter": "0,1,2,3",
275f16c3236SIan Rogers        "EventCode": "0xC5",
276032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
277032c16b2SAndi Kleen        "PublicDescription": "Mispredicted branch instructions at retirement.",
278f16c3236SIan Rogers        "SampleAfterValue": "400009"
279032c16b2SAndi Kleen    },
280032c16b2SAndi Kleen    {
281032c16b2SAndi Kleen        "BriefDescription": "Mispredicted macro branch instructions retired.",
282*11c2302cSIan Rogers        "Counter": "0,1,2,3",
283f16c3236SIan Rogers        "EventCode": "0xC5",
284032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
285f16c3236SIan Rogers        "PEBS": "2",
286032c16b2SAndi Kleen        "PublicDescription": "This event counts all mispredicted branch instructions retired. This is a precise event.",
287032c16b2SAndi Kleen        "SampleAfterValue": "400009",
288f16c3236SIan Rogers        "UMask": "0x4"
289032c16b2SAndi Kleen    },
290032c16b2SAndi Kleen    {
291f16c3236SIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
292*11c2302cSIan Rogers        "Counter": "0,1,2,3",
293f16c3236SIan Rogers        "EventCode": "0xC5",
294f16c3236SIan Rogers        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
295f16c3236SIan Rogers        "PEBS": "1",
296f16c3236SIan Rogers        "SampleAfterValue": "400009",
297f16c3236SIan Rogers        "UMask": "0x1"
298f16c3236SIan Rogers    },
299f16c3236SIan Rogers    {
300f16c3236SIan Rogers        "BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
301*11c2302cSIan Rogers        "Counter": "0,1,2,3",
302f16c3236SIan Rogers        "EventCode": "0xC5",
303032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
304f16c3236SIan Rogers        "PEBS": "1",
305e313477fSAndi Kleen        "PublicDescription": "Number of near branch instructions retired that were taken but mispredicted.",
306032c16b2SAndi Kleen        "SampleAfterValue": "400009",
307f16c3236SIan Rogers        "UMask": "0x20"
308032c16b2SAndi Kleen    },
309032c16b2SAndi Kleen    {
310f16c3236SIan Rogers        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
311*11c2302cSIan Rogers        "Counter": "0,1,2,3",
312f16c3236SIan Rogers        "EventCode": "0x3c",
313f16c3236SIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
314f16c3236SIan Rogers        "SampleAfterValue": "100003",
315f16c3236SIan Rogers        "UMask": "0x2"
316f16c3236SIan Rogers    },
317f16c3236SIan Rogers    {
318f16c3236SIan Rogers        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
319*11c2302cSIan Rogers        "Counter": "0,1,2,3",
320f16c3236SIan Rogers        "EventCode": "0x3C",
321f16c3236SIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
322f16c3236SIan Rogers        "PublicDescription": "Increments at the frequency of XCLK (100 MHz) when not halted.",
323f16c3236SIan Rogers        "SampleAfterValue": "100003",
324f16c3236SIan Rogers        "UMask": "0x1"
325f16c3236SIan Rogers    },
326f16c3236SIan Rogers    {
327f16c3236SIan Rogers        "AnyThread": "1",
328f16c3236SIan Rogers        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate)",
329*11c2302cSIan Rogers        "Counter": "0,1,2,3",
330f16c3236SIan Rogers        "EventCode": "0x3C",
331f16c3236SIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
332f16c3236SIan Rogers        "PublicDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
333f16c3236SIan Rogers        "SampleAfterValue": "100003",
334f16c3236SIan Rogers        "UMask": "0x1"
335f16c3236SIan Rogers    },
336f16c3236SIan Rogers    {
337f16c3236SIan Rogers        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
338*11c2302cSIan Rogers        "Counter": "0,1,2,3",
339f16c3236SIan Rogers        "EventCode": "0x3C",
340f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
341f16c3236SIan Rogers        "SampleAfterValue": "100003",
342f16c3236SIan Rogers        "UMask": "0x2"
343f16c3236SIan Rogers    },
344f16c3236SIan Rogers    {
345f16c3236SIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
346*11c2302cSIan Rogers        "Counter": "Fixed counter 2",
347f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
348f16c3236SIan Rogers        "PublicDescription": "This event counts the number of reference cycles when the core is not in a halt state. The core enters the halt state when it is running the HLT instruction or the MWAIT instruction. This event is not affected by core frequency changes (for example, P states, TM2 transitions) but has the same incrementing frequency as the time stamp counter. This event can approximate elapsed time while the core was not in a halt state.",
349f16c3236SIan Rogers        "SampleAfterValue": "2000003",
350f16c3236SIan Rogers        "UMask": "0x3"
351f16c3236SIan Rogers    },
352f16c3236SIan Rogers    {
353f16c3236SIan Rogers        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
354*11c2302cSIan Rogers        "Counter": "0,1,2,3",
355f16c3236SIan Rogers        "EventCode": "0x3C",
356f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
357f16c3236SIan Rogers        "PublicDescription": "Reference cycles when the thread is unhalted. (counts at 100 MHz rate)",
358f16c3236SIan Rogers        "SampleAfterValue": "100003",
359f16c3236SIan Rogers        "UMask": "0x1"
360f16c3236SIan Rogers    },
361f16c3236SIan Rogers    {
362f16c3236SIan Rogers        "AnyThread": "1",
363f16c3236SIan Rogers        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate)",
364*11c2302cSIan Rogers        "Counter": "0,1,2,3",
365f16c3236SIan Rogers        "EventCode": "0x3C",
366f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
367f16c3236SIan Rogers        "PublicDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
368f16c3236SIan Rogers        "SampleAfterValue": "100003",
369f16c3236SIan Rogers        "UMask": "0x1"
370f16c3236SIan Rogers    },
371f16c3236SIan Rogers    {
372f16c3236SIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state.",
373*11c2302cSIan Rogers        "Counter": "Fixed counter 1",
374f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
375f16c3236SIan Rogers        "PublicDescription": "This event counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling.",
376f16c3236SIan Rogers        "SampleAfterValue": "2000003",
377f16c3236SIan Rogers        "UMask": "0x2"
378f16c3236SIan Rogers    },
379f16c3236SIan Rogers    {
380f16c3236SIan Rogers        "AnyThread": "1",
381f16c3236SIan Rogers        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
382*11c2302cSIan Rogers        "Counter": "Fixed counter 1",
383f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
384f16c3236SIan Rogers        "SampleAfterValue": "2000003",
385f16c3236SIan Rogers        "UMask": "0x2"
386f16c3236SIan Rogers    },
387f16c3236SIan Rogers    {
388f16c3236SIan Rogers        "BriefDescription": "Thread cycles when thread is not in halt state",
389*11c2302cSIan Rogers        "Counter": "0,1,2,3",
390f16c3236SIan Rogers        "EventCode": "0x3C",
391f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
392f16c3236SIan Rogers        "PublicDescription": "Counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling.",
393f16c3236SIan Rogers        "SampleAfterValue": "2000003"
394f16c3236SIan Rogers    },
395f16c3236SIan Rogers    {
396f16c3236SIan Rogers        "AnyThread": "1",
397f16c3236SIan Rogers        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
398*11c2302cSIan Rogers        "Counter": "0,1,2,3",
399f16c3236SIan Rogers        "EventCode": "0x3C",
400f16c3236SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
401f16c3236SIan Rogers        "SampleAfterValue": "2000003"
402f16c3236SIan Rogers    },
403f16c3236SIan Rogers    {
404f16c3236SIan Rogers        "BriefDescription": "Cycles with pending L1 cache miss loads.",
405*11c2302cSIan Rogers        "Counter": "2",
406f16c3236SIan Rogers        "CounterMask": "8",
407f16c3236SIan Rogers        "EventCode": "0xA3",
408f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
409f16c3236SIan Rogers        "PublicDescription": "Cycles with pending L1 data cache miss loads. Set Cmask=8 to count cycle.",
410f16c3236SIan Rogers        "SampleAfterValue": "2000003",
411f16c3236SIan Rogers        "UMask": "0x8"
412f16c3236SIan Rogers    },
413f16c3236SIan Rogers    {
414f16c3236SIan Rogers        "BriefDescription": "Cycles with pending L2 cache miss loads.",
415*11c2302cSIan Rogers        "Counter": "0,1,2,3",
416f16c3236SIan Rogers        "CounterMask": "1",
417f16c3236SIan Rogers        "Errata": "HSD78, HSM63, HSM80",
418f16c3236SIan Rogers        "EventCode": "0xa3",
419f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
420f16c3236SIan Rogers        "PublicDescription": "Cycles with pending L2 miss loads. Set Cmask=2 to count cycle.",
421f16c3236SIan Rogers        "SampleAfterValue": "2000003",
422f16c3236SIan Rogers        "UMask": "0x1"
423f16c3236SIan Rogers    },
424f16c3236SIan Rogers    {
425f16c3236SIan Rogers        "BriefDescription": "Cycles with pending memory loads.",
426*11c2302cSIan Rogers        "Counter": "0,1,2,3",
427f16c3236SIan Rogers        "CounterMask": "2",
428f16c3236SIan Rogers        "EventCode": "0xA3",
429f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
430f16c3236SIan Rogers        "PublicDescription": "Cycles with pending memory loads. Set Cmask=2 to count cycle.",
431f16c3236SIan Rogers        "SampleAfterValue": "2000003",
432f16c3236SIan Rogers        "UMask": "0x2"
433f16c3236SIan Rogers    },
434f16c3236SIan Rogers    {
435f16c3236SIan Rogers        "BriefDescription": "This event increments by 1 for every cycle where there was no execute for this thread.",
436*11c2302cSIan Rogers        "Counter": "0,1,2,3",
437f16c3236SIan Rogers        "CounterMask": "4",
438f16c3236SIan Rogers        "EventCode": "0xA3",
439f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
440f16c3236SIan Rogers        "PublicDescription": "This event counts cycles during which no instructions were executed in the execution stage of the pipeline.",
441f16c3236SIan Rogers        "SampleAfterValue": "2000003",
442f16c3236SIan Rogers        "UMask": "0x4"
443f16c3236SIan Rogers    },
444f16c3236SIan Rogers    {
445f16c3236SIan Rogers        "BriefDescription": "Execution stalls due to L1 data cache misses",
446*11c2302cSIan Rogers        "Counter": "2",
447f16c3236SIan Rogers        "CounterMask": "12",
448f16c3236SIan Rogers        "EventCode": "0xA3",
449f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
450f16c3236SIan Rogers        "PublicDescription": "Execution stalls due to L1 data cache miss loads. Set Cmask=0CH.",
451f16c3236SIan Rogers        "SampleAfterValue": "2000003",
452f16c3236SIan Rogers        "UMask": "0xc"
453f16c3236SIan Rogers    },
454f16c3236SIan Rogers    {
455f16c3236SIan Rogers        "BriefDescription": "Execution stalls due to L2 cache misses.",
456*11c2302cSIan Rogers        "Counter": "0,1,2,3",
457f16c3236SIan Rogers        "CounterMask": "5",
458f16c3236SIan Rogers        "Errata": "HSM63, HSM80",
459f16c3236SIan Rogers        "EventCode": "0xa3",
460f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
461f16c3236SIan Rogers        "PublicDescription": "Number of loads missed L2.",
462f16c3236SIan Rogers        "SampleAfterValue": "2000003",
463f16c3236SIan Rogers        "UMask": "0x5"
464f16c3236SIan Rogers    },
465f16c3236SIan Rogers    {
466f16c3236SIan Rogers        "BriefDescription": "Execution stalls due to memory subsystem.",
467*11c2302cSIan Rogers        "Counter": "0,1,2,3",
468f16c3236SIan Rogers        "CounterMask": "6",
469f16c3236SIan Rogers        "EventCode": "0xA3",
470f16c3236SIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
471f16c3236SIan Rogers        "PublicDescription": "This event counts cycles during which no instructions were executed in the execution stage of the pipeline and there were memory instructions pending (waiting for data).",
472f16c3236SIan Rogers        "SampleAfterValue": "2000003",
473f16c3236SIan Rogers        "UMask": "0x6"
474f16c3236SIan Rogers    },
475f16c3236SIan Rogers    {
476f16c3236SIan Rogers        "BriefDescription": "Stall cycles because IQ is full",
477*11c2302cSIan Rogers        "Counter": "0,1,2,3",
478f16c3236SIan Rogers        "EventCode": "0x87",
479f16c3236SIan Rogers        "EventName": "ILD_STALL.IQ_FULL",
480f16c3236SIan Rogers        "PublicDescription": "Stall cycles due to IQ is full.",
481f16c3236SIan Rogers        "SampleAfterValue": "2000003",
482f16c3236SIan Rogers        "UMask": "0x4"
483f16c3236SIan Rogers    },
484f16c3236SIan Rogers    {
485f16c3236SIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
486*11c2302cSIan Rogers        "Counter": "0,1,2,3",
487f16c3236SIan Rogers        "EventCode": "0x87",
488f16c3236SIan Rogers        "EventName": "ILD_STALL.LCP",
489f16c3236SIan Rogers        "PublicDescription": "This event counts cycles where the decoder is stalled on an instruction with a length changing prefix (LCP).",
490f16c3236SIan Rogers        "SampleAfterValue": "2000003",
491f16c3236SIan Rogers        "UMask": "0x1"
492f16c3236SIan Rogers    },
493f16c3236SIan Rogers    {
494f16c3236SIan Rogers        "BriefDescription": "Instructions retired from execution.",
495*11c2302cSIan Rogers        "Counter": "Fixed counter 0",
496f16c3236SIan Rogers        "Errata": "HSD140, HSD143",
497f16c3236SIan Rogers        "EventName": "INST_RETIRED.ANY",
498f16c3236SIan Rogers        "PublicDescription": "This event counts the number of instructions retired from execution. For instructions that consist of multiple micro-ops, this event counts the retirement of the last micro-op of the instruction. Counting continues during hardware interrupts, traps, and inside interrupt handlers. INST_RETIRED.ANY is counted by a designated fixed counter, leaving the programmable counters available for other events. Faulting executions of GETSEC/VM entry/VM Exit/MWait will not count as retired instructions.",
499f16c3236SIan Rogers        "SampleAfterValue": "2000003",
500f16c3236SIan Rogers        "UMask": "0x1"
501f16c3236SIan Rogers    },
502f16c3236SIan Rogers    {
503f16c3236SIan Rogers        "BriefDescription": "Number of instructions retired. General Counter   - architectural event",
504*11c2302cSIan Rogers        "Counter": "0,1,2,3",
505f16c3236SIan Rogers        "Errata": "HSD11, HSD140",
506f16c3236SIan Rogers        "EventCode": "0xC0",
507f16c3236SIan Rogers        "EventName": "INST_RETIRED.ANY_P",
508f16c3236SIan Rogers        "PublicDescription": "Number of instructions at retirement.",
509f16c3236SIan Rogers        "SampleAfterValue": "2000003"
510f16c3236SIan Rogers    },
511f16c3236SIan Rogers    {
512f16c3236SIan Rogers        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
513*11c2302cSIan Rogers        "Counter": "1",
514f16c3236SIan Rogers        "Errata": "HSD140",
515f16c3236SIan Rogers        "EventCode": "0xC0",
516f16c3236SIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
517f16c3236SIan Rogers        "PEBS": "2",
518f16c3236SIan Rogers        "PublicDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution.",
519f16c3236SIan Rogers        "SampleAfterValue": "2000003",
520f16c3236SIan Rogers        "UMask": "0x1"
521f16c3236SIan Rogers    },
522f16c3236SIan Rogers    {
523f16c3236SIan Rogers        "BriefDescription": "FP operations retired. X87 FP operations that have no exceptions: Counts also flows that have several X87 or flows that use X87 uops in the exception handling.",
524*11c2302cSIan Rogers        "Counter": "0,1,2,3",
525f16c3236SIan Rogers        "EventCode": "0xC0",
526f16c3236SIan Rogers        "EventName": "INST_RETIRED.X87",
527f16c3236SIan Rogers        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts FP operations retired. For X87 FP operations that have no exceptions counting also includes flows that have several X87, or flows that use X87 uops in the exception handling.",
528f16c3236SIan Rogers        "SampleAfterValue": "2000003",
529f16c3236SIan Rogers        "UMask": "0x2"
530f16c3236SIan Rogers    },
531f16c3236SIan Rogers    {
532f16c3236SIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread (e.g. misprediction or memory nuke)",
533*11c2302cSIan Rogers        "Counter": "0,1,2,3",
534f16c3236SIan Rogers        "CounterMask": "1",
535f16c3236SIan Rogers        "EventCode": "0x0D",
536f16c3236SIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
537f16c3236SIan Rogers        "PublicDescription": "This event counts the number of cycles spent waiting for a recovery after an event such as a processor nuke, JEClear, assist, hle/rtm abort etc.",
538f16c3236SIan Rogers        "SampleAfterValue": "2000003",
539f16c3236SIan Rogers        "UMask": "0x3"
540f16c3236SIan Rogers    },
541f16c3236SIan Rogers    {
542f16c3236SIan Rogers        "AnyThread": "1",
543f16c3236SIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke)",
544*11c2302cSIan Rogers        "Counter": "0,1,2,3",
545f16c3236SIan Rogers        "CounterMask": "1",
546f16c3236SIan Rogers        "EventCode": "0x0D",
547f16c3236SIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
548f16c3236SIan Rogers        "PublicDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke).",
549f16c3236SIan Rogers        "SampleAfterValue": "2000003",
550f16c3236SIan Rogers        "UMask": "0x3"
551f16c3236SIan Rogers    },
552f16c3236SIan Rogers    {
553f16c3236SIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use",
554*11c2302cSIan Rogers        "Counter": "0,1,2,3",
555f16c3236SIan Rogers        "EventCode": "0x03",
556f16c3236SIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
557f16c3236SIan Rogers        "PublicDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
558f16c3236SIan Rogers        "SampleAfterValue": "100003",
559f16c3236SIan Rogers        "UMask": "0x8"
560f16c3236SIan Rogers    },
561f16c3236SIan Rogers    {
562f16c3236SIan Rogers        "BriefDescription": "loads blocked by overlapping with store buffer that cannot be forwarded",
563*11c2302cSIan Rogers        "Counter": "0,1,2,3",
564f16c3236SIan Rogers        "EventCode": "0x03",
565f16c3236SIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
566f16c3236SIan Rogers        "PublicDescription": "This event counts loads that followed a store to the same address, where the data could not be forwarded inside the pipeline from the store to the load.  The most common reason why store forwarding would be blocked is when a load's address range overlaps with a preceding smaller uncompleted store. The penalty for blocked store forwarding is that the load must wait for the store to write its value to the cache before it can be issued.",
567f16c3236SIan Rogers        "SampleAfterValue": "100003",
568f16c3236SIan Rogers        "UMask": "0x2"
569f16c3236SIan Rogers    },
570f16c3236SIan Rogers    {
571f16c3236SIan Rogers        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
572*11c2302cSIan Rogers        "Counter": "0,1,2,3",
573f16c3236SIan Rogers        "EventCode": "0x07",
574f16c3236SIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
575f16c3236SIan Rogers        "PublicDescription": "Aliasing occurs when a load is issued after a store and their memory addresses are offset by 4K.  This event counts the number of loads that aliased with a preceding store, resulting in an extended address check in the pipeline which can have a performance impact.",
576f16c3236SIan Rogers        "SampleAfterValue": "100003",
577f16c3236SIan Rogers        "UMask": "0x1"
578f16c3236SIan Rogers    },
579f16c3236SIan Rogers    {
580f16c3236SIan Rogers        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
581*11c2302cSIan Rogers        "Counter": "0,1,2,3",
582f16c3236SIan Rogers        "EventCode": "0x4c",
583f16c3236SIan Rogers        "EventName": "LOAD_HIT_PRE.HW_PF",
584f16c3236SIan Rogers        "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch.",
585f16c3236SIan Rogers        "SampleAfterValue": "100003",
586f16c3236SIan Rogers        "UMask": "0x2"
587f16c3236SIan Rogers    },
588f16c3236SIan Rogers    {
589f16c3236SIan Rogers        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
590*11c2302cSIan Rogers        "Counter": "0,1,2,3",
591f16c3236SIan Rogers        "EventCode": "0x4c",
592f16c3236SIan Rogers        "EventName": "LOAD_HIT_PRE.SW_PF",
593f16c3236SIan Rogers        "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch.",
594f16c3236SIan Rogers        "SampleAfterValue": "100003",
595f16c3236SIan Rogers        "UMask": "0x1"
596f16c3236SIan Rogers    },
597f16c3236SIan Rogers    {
598f16c3236SIan Rogers        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
599*11c2302cSIan Rogers        "Counter": "0,1,2,3",
600f16c3236SIan Rogers        "CounterMask": "4",
601f16c3236SIan Rogers        "EventCode": "0xA8",
602f16c3236SIan Rogers        "EventName": "LSD.CYCLES_4_UOPS",
603f16c3236SIan Rogers        "SampleAfterValue": "2000003",
604f16c3236SIan Rogers        "UMask": "0x1"
605f16c3236SIan Rogers    },
606f16c3236SIan Rogers    {
607f16c3236SIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
608*11c2302cSIan Rogers        "Counter": "0,1,2,3",
609f16c3236SIan Rogers        "CounterMask": "1",
610f16c3236SIan Rogers        "EventCode": "0xA8",
611f16c3236SIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
612f16c3236SIan Rogers        "SampleAfterValue": "2000003",
613f16c3236SIan Rogers        "UMask": "0x1"
614f16c3236SIan Rogers    },
615f16c3236SIan Rogers    {
616f16c3236SIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
617*11c2302cSIan Rogers        "Counter": "0,1,2,3",
618f16c3236SIan Rogers        "EventCode": "0xa8",
619f16c3236SIan Rogers        "EventName": "LSD.UOPS",
620f16c3236SIan Rogers        "PublicDescription": "Number of uops delivered by the LSD.",
621f16c3236SIan Rogers        "SampleAfterValue": "2000003",
622f16c3236SIan Rogers        "UMask": "0x1"
623f16c3236SIan Rogers    },
624f16c3236SIan Rogers    {
625f16c3236SIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
626*11c2302cSIan Rogers        "Counter": "0,1,2,3",
627f16c3236SIan Rogers        "CounterMask": "1",
628f16c3236SIan Rogers        "EdgeDetect": "1",
629f16c3236SIan Rogers        "EventCode": "0xC3",
630f16c3236SIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
631f16c3236SIan Rogers        "SampleAfterValue": "100003",
632f16c3236SIan Rogers        "UMask": "0x1"
633f16c3236SIan Rogers    },
634f16c3236SIan Rogers    {
635f16c3236SIan Rogers        "BriefDescription": "Cycles there was a Nuke. Account for both thread-specific and All Thread Nukes.",
636*11c2302cSIan Rogers        "Counter": "0,1,2,3",
637f16c3236SIan Rogers        "EventCode": "0xC3",
638f16c3236SIan Rogers        "EventName": "MACHINE_CLEARS.CYCLES",
639f16c3236SIan Rogers        "SampleAfterValue": "2000003",
640f16c3236SIan Rogers        "UMask": "0x1"
641f16c3236SIan Rogers    },
642f16c3236SIan Rogers    {
643f16c3236SIan Rogers        "BriefDescription": "This event counts the number of executed Intel AVX masked load operations that refer to an illegal address range with the mask bits set to 0.",
644*11c2302cSIan Rogers        "Counter": "0,1,2,3",
645f16c3236SIan Rogers        "EventCode": "0xC3",
646f16c3236SIan Rogers        "EventName": "MACHINE_CLEARS.MASKMOV",
647f16c3236SIan Rogers        "SampleAfterValue": "100003",
648f16c3236SIan Rogers        "UMask": "0x20"
649f16c3236SIan Rogers    },
650f16c3236SIan Rogers    {
651f16c3236SIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
652*11c2302cSIan Rogers        "Counter": "0,1,2,3",
653f16c3236SIan Rogers        "EventCode": "0xC3",
654f16c3236SIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
655f16c3236SIan Rogers        "PublicDescription": "This event is incremented when self-modifying code (SMC) is detected, which causes a machine clear.  Machine clears can have a significant performance impact if they are happening frequently.",
656f16c3236SIan Rogers        "SampleAfterValue": "100003",
657f16c3236SIan Rogers        "UMask": "0x4"
658f16c3236SIan Rogers    },
659f16c3236SIan Rogers    {
660f16c3236SIan Rogers        "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
661*11c2302cSIan Rogers        "Counter": "0,1,2,3",
662f16c3236SIan Rogers        "EventCode": "0x58",
663f16c3236SIan Rogers        "EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
664f16c3236SIan Rogers        "PublicDescription": "Number of integer move elimination candidate uops that were eliminated.",
665f16c3236SIan Rogers        "SampleAfterValue": "1000003",
666f16c3236SIan Rogers        "UMask": "0x1"
667f16c3236SIan Rogers    },
668f16c3236SIan Rogers    {
669f16c3236SIan Rogers        "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
670*11c2302cSIan Rogers        "Counter": "0,1,2,3",
671f16c3236SIan Rogers        "EventCode": "0x58",
672f16c3236SIan Rogers        "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
673f16c3236SIan Rogers        "PublicDescription": "Number of integer move elimination candidate uops that were not eliminated.",
674f16c3236SIan Rogers        "SampleAfterValue": "1000003",
675f16c3236SIan Rogers        "UMask": "0x4"
676f16c3236SIan Rogers    },
677f16c3236SIan Rogers    {
678f16c3236SIan Rogers        "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
679*11c2302cSIan Rogers        "Counter": "0,1,2,3",
680f16c3236SIan Rogers        "EventCode": "0xC1",
681f16c3236SIan Rogers        "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
682f16c3236SIan Rogers        "PublicDescription": "Number of microcode assists invoked by HW upon uop writeback.",
683f16c3236SIan Rogers        "SampleAfterValue": "100003",
684f16c3236SIan Rogers        "UMask": "0x40"
685f16c3236SIan Rogers    },
686f16c3236SIan Rogers    {
687f16c3236SIan Rogers        "BriefDescription": "Resource-related stall cycles",
688*11c2302cSIan Rogers        "Counter": "0,1,2,3",
689f16c3236SIan Rogers        "Errata": "HSD135",
690f16c3236SIan Rogers        "EventCode": "0xA2",
691f16c3236SIan Rogers        "EventName": "RESOURCE_STALLS.ANY",
692f16c3236SIan Rogers        "PublicDescription": "Cycles allocation is stalled due to resource related reason.",
693f16c3236SIan Rogers        "SampleAfterValue": "2000003",
694f16c3236SIan Rogers        "UMask": "0x1"
695f16c3236SIan Rogers    },
696f16c3236SIan Rogers    {
697f16c3236SIan Rogers        "BriefDescription": "Cycles stalled due to re-order buffer full.",
698*11c2302cSIan Rogers        "Counter": "0,1,2,3",
699f16c3236SIan Rogers        "EventCode": "0xA2",
700f16c3236SIan Rogers        "EventName": "RESOURCE_STALLS.ROB",
701f16c3236SIan Rogers        "SampleAfterValue": "2000003",
702f16c3236SIan Rogers        "UMask": "0x10"
703f16c3236SIan Rogers    },
704f16c3236SIan Rogers    {
705f16c3236SIan Rogers        "BriefDescription": "Cycles stalled due to no eligible RS entry available.",
706*11c2302cSIan Rogers        "Counter": "0,1,2,3",
707f16c3236SIan Rogers        "EventCode": "0xA2",
708f16c3236SIan Rogers        "EventName": "RESOURCE_STALLS.RS",
709f16c3236SIan Rogers        "SampleAfterValue": "2000003",
710f16c3236SIan Rogers        "UMask": "0x4"
711f16c3236SIan Rogers    },
712f16c3236SIan Rogers    {
713f16c3236SIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
714*11c2302cSIan Rogers        "Counter": "0,1,2,3",
715f16c3236SIan Rogers        "EventCode": "0xA2",
716f16c3236SIan Rogers        "EventName": "RESOURCE_STALLS.SB",
717f16c3236SIan Rogers        "PublicDescription": "This event counts cycles during which no instructions were allocated because no Store Buffers (SB) were available.",
718f16c3236SIan Rogers        "SampleAfterValue": "2000003",
719f16c3236SIan Rogers        "UMask": "0x8"
720f16c3236SIan Rogers    },
721f16c3236SIan Rogers    {
722032c16b2SAndi Kleen        "BriefDescription": "Count cases of saving new LBR",
723*11c2302cSIan Rogers        "Counter": "0,1,2,3",
724f16c3236SIan Rogers        "EventCode": "0xCC",
725032c16b2SAndi Kleen        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
726032c16b2SAndi Kleen        "PublicDescription": "Count cases of saving new LBR records by hardware.",
727032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
728f16c3236SIan Rogers        "UMask": "0x20"
729032c16b2SAndi Kleen    },
730032c16b2SAndi Kleen    {
731f16c3236SIan Rogers        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
732*11c2302cSIan Rogers        "Counter": "0,1,2,3",
733f16c3236SIan Rogers        "EventCode": "0x5E",
734f16c3236SIan Rogers        "EventName": "RS_EVENTS.EMPTY_CYCLES",
735f16c3236SIan Rogers        "PublicDescription": "This event counts cycles when the Reservation Station ( RS ) is empty for the thread. The RS is a structure that buffers allocated micro-ops from the Front-end. If there are many cycles when the RS is empty, it may represent an underflow of instructions delivered from the Front-end.",
736f16c3236SIan Rogers        "SampleAfterValue": "2000003",
737f16c3236SIan Rogers        "UMask": "0x1"
738f16c3236SIan Rogers    },
739f16c3236SIan Rogers    {
740f16c3236SIan Rogers        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
741*11c2302cSIan Rogers        "Counter": "0,1,2,3",
742f16c3236SIan Rogers        "CounterMask": "1",
743f16c3236SIan Rogers        "EdgeDetect": "1",
744f16c3236SIan Rogers        "EventCode": "0x5E",
745f16c3236SIan Rogers        "EventName": "RS_EVENTS.EMPTY_END",
746f16c3236SIan Rogers        "Invert": "1",
747f16c3236SIan Rogers        "SampleAfterValue": "200003",
748f16c3236SIan Rogers        "UMask": "0x1"
749f16c3236SIan Rogers    },
750f16c3236SIan Rogers    {
751f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 0.",
752*11c2302cSIan Rogers        "Counter": "0,1,2,3",
753f16c3236SIan Rogers        "EventCode": "0xA1",
754f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
755f16c3236SIan Rogers        "SampleAfterValue": "2000003",
756f16c3236SIan Rogers        "UMask": "0x1"
757f16c3236SIan Rogers    },
758f16c3236SIan Rogers    {
759f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 1.",
760*11c2302cSIan Rogers        "Counter": "0,1,2,3",
761f16c3236SIan Rogers        "EventCode": "0xA1",
762f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
763f16c3236SIan Rogers        "SampleAfterValue": "2000003",
764f16c3236SIan Rogers        "UMask": "0x2"
765f16c3236SIan Rogers    },
766f16c3236SIan Rogers    {
767f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 2.",
768*11c2302cSIan Rogers        "Counter": "0,1,2,3",
769f16c3236SIan Rogers        "EventCode": "0xA1",
770f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
771f16c3236SIan Rogers        "SampleAfterValue": "2000003",
772f16c3236SIan Rogers        "UMask": "0x4"
773f16c3236SIan Rogers    },
774f16c3236SIan Rogers    {
775f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 3.",
776*11c2302cSIan Rogers        "Counter": "0,1,2,3",
777f16c3236SIan Rogers        "EventCode": "0xA1",
778f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
779f16c3236SIan Rogers        "SampleAfterValue": "2000003",
780f16c3236SIan Rogers        "UMask": "0x8"
781f16c3236SIan Rogers    },
782f16c3236SIan Rogers    {
783f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 4.",
784*11c2302cSIan Rogers        "Counter": "0,1,2,3",
785f16c3236SIan Rogers        "EventCode": "0xA1",
786f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
787f16c3236SIan Rogers        "SampleAfterValue": "2000003",
788f16c3236SIan Rogers        "UMask": "0x10"
789f16c3236SIan Rogers    },
790f16c3236SIan Rogers    {
791f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 5.",
792*11c2302cSIan Rogers        "Counter": "0,1,2,3",
793f16c3236SIan Rogers        "EventCode": "0xA1",
794f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
795f16c3236SIan Rogers        "SampleAfterValue": "2000003",
796f16c3236SIan Rogers        "UMask": "0x20"
797f16c3236SIan Rogers    },
798f16c3236SIan Rogers    {
799f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 6.",
800*11c2302cSIan Rogers        "Counter": "0,1,2,3",
801f16c3236SIan Rogers        "EventCode": "0xA1",
802f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
803f16c3236SIan Rogers        "SampleAfterValue": "2000003",
804f16c3236SIan Rogers        "UMask": "0x40"
805f16c3236SIan Rogers    },
806f16c3236SIan Rogers    {
807f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 7.",
808*11c2302cSIan Rogers        "Counter": "0,1,2,3",
809f16c3236SIan Rogers        "EventCode": "0xA1",
810f16c3236SIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
811f16c3236SIan Rogers        "SampleAfterValue": "2000003",
812f16c3236SIan Rogers        "UMask": "0x80"
813f16c3236SIan Rogers    },
814f16c3236SIan Rogers    {
815f16c3236SIan Rogers        "BriefDescription": "Number of uops executed on the core.",
816*11c2302cSIan Rogers        "Counter": "0,1,2,3",
817f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
818f16c3236SIan Rogers        "EventCode": "0xB1",
819f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE",
820f16c3236SIan Rogers        "PublicDescription": "Counts total number of uops to be executed per-core each cycle.",
821f16c3236SIan Rogers        "SampleAfterValue": "2000003",
822f16c3236SIan Rogers        "UMask": "0x2"
823f16c3236SIan Rogers    },
824f16c3236SIan Rogers    {
825f16c3236SIan Rogers        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
826*11c2302cSIan Rogers        "Counter": "0,1,2,3",
827f16c3236SIan Rogers        "CounterMask": "1",
828f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
829f16c3236SIan Rogers        "EventCode": "0xb1",
830f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
831f16c3236SIan Rogers        "SampleAfterValue": "2000003",
832f16c3236SIan Rogers        "UMask": "0x2"
833f16c3236SIan Rogers    },
834f16c3236SIan Rogers    {
835f16c3236SIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
836*11c2302cSIan Rogers        "Counter": "0,1,2,3",
837f16c3236SIan Rogers        "CounterMask": "2",
838f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
839f16c3236SIan Rogers        "EventCode": "0xb1",
840f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
841f16c3236SIan Rogers        "SampleAfterValue": "2000003",
842f16c3236SIan Rogers        "UMask": "0x2"
843f16c3236SIan Rogers    },
844f16c3236SIan Rogers    {
845f16c3236SIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
846*11c2302cSIan Rogers        "Counter": "0,1,2,3",
847f16c3236SIan Rogers        "CounterMask": "3",
848f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
849f16c3236SIan Rogers        "EventCode": "0xb1",
850f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
851f16c3236SIan Rogers        "SampleAfterValue": "2000003",
852f16c3236SIan Rogers        "UMask": "0x2"
853f16c3236SIan Rogers    },
854f16c3236SIan Rogers    {
855f16c3236SIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
856*11c2302cSIan Rogers        "Counter": "0,1,2,3",
857f16c3236SIan Rogers        "CounterMask": "4",
858f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
859f16c3236SIan Rogers        "EventCode": "0xb1",
860f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
861f16c3236SIan Rogers        "SampleAfterValue": "2000003",
862f16c3236SIan Rogers        "UMask": "0x2"
863f16c3236SIan Rogers    },
864f16c3236SIan Rogers    {
865f16c3236SIan Rogers        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
866*11c2302cSIan Rogers        "Counter": "0,1,2,3",
867f16c3236SIan Rogers        "Errata": "HSD30, HSM31",
868f16c3236SIan Rogers        "EventCode": "0xb1",
869f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
870f16c3236SIan Rogers        "Invert": "1",
871f16c3236SIan Rogers        "SampleAfterValue": "2000003",
872f16c3236SIan Rogers        "UMask": "0x2"
873f16c3236SIan Rogers    },
874f16c3236SIan Rogers    {
875f16c3236SIan Rogers        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
876*11c2302cSIan Rogers        "Counter": "0,1,2,3",
877f16c3236SIan Rogers        "CounterMask": "1",
878f16c3236SIan Rogers        "Errata": "HSD144, HSD30, HSM31",
879f16c3236SIan Rogers        "EventCode": "0xB1",
880f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
881f16c3236SIan Rogers        "PublicDescription": "This events counts the cycles where at least one uop was executed. It is counted per thread.",
882f16c3236SIan Rogers        "SampleAfterValue": "2000003",
883f16c3236SIan Rogers        "UMask": "0x1"
884f16c3236SIan Rogers    },
885f16c3236SIan Rogers    {
886f16c3236SIan Rogers        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
887*11c2302cSIan Rogers        "Counter": "0,1,2,3",
888f16c3236SIan Rogers        "CounterMask": "2",
889f16c3236SIan Rogers        "Errata": "HSD144, HSD30, HSM31",
890f16c3236SIan Rogers        "EventCode": "0xB1",
891f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
892f16c3236SIan Rogers        "PublicDescription": "This events counts the cycles where at least two uop were executed. It is counted per thread.",
893f16c3236SIan Rogers        "SampleAfterValue": "2000003",
894f16c3236SIan Rogers        "UMask": "0x1"
895f16c3236SIan Rogers    },
896f16c3236SIan Rogers    {
897f16c3236SIan Rogers        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
898*11c2302cSIan Rogers        "Counter": "0,1,2,3",
899f16c3236SIan Rogers        "CounterMask": "3",
900f16c3236SIan Rogers        "Errata": "HSD144, HSD30, HSM31",
901f16c3236SIan Rogers        "EventCode": "0xB1",
902f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
903f16c3236SIan Rogers        "PublicDescription": "This events counts the cycles where at least three uop were executed. It is counted per thread.",
904f16c3236SIan Rogers        "SampleAfterValue": "2000003",
905f16c3236SIan Rogers        "UMask": "0x1"
906f16c3236SIan Rogers    },
907f16c3236SIan Rogers    {
908f16c3236SIan Rogers        "BriefDescription": "Cycles where at least 4 uops were executed per-thread.",
909*11c2302cSIan Rogers        "Counter": "0,1,2,3",
910f16c3236SIan Rogers        "CounterMask": "4",
911f16c3236SIan Rogers        "Errata": "HSD144, HSD30, HSM31",
912f16c3236SIan Rogers        "EventCode": "0xB1",
913f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
914f16c3236SIan Rogers        "SampleAfterValue": "2000003",
915f16c3236SIan Rogers        "UMask": "0x1"
916f16c3236SIan Rogers    },
917f16c3236SIan Rogers    {
918f16c3236SIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
919*11c2302cSIan Rogers        "Counter": "0,1,2,3",
920f16c3236SIan Rogers        "CounterMask": "1",
921f16c3236SIan Rogers        "Errata": "HSD144, HSD30, HSM31",
922f16c3236SIan Rogers        "EventCode": "0xB1",
923f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
924f16c3236SIan Rogers        "Invert": "1",
925f16c3236SIan Rogers        "SampleAfterValue": "2000003",
926f16c3236SIan Rogers        "UMask": "0x1"
927f16c3236SIan Rogers    },
928f16c3236SIan Rogers    {
929f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 0",
930*11c2302cSIan Rogers        "Counter": "0,1,2,3",
931f16c3236SIan Rogers        "EventCode": "0xA1",
932f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_0",
933f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 0 in this thread.",
934f16c3236SIan Rogers        "SampleAfterValue": "2000003",
935f16c3236SIan Rogers        "UMask": "0x1"
936f16c3236SIan Rogers    },
937f16c3236SIan Rogers    {
938f16c3236SIan Rogers        "AnyThread": "1",
939f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 0.",
940*11c2302cSIan Rogers        "Counter": "0,1,2,3",
941f16c3236SIan Rogers        "EventCode": "0xA1",
942f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_0_CORE",
943f16c3236SIan Rogers        "SampleAfterValue": "2000003",
944f16c3236SIan Rogers        "UMask": "0x1"
945f16c3236SIan Rogers    },
946f16c3236SIan Rogers    {
947f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 1",
948*11c2302cSIan Rogers        "Counter": "0,1,2,3",
949f16c3236SIan Rogers        "EventCode": "0xA1",
950f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_1",
951f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 1 in this thread.",
952f16c3236SIan Rogers        "SampleAfterValue": "2000003",
953f16c3236SIan Rogers        "UMask": "0x2"
954f16c3236SIan Rogers    },
955f16c3236SIan Rogers    {
956f16c3236SIan Rogers        "AnyThread": "1",
957f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 1.",
958*11c2302cSIan Rogers        "Counter": "0,1,2,3",
959f16c3236SIan Rogers        "EventCode": "0xA1",
960f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_1_CORE",
961f16c3236SIan Rogers        "SampleAfterValue": "2000003",
962f16c3236SIan Rogers        "UMask": "0x2"
963f16c3236SIan Rogers    },
964f16c3236SIan Rogers    {
965f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 2",
966*11c2302cSIan Rogers        "Counter": "0,1,2,3",
967f16c3236SIan Rogers        "EventCode": "0xA1",
968f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_2",
969f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 2 in this thread.",
970f16c3236SIan Rogers        "SampleAfterValue": "2000003",
971f16c3236SIan Rogers        "UMask": "0x4"
972f16c3236SIan Rogers    },
973f16c3236SIan Rogers    {
974f16c3236SIan Rogers        "AnyThread": "1",
975f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 2.",
976*11c2302cSIan Rogers        "Counter": "0,1,2,3",
977f16c3236SIan Rogers        "EventCode": "0xA1",
978f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_2_CORE",
979f16c3236SIan Rogers        "SampleAfterValue": "2000003",
980f16c3236SIan Rogers        "UMask": "0x4"
981f16c3236SIan Rogers    },
982f16c3236SIan Rogers    {
983f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 3",
984*11c2302cSIan Rogers        "Counter": "0,1,2,3",
985f16c3236SIan Rogers        "EventCode": "0xA1",
986f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_3",
987f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 3 in this thread.",
988f16c3236SIan Rogers        "SampleAfterValue": "2000003",
989f16c3236SIan Rogers        "UMask": "0x8"
990f16c3236SIan Rogers    },
991f16c3236SIan Rogers    {
992f16c3236SIan Rogers        "AnyThread": "1",
993f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 3.",
994*11c2302cSIan Rogers        "Counter": "0,1,2,3",
995f16c3236SIan Rogers        "EventCode": "0xA1",
996f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_3_CORE",
997f16c3236SIan Rogers        "SampleAfterValue": "2000003",
998f16c3236SIan Rogers        "UMask": "0x8"
999f16c3236SIan Rogers    },
1000f16c3236SIan Rogers    {
1001f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 4",
1002*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1003f16c3236SIan Rogers        "EventCode": "0xA1",
1004f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_4",
1005f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 4 in this thread.",
1006f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1007f16c3236SIan Rogers        "UMask": "0x10"
1008f16c3236SIan Rogers    },
1009f16c3236SIan Rogers    {
1010f16c3236SIan Rogers        "AnyThread": "1",
1011f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 4.",
1012*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1013f16c3236SIan Rogers        "EventCode": "0xA1",
1014f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_4_CORE",
1015f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1016f16c3236SIan Rogers        "UMask": "0x10"
1017f16c3236SIan Rogers    },
1018f16c3236SIan Rogers    {
1019f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 5",
1020*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1021f16c3236SIan Rogers        "EventCode": "0xA1",
1022f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_5",
1023f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 5 in this thread.",
1024f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1025f16c3236SIan Rogers        "UMask": "0x20"
1026f16c3236SIan Rogers    },
1027f16c3236SIan Rogers    {
1028f16c3236SIan Rogers        "AnyThread": "1",
1029f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 5.",
1030*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1031f16c3236SIan Rogers        "EventCode": "0xA1",
1032f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_5_CORE",
1033f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1034f16c3236SIan Rogers        "UMask": "0x20"
1035f16c3236SIan Rogers    },
1036f16c3236SIan Rogers    {
1037f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 6",
1038*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1039f16c3236SIan Rogers        "EventCode": "0xA1",
1040f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_6",
1041f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 6 in this thread.",
1042f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1043f16c3236SIan Rogers        "UMask": "0x40"
1044f16c3236SIan Rogers    },
1045f16c3236SIan Rogers    {
1046f16c3236SIan Rogers        "AnyThread": "1",
1047f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 6.",
1048*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1049f16c3236SIan Rogers        "EventCode": "0xA1",
1050f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_6_CORE",
1051f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1052f16c3236SIan Rogers        "UMask": "0x40"
1053f16c3236SIan Rogers    },
1054f16c3236SIan Rogers    {
1055f16c3236SIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 7",
1056*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1057f16c3236SIan Rogers        "EventCode": "0xA1",
1058f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_7",
1059f16c3236SIan Rogers        "PublicDescription": "Cycles which a uop is dispatched on port 7 in this thread.",
1060f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1061f16c3236SIan Rogers        "UMask": "0x80"
1062f16c3236SIan Rogers    },
1063f16c3236SIan Rogers    {
1064f16c3236SIan Rogers        "AnyThread": "1",
1065f16c3236SIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 7.",
1066*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1067f16c3236SIan Rogers        "EventCode": "0xA1",
1068f16c3236SIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_7_CORE",
1069f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1070f16c3236SIan Rogers        "UMask": "0x80"
1071f16c3236SIan Rogers    },
1072f16c3236SIan Rogers    {
1073f16c3236SIan Rogers        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
1074*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1075f16c3236SIan Rogers        "EventCode": "0x0E",
1076f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.ANY",
1077f16c3236SIan Rogers        "PublicDescription": "This event counts the number of uops issued by the Front-end of the pipeline to the Back-end. This event is counted at the allocation stage and will count both retired and non-retired uops.",
1078f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1079f16c3236SIan Rogers        "UMask": "0x1"
1080f16c3236SIan Rogers    },
1081f16c3236SIan Rogers    {
1082f16c3236SIan Rogers        "AnyThread": "1",
1083f16c3236SIan Rogers        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads.",
1084*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1085f16c3236SIan Rogers        "CounterMask": "1",
1086f16c3236SIan Rogers        "EventCode": "0x0E",
1087f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.CORE_STALL_CYCLES",
1088f16c3236SIan Rogers        "Invert": "1",
1089f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1090f16c3236SIan Rogers        "UMask": "0x1"
1091f16c3236SIan Rogers    },
1092f16c3236SIan Rogers    {
1093f16c3236SIan Rogers        "BriefDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive; added by GSR u-arch.",
1094*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1095f16c3236SIan Rogers        "EventCode": "0x0E",
1096f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.FLAGS_MERGE",
1097f16c3236SIan Rogers        "PublicDescription": "Number of flags-merge uops allocated. Such uops add delay.",
1098f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1099f16c3236SIan Rogers        "UMask": "0x10"
1100f16c3236SIan Rogers    },
1101f16c3236SIan Rogers    {
1102f16c3236SIan Rogers        "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated",
1103*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1104f16c3236SIan Rogers        "EventCode": "0x0E",
1105f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.SINGLE_MUL",
1106f16c3236SIan Rogers        "PublicDescription": "Number of multiply packed/scalar single precision uops allocated.",
1107f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1108f16c3236SIan Rogers        "UMask": "0x40"
1109f16c3236SIan Rogers    },
1110f16c3236SIan Rogers    {
1111f16c3236SIan Rogers        "BriefDescription": "Number of slow LEA uops being allocated. A uop is generally considered SlowLea if it has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.",
1112*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1113f16c3236SIan Rogers        "EventCode": "0x0E",
1114f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.SLOW_LEA",
1115f16c3236SIan Rogers        "PublicDescription": "Number of slow LEA or similar uops allocated. Such uop has 3 sources (for example, 2 sources + immediate) regardless of whether it is a result of LEA instruction or not.",
1116f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1117f16c3236SIan Rogers        "UMask": "0x20"
1118f16c3236SIan Rogers    },
1119f16c3236SIan Rogers    {
1120f16c3236SIan Rogers        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread.",
1121*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1122f16c3236SIan Rogers        "CounterMask": "1",
1123f16c3236SIan Rogers        "EventCode": "0x0E",
1124f16c3236SIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
1125f16c3236SIan Rogers        "Invert": "1",
1126f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1127f16c3236SIan Rogers        "UMask": "0x1"
1128f16c3236SIan Rogers    },
1129f16c3236SIan Rogers    {
1130f16c3236SIan Rogers        "BriefDescription": "Actually retired uops.",
1131*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1132f16c3236SIan Rogers        "EventCode": "0xC2",
1133f16c3236SIan Rogers        "EventName": "UOPS_RETIRED.ALL",
1134f16c3236SIan Rogers        "PEBS": "1",
1135f16c3236SIan Rogers        "PublicDescription": "Counts the number of micro-ops retired. Use Cmask=1 and invert to count active cycles or stalled cycles.",
1136f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1137f16c3236SIan Rogers        "UMask": "0x1"
1138f16c3236SIan Rogers    },
1139f16c3236SIan Rogers    {
1140f16c3236SIan Rogers        "AnyThread": "1",
1141f16c3236SIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1142*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1143f16c3236SIan Rogers        "CounterMask": "1",
1144f16c3236SIan Rogers        "EventCode": "0xC2",
1145f16c3236SIan Rogers        "EventName": "UOPS_RETIRED.CORE_STALL_CYCLES",
1146f16c3236SIan Rogers        "Invert": "1",
1147f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1148f16c3236SIan Rogers        "UMask": "0x1"
1149f16c3236SIan Rogers    },
1150f16c3236SIan Rogers    {
1151f16c3236SIan Rogers        "BriefDescription": "Retirement slots used.",
1152*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1153f16c3236SIan Rogers        "EventCode": "0xC2",
1154f16c3236SIan Rogers        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
1155f16c3236SIan Rogers        "PEBS": "1",
1156f16c3236SIan Rogers        "PublicDescription": "This event counts the number of retirement slots used each cycle.  There are potentially 4 slots that can be used each cycle - meaning, 4 uops or 4 instructions could retire each cycle.",
1157f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1158f16c3236SIan Rogers        "UMask": "0x2"
1159f16c3236SIan Rogers    },
1160f16c3236SIan Rogers    {
1161f16c3236SIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1162*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1163f16c3236SIan Rogers        "CounterMask": "1",
1164f16c3236SIan Rogers        "EventCode": "0xC2",
1165f16c3236SIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1166f16c3236SIan Rogers        "Invert": "1",
1167f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1168f16c3236SIan Rogers        "UMask": "0x1"
1169f16c3236SIan Rogers    },
1170f16c3236SIan Rogers    {
1171f16c3236SIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1172*11c2302cSIan Rogers        "Counter": "0,1,2,3",
1173bedd1738SZhengjun Xing        "CounterMask": "16",
1174f16c3236SIan Rogers        "EventCode": "0xC2",
1175f16c3236SIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
1176f16c3236SIan Rogers        "Invert": "1",
1177f16c3236SIan Rogers        "SampleAfterValue": "2000003",
1178f16c3236SIan Rogers        "UMask": "0x1"
1179ede00740SAndi Kleen    }
1180ede00740SAndi Kleen]
1181