xref: /linux/tools/perf/pmu-events/arch/x86/haswellx/pipeline.json (revision 032c16b296d512d151a3276ab3c53d4a4d65e2ed)
1ede00740SAndi Kleen[
2ede00740SAndi Kleen    {
3ede00740SAndi Kleen        "EventCode": "0x00",
4ede00740SAndi Kleen        "UMask": "0x1",
5ede00740SAndi Kleen        "BriefDescription": "Instructions retired from execution.",
6*032c16b2SAndi Kleen        "Counter": "Fixed counter 0",
7ede00740SAndi Kleen        "EventName": "INST_RETIRED.ANY",
8ede00740SAndi Kleen        "Errata": "HSD140, HSD143",
9ede00740SAndi Kleen        "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.",
10ede00740SAndi Kleen        "SampleAfterValue": "2000003",
11*032c16b2SAndi Kleen        "CounterHTOff": "Fixed counter 0"
12*032c16b2SAndi Kleen    },
13*032c16b2SAndi Kleen    {
14*032c16b2SAndi Kleen        "EventCode": "0x00",
15*032c16b2SAndi Kleen        "UMask": "0x2",
16*032c16b2SAndi Kleen        "BriefDescription": "Core cycles when the thread is not in halt state.",
17*032c16b2SAndi Kleen        "Counter": "Fixed counter 1",
18*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD",
19*032c16b2SAndi Kleen        "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.",
20*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
21ede00740SAndi Kleen        "CounterHTOff": "Fixed counter 1"
22ede00740SAndi Kleen    },
23ede00740SAndi Kleen    {
24ede00740SAndi Kleen        "EventCode": "0x00",
25ede00740SAndi Kleen        "UMask": "0x2",
26*032c16b2SAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
27*032c16b2SAndi Kleen        "Counter": "Fixed counter 1",
28*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
29*032c16b2SAndi Kleen        "AnyThread": "1",
30ede00740SAndi Kleen        "SampleAfterValue": "2000003",
31*032c16b2SAndi Kleen        "CounterHTOff": "Fixed counter 1"
32ede00740SAndi Kleen    },
33ede00740SAndi Kleen    {
34ede00740SAndi Kleen        "EventCode": "0x00",
35ede00740SAndi Kleen        "UMask": "0x3",
36ede00740SAndi Kleen        "BriefDescription": "Reference cycles when the core is not in halt state.",
37*032c16b2SAndi Kleen        "Counter": "Fixed counter 2",
38ede00740SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
39ede00740SAndi Kleen        "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.",
40ede00740SAndi Kleen        "SampleAfterValue": "2000003",
41*032c16b2SAndi Kleen        "CounterHTOff": "Fixed counter 2"
42ede00740SAndi Kleen    },
43ede00740SAndi Kleen    {
44ede00740SAndi Kleen        "EventCode": "0x03",
45ede00740SAndi Kleen        "UMask": "0x2",
46ede00740SAndi Kleen        "BriefDescription": "loads blocked by overlapping with store buffer that cannot be forwarded",
47ede00740SAndi Kleen        "Counter": "0,1,2,3",
48ede00740SAndi Kleen        "EventName": "LD_BLOCKS.STORE_FORWARD",
49ede00740SAndi Kleen        "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.",
50ede00740SAndi Kleen        "SampleAfterValue": "100003",
51ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
52ede00740SAndi Kleen    },
53ede00740SAndi Kleen    {
54ede00740SAndi Kleen        "EventCode": "0x03",
55ede00740SAndi Kleen        "UMask": "0x8",
56ede00740SAndi Kleen        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use",
57ede00740SAndi Kleen        "Counter": "0,1,2,3",
58ede00740SAndi Kleen        "EventName": "LD_BLOCKS.NO_SR",
59ede00740SAndi Kleen        "PublicDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
60ede00740SAndi Kleen        "SampleAfterValue": "100003",
61ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
62ede00740SAndi Kleen    },
63ede00740SAndi Kleen    {
64ede00740SAndi Kleen        "EventCode": "0x07",
65ede00740SAndi Kleen        "UMask": "0x1",
66ede00740SAndi Kleen        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
67ede00740SAndi Kleen        "Counter": "0,1,2,3",
68ede00740SAndi Kleen        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
69ede00740SAndi Kleen        "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.",
70ede00740SAndi Kleen        "SampleAfterValue": "100003",
71ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
72ede00740SAndi Kleen    },
73ede00740SAndi Kleen    {
74ede00740SAndi Kleen        "EventCode": "0x0D",
75ede00740SAndi Kleen        "UMask": "0x3",
76*032c16b2SAndi Kleen        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread (e.g. misprediction or memory nuke)",
77ede00740SAndi Kleen        "Counter": "0,1,2,3",
78ede00740SAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES",
79ede00740SAndi Kleen        "CounterMask": "1",
80ede00740SAndi Kleen        "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.",
81ede00740SAndi Kleen        "SampleAfterValue": "2000003",
82ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
83ede00740SAndi Kleen    },
84ede00740SAndi Kleen    {
85*032c16b2SAndi Kleen        "EventCode": "0x0D",
86*032c16b2SAndi Kleen        "UMask": "0x3",
87*032c16b2SAndi Kleen        "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)",
88*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
89*032c16b2SAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
90*032c16b2SAndi Kleen        "AnyThread": "1",
91*032c16b2SAndi Kleen        "CounterMask": "1",
92*032c16b2SAndi Kleen        "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).",
93*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
94*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
95*032c16b2SAndi Kleen    },
96*032c16b2SAndi Kleen    {
97ede00740SAndi Kleen        "EventCode": "0x0E",
98ede00740SAndi Kleen        "UMask": "0x1",
99ede00740SAndi Kleen        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
100ede00740SAndi Kleen        "Counter": "0,1,2,3",
101ede00740SAndi Kleen        "EventName": "UOPS_ISSUED.ANY",
102ede00740SAndi Kleen        "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.",
103ede00740SAndi Kleen        "SampleAfterValue": "2000003",
104ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
105ede00740SAndi Kleen    },
106ede00740SAndi Kleen    {
107*032c16b2SAndi Kleen        "Invert": "1",
108*032c16b2SAndi Kleen        "EventCode": "0x0E",
109*032c16b2SAndi Kleen        "UMask": "0x1",
110*032c16b2SAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread.",
111*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
112*032c16b2SAndi Kleen        "EventName": "UOPS_ISSUED.STALL_CYCLES",
113*032c16b2SAndi Kleen        "CounterMask": "1",
114*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
115*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
116*032c16b2SAndi Kleen    },
117*032c16b2SAndi Kleen    {
118*032c16b2SAndi Kleen        "Invert": "1",
119*032c16b2SAndi Kleen        "EventCode": "0x0E",
120*032c16b2SAndi Kleen        "UMask": "0x1",
121*032c16b2SAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for all threads.",
122*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
123*032c16b2SAndi Kleen        "EventName": "UOPS_ISSUED.CORE_STALL_CYCLES",
124*032c16b2SAndi Kleen        "AnyThread": "1",
125*032c16b2SAndi Kleen        "CounterMask": "1",
126*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
127*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
128*032c16b2SAndi Kleen    },
129*032c16b2SAndi Kleen    {
130ede00740SAndi Kleen        "EventCode": "0x0E",
131ede00740SAndi Kleen        "UMask": "0x10",
132ede00740SAndi Kleen        "BriefDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive; added by GSR u-arch.",
133ede00740SAndi Kleen        "Counter": "0,1,2,3",
134ede00740SAndi Kleen        "EventName": "UOPS_ISSUED.FLAGS_MERGE",
135ede00740SAndi Kleen        "PublicDescription": "Number of flags-merge uops allocated. Such uops add delay.",
136ede00740SAndi Kleen        "SampleAfterValue": "2000003",
137ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
138ede00740SAndi Kleen    },
139ede00740SAndi Kleen    {
140ede00740SAndi Kleen        "EventCode": "0x0E",
141ede00740SAndi Kleen        "UMask": "0x20",
142ede00740SAndi Kleen        "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.",
143ede00740SAndi Kleen        "Counter": "0,1,2,3",
144ede00740SAndi Kleen        "EventName": "UOPS_ISSUED.SLOW_LEA",
145ede00740SAndi Kleen        "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.",
146ede00740SAndi Kleen        "SampleAfterValue": "2000003",
147ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
148ede00740SAndi Kleen    },
149ede00740SAndi Kleen    {
150ede00740SAndi Kleen        "EventCode": "0x0E",
151ede00740SAndi Kleen        "UMask": "0x40",
152ede00740SAndi Kleen        "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated",
153ede00740SAndi Kleen        "Counter": "0,1,2,3",
154ede00740SAndi Kleen        "EventName": "UOPS_ISSUED.SINGLE_MUL",
155ede00740SAndi Kleen        "PublicDescription": "Number of multiply packed/scalar single precision uops allocated.",
156ede00740SAndi Kleen        "SampleAfterValue": "2000003",
157ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
158ede00740SAndi Kleen    },
159ede00740SAndi Kleen    {
160ede00740SAndi Kleen        "EventCode": "0x14",
161ede00740SAndi Kleen        "UMask": "0x2",
162ede00740SAndi Kleen        "BriefDescription": "Any uop executed by the Divider. (This includes all divide uops, sqrt, ...)",
163ede00740SAndi Kleen        "Counter": "0,1,2,3",
164ede00740SAndi Kleen        "EventName": "ARITH.DIVIDER_UOPS",
165ede00740SAndi Kleen        "SampleAfterValue": "2000003",
166ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
167ede00740SAndi Kleen    },
168ede00740SAndi Kleen    {
169ede00740SAndi Kleen        "EventCode": "0x3C",
170*032c16b2SAndi Kleen        "UMask": "0x0",
171*032c16b2SAndi Kleen        "BriefDescription": "Thread cycles when thread is not in halt state",
172*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
173*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
174*032c16b2SAndi Kleen        "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.",
175*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
176*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
177*032c16b2SAndi Kleen    },
178*032c16b2SAndi Kleen    {
179*032c16b2SAndi Kleen        "EventCode": "0x3C",
180*032c16b2SAndi Kleen        "UMask": "0x0",
181*032c16b2SAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
182*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
183*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
184*032c16b2SAndi Kleen        "AnyThread": "1",
185*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
186*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
187*032c16b2SAndi Kleen    },
188*032c16b2SAndi Kleen    {
189*032c16b2SAndi Kleen        "EventCode": "0x3C",
190ede00740SAndi Kleen        "UMask": "0x1",
191ede00740SAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
192ede00740SAndi Kleen        "Counter": "0,1,2,3",
193ede00740SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
194ede00740SAndi Kleen        "PublicDescription": "Increments at the frequency of XCLK (100 MHz) when not halted.",
195ede00740SAndi Kleen        "SampleAfterValue": "2000003",
196ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
197ede00740SAndi Kleen    },
198ede00740SAndi Kleen    {
199*032c16b2SAndi Kleen        "EventCode": "0x3C",
200*032c16b2SAndi Kleen        "UMask": "0x1",
201*032c16b2SAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate)",
202*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
203*032c16b2SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
204*032c16b2SAndi Kleen        "AnyThread": "1",
205*032c16b2SAndi Kleen        "PublicDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
206*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
207*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
208*032c16b2SAndi Kleen    },
209*032c16b2SAndi Kleen    {
210*032c16b2SAndi Kleen        "EventCode": "0x3C",
211*032c16b2SAndi Kleen        "UMask": "0x1",
212*032c16b2SAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
213*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
214*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
215*032c16b2SAndi Kleen        "PublicDescription": "Reference cycles when the thread is unhalted. (counts at 100 MHz rate)",
216*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
217*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
218*032c16b2SAndi Kleen    },
219*032c16b2SAndi Kleen    {
220*032c16b2SAndi Kleen        "EventCode": "0x3C",
221*032c16b2SAndi Kleen        "UMask": "0x1",
222*032c16b2SAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate)",
223*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
224*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
225*032c16b2SAndi Kleen        "AnyThread": "1",
226*032c16b2SAndi Kleen        "PublicDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
227*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
228*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
229*032c16b2SAndi Kleen    },
230*032c16b2SAndi Kleen    {
231ede00740SAndi Kleen        "EventCode": "0x3c",
232ede00740SAndi Kleen        "UMask": "0x2",
233ede00740SAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
234ede00740SAndi Kleen        "Counter": "0,1,2,3",
235ede00740SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
236ede00740SAndi Kleen        "SampleAfterValue": "2000003",
237ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
238ede00740SAndi Kleen    },
239ede00740SAndi Kleen    {
240*032c16b2SAndi Kleen        "EventCode": "0x3C",
241*032c16b2SAndi Kleen        "UMask": "0x2",
242*032c16b2SAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
243*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
244*032c16b2SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
245*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
246*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
247*032c16b2SAndi Kleen    },
248*032c16b2SAndi Kleen    {
249ede00740SAndi Kleen        "EventCode": "0x4c",
250ede00740SAndi Kleen        "UMask": "0x1",
251ede00740SAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
252ede00740SAndi Kleen        "Counter": "0,1,2,3",
253ede00740SAndi Kleen        "EventName": "LOAD_HIT_PRE.SW_PF",
254ede00740SAndi Kleen        "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for S/W prefetch.",
255ede00740SAndi Kleen        "SampleAfterValue": "100003",
256ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
257ede00740SAndi Kleen    },
258ede00740SAndi Kleen    {
259ede00740SAndi Kleen        "EventCode": "0x4c",
260ede00740SAndi Kleen        "UMask": "0x2",
261ede00740SAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
262ede00740SAndi Kleen        "Counter": "0,1,2,3",
263ede00740SAndi Kleen        "EventName": "LOAD_HIT_PRE.HW_PF",
264ede00740SAndi Kleen        "PublicDescription": "Non-SW-prefetch load dispatches that hit fill buffer allocated for H/W prefetch.",
265ede00740SAndi Kleen        "SampleAfterValue": "100003",
266ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
267ede00740SAndi Kleen    },
268ede00740SAndi Kleen    {
269ede00740SAndi Kleen        "EventCode": "0x58",
270ede00740SAndi Kleen        "UMask": "0x1",
271ede00740SAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
272ede00740SAndi Kleen        "Counter": "0,1,2,3",
273ede00740SAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
274ede00740SAndi Kleen        "PublicDescription": "Number of integer move elimination candidate uops that were eliminated.",
275ede00740SAndi Kleen        "SampleAfterValue": "1000003",
276ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
277ede00740SAndi Kleen    },
278ede00740SAndi Kleen    {
279ede00740SAndi Kleen        "EventCode": "0x58",
280ede00740SAndi Kleen        "UMask": "0x2",
281ede00740SAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.",
282ede00740SAndi Kleen        "Counter": "0,1,2,3",
283ede00740SAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED",
284ede00740SAndi Kleen        "PublicDescription": "Number of SIMD move elimination candidate uops that were eliminated.",
285ede00740SAndi Kleen        "SampleAfterValue": "1000003",
286ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
287ede00740SAndi Kleen    },
288ede00740SAndi Kleen    {
289ede00740SAndi Kleen        "EventCode": "0x58",
290ede00740SAndi Kleen        "UMask": "0x4",
291ede00740SAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
292ede00740SAndi Kleen        "Counter": "0,1,2,3",
293ede00740SAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
294ede00740SAndi Kleen        "PublicDescription": "Number of integer move elimination candidate uops that were not eliminated.",
295ede00740SAndi Kleen        "SampleAfterValue": "1000003",
296ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
297ede00740SAndi Kleen    },
298ede00740SAndi Kleen    {
299ede00740SAndi Kleen        "EventCode": "0x58",
300ede00740SAndi Kleen        "UMask": "0x8",
301ede00740SAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.",
302ede00740SAndi Kleen        "Counter": "0,1,2,3",
303ede00740SAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED",
304ede00740SAndi Kleen        "PublicDescription": "Number of SIMD move elimination candidate uops that were not eliminated.",
305ede00740SAndi Kleen        "SampleAfterValue": "1000003",
306ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
307ede00740SAndi Kleen    },
308ede00740SAndi Kleen    {
309ede00740SAndi Kleen        "EventCode": "0x5E",
310ede00740SAndi Kleen        "UMask": "0x1",
311ede00740SAndi Kleen        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
312ede00740SAndi Kleen        "Counter": "0,1,2,3",
313ede00740SAndi Kleen        "EventName": "RS_EVENTS.EMPTY_CYCLES",
314ede00740SAndi Kleen        "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.",
315ede00740SAndi Kleen        "SampleAfterValue": "2000003",
316ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
317ede00740SAndi Kleen    },
318ede00740SAndi Kleen    {
319*032c16b2SAndi Kleen        "EdgeDetect": "1",
320*032c16b2SAndi Kleen        "Invert": "1",
321*032c16b2SAndi Kleen        "EventCode": "0x5E",
322*032c16b2SAndi Kleen        "UMask": "0x1",
323*032c16b2SAndi Kleen        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
324*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
325*032c16b2SAndi Kleen        "EventName": "RS_EVENTS.EMPTY_END",
326*032c16b2SAndi Kleen        "CounterMask": "1",
327*032c16b2SAndi Kleen        "SampleAfterValue": "200003",
328*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
329*032c16b2SAndi Kleen    },
330*032c16b2SAndi Kleen    {
331ede00740SAndi Kleen        "EventCode": "0x87",
332ede00740SAndi Kleen        "UMask": "0x1",
333ede00740SAndi Kleen        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
334ede00740SAndi Kleen        "Counter": "0,1,2,3",
335ede00740SAndi Kleen        "EventName": "ILD_STALL.LCP",
336ede00740SAndi Kleen        "PublicDescription": "This event counts cycles where the decoder is stalled on an instruction with a length changing prefix (LCP).",
337ede00740SAndi Kleen        "SampleAfterValue": "2000003",
338ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
339ede00740SAndi Kleen    },
340ede00740SAndi Kleen    {
341ede00740SAndi Kleen        "EventCode": "0x87",
342ede00740SAndi Kleen        "UMask": "0x4",
343ede00740SAndi Kleen        "BriefDescription": "Stall cycles because IQ is full",
344ede00740SAndi Kleen        "Counter": "0,1,2,3",
345ede00740SAndi Kleen        "EventName": "ILD_STALL.IQ_FULL",
346ede00740SAndi Kleen        "PublicDescription": "Stall cycles due to IQ is full.",
347ede00740SAndi Kleen        "SampleAfterValue": "2000003",
348ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
349ede00740SAndi Kleen    },
350ede00740SAndi Kleen    {
351ede00740SAndi Kleen        "EventCode": "0x88",
352ede00740SAndi Kleen        "UMask": "0x41",
353ede00740SAndi Kleen        "BriefDescription": "Not taken macro-conditional branches.",
354ede00740SAndi Kleen        "Counter": "0,1,2,3",
355ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
356ede00740SAndi Kleen        "SampleAfterValue": "200003",
357ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
358ede00740SAndi Kleen    },
359ede00740SAndi Kleen    {
360ede00740SAndi Kleen        "EventCode": "0x88",
361ede00740SAndi Kleen        "UMask": "0x81",
362ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branches.",
363ede00740SAndi Kleen        "Counter": "0,1,2,3",
364ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
365ede00740SAndi Kleen        "SampleAfterValue": "200003",
366ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
367ede00740SAndi Kleen    },
368ede00740SAndi Kleen    {
369ede00740SAndi Kleen        "EventCode": "0x88",
370ede00740SAndi Kleen        "UMask": "0x82",
371ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects.",
372ede00740SAndi Kleen        "Counter": "0,1,2,3",
373ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
374ede00740SAndi Kleen        "SampleAfterValue": "200003",
375ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
376ede00740SAndi Kleen    },
377ede00740SAndi Kleen    {
378ede00740SAndi Kleen        "EventCode": "0x88",
379ede00740SAndi Kleen        "UMask": "0x84",
380ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns.",
381ede00740SAndi Kleen        "Counter": "0,1,2,3",
382ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
383ede00740SAndi Kleen        "SampleAfterValue": "200003",
384ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
385ede00740SAndi Kleen    },
386ede00740SAndi Kleen    {
387ede00740SAndi Kleen        "EventCode": "0x88",
388ede00740SAndi Kleen        "UMask": "0x88",
389ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic.",
390ede00740SAndi Kleen        "Counter": "0,1,2,3",
391ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
392ede00740SAndi Kleen        "SampleAfterValue": "200003",
393ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
394ede00740SAndi Kleen    },
395ede00740SAndi Kleen    {
396ede00740SAndi Kleen        "EventCode": "0x88",
397ede00740SAndi Kleen        "UMask": "0x90",
398ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired direct near calls.",
399ede00740SAndi Kleen        "Counter": "0,1,2,3",
400ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
401ede00740SAndi Kleen        "SampleAfterValue": "200003",
402ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
403ede00740SAndi Kleen    },
404ede00740SAndi Kleen    {
405ede00740SAndi Kleen        "EventCode": "0x88",
406ede00740SAndi Kleen        "UMask": "0xa0",
407ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect calls.",
408ede00740SAndi Kleen        "Counter": "0,1,2,3",
409ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
410ede00740SAndi Kleen        "SampleAfterValue": "200003",
411ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
412ede00740SAndi Kleen    },
413ede00740SAndi Kleen    {
414ede00740SAndi Kleen        "EventCode": "0x88",
415ede00740SAndi Kleen        "UMask": "0xc1",
416ede00740SAndi Kleen        "BriefDescription": "Speculative and retired macro-conditional branches.",
417ede00740SAndi Kleen        "Counter": "0,1,2,3",
418ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
419ede00740SAndi Kleen        "SampleAfterValue": "200003",
420ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
421ede00740SAndi Kleen    },
422ede00740SAndi Kleen    {
423ede00740SAndi Kleen        "EventCode": "0x88",
424ede00740SAndi Kleen        "UMask": "0xc2",
425ede00740SAndi Kleen        "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects.",
426ede00740SAndi Kleen        "Counter": "0,1,2,3",
427ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
428ede00740SAndi Kleen        "SampleAfterValue": "200003",
429ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
430ede00740SAndi Kleen    },
431ede00740SAndi Kleen    {
432ede00740SAndi Kleen        "EventCode": "0x88",
433ede00740SAndi Kleen        "UMask": "0xc4",
434ede00740SAndi Kleen        "BriefDescription": "Speculative and retired indirect branches excluding calls and returns.",
435ede00740SAndi Kleen        "Counter": "0,1,2,3",
436ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
437ede00740SAndi Kleen        "SampleAfterValue": "200003",
438ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
439ede00740SAndi Kleen    },
440ede00740SAndi Kleen    {
441ede00740SAndi Kleen        "EventCode": "0x88",
442ede00740SAndi Kleen        "UMask": "0xc8",
443ede00740SAndi Kleen        "BriefDescription": "Speculative and retired indirect return branches.",
444ede00740SAndi Kleen        "Counter": "0,1,2,3",
445ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
446ede00740SAndi Kleen        "SampleAfterValue": "200003",
447ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
448ede00740SAndi Kleen    },
449ede00740SAndi Kleen    {
450ede00740SAndi Kleen        "EventCode": "0x88",
451ede00740SAndi Kleen        "UMask": "0xd0",
452ede00740SAndi Kleen        "BriefDescription": "Speculative and retired direct near calls.",
453ede00740SAndi Kleen        "Counter": "0,1,2,3",
454ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
455ede00740SAndi Kleen        "SampleAfterValue": "200003",
456ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
457ede00740SAndi Kleen    },
458ede00740SAndi Kleen    {
459ede00740SAndi Kleen        "EventCode": "0x88",
460ede00740SAndi Kleen        "UMask": "0xff",
461ede00740SAndi Kleen        "BriefDescription": "Speculative and retired  branches",
462ede00740SAndi Kleen        "Counter": "0,1,2,3",
463ede00740SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_BRANCHES",
464ede00740SAndi Kleen        "PublicDescription": "Counts all near executed branches (not necessarily retired).",
465ede00740SAndi Kleen        "SampleAfterValue": "200003",
466ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
467ede00740SAndi Kleen    },
468ede00740SAndi Kleen    {
469ede00740SAndi Kleen        "EventCode": "0x89",
470ede00740SAndi Kleen        "UMask": "0x41",
471ede00740SAndi Kleen        "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches.",
472ede00740SAndi Kleen        "Counter": "0,1,2,3",
473ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
474ede00740SAndi Kleen        "SampleAfterValue": "200003",
475ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
476ede00740SAndi Kleen    },
477ede00740SAndi Kleen    {
478ede00740SAndi Kleen        "EventCode": "0x89",
479ede00740SAndi Kleen        "UMask": "0x81",
480ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches.",
481ede00740SAndi Kleen        "Counter": "0,1,2,3",
482ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
483ede00740SAndi Kleen        "SampleAfterValue": "200003",
484ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
485ede00740SAndi Kleen    },
486ede00740SAndi Kleen    {
487ede00740SAndi Kleen        "EventCode": "0x89",
488ede00740SAndi Kleen        "UMask": "0x84",
489ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns.",
490ede00740SAndi Kleen        "Counter": "0,1,2,3",
491ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
492ede00740SAndi Kleen        "SampleAfterValue": "200003",
493ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
494ede00740SAndi Kleen    },
495ede00740SAndi Kleen    {
496ede00740SAndi Kleen        "EventCode": "0x89",
497ede00740SAndi Kleen        "UMask": "0x88",
498ede00740SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic.",
499ede00740SAndi Kleen        "Counter": "0,1,2,3",
500ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
501ede00740SAndi Kleen        "SampleAfterValue": "200003",
502ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
503ede00740SAndi Kleen    },
504ede00740SAndi Kleen    {
505ede00740SAndi Kleen        "EventCode": "0x89",
506*032c16b2SAndi Kleen        "UMask": "0xa0",
507*032c16b2SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect calls.",
508*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
509*032c16b2SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
510*032c16b2SAndi Kleen        "SampleAfterValue": "200003",
511*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
512*032c16b2SAndi Kleen    },
513*032c16b2SAndi Kleen    {
514*032c16b2SAndi Kleen        "EventCode": "0x89",
515ede00740SAndi Kleen        "UMask": "0xc1",
516ede00740SAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches.",
517ede00740SAndi Kleen        "Counter": "0,1,2,3",
518ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
519ede00740SAndi Kleen        "SampleAfterValue": "200003",
520ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
521ede00740SAndi Kleen    },
522ede00740SAndi Kleen    {
523ede00740SAndi Kleen        "EventCode": "0x89",
524ede00740SAndi Kleen        "UMask": "0xc4",
525ede00740SAndi Kleen        "BriefDescription": "Mispredicted indirect branches excluding calls and returns.",
526ede00740SAndi Kleen        "Counter": "0,1,2,3",
527ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
528ede00740SAndi Kleen        "SampleAfterValue": "200003",
529ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
530ede00740SAndi Kleen    },
531ede00740SAndi Kleen    {
532ede00740SAndi Kleen        "EventCode": "0x89",
533ede00740SAndi Kleen        "UMask": "0xff",
534ede00740SAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
535ede00740SAndi Kleen        "Counter": "0,1,2,3",
536ede00740SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_BRANCHES",
537ede00740SAndi Kleen        "PublicDescription": "Counts all near executed branches (not necessarily retired).",
538ede00740SAndi Kleen        "SampleAfterValue": "200003",
539ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
540ede00740SAndi Kleen    },
541ede00740SAndi Kleen    {
542ede00740SAndi Kleen        "EventCode": "0xA1",
543ede00740SAndi Kleen        "UMask": "0x1",
544ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0",
545ede00740SAndi Kleen        "Counter": "0,1,2,3",
546ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0",
547ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 0 in this thread.",
548ede00740SAndi Kleen        "SampleAfterValue": "2000003",
549ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
550ede00740SAndi Kleen    },
551ede00740SAndi Kleen    {
552ede00740SAndi Kleen        "EventCode": "0xA1",
553*032c16b2SAndi Kleen        "UMask": "0x1",
554*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are executed in port 0.",
555*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
556*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0_CORE",
557*032c16b2SAndi Kleen        "AnyThread": "1",
558*032c16b2SAndi Kleen        "PublicDescription": "Cycles per core when uops are exectuted in port 0.",
559*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
560*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
561*032c16b2SAndi Kleen    },
562*032c16b2SAndi Kleen    {
563*032c16b2SAndi Kleen        "EventCode": "0xA1",
564*032c16b2SAndi Kleen        "UMask": "0x1",
565*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0.",
566*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
567*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
568*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
569*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
570*032c16b2SAndi Kleen    },
571*032c16b2SAndi Kleen    {
572*032c16b2SAndi Kleen        "EventCode": "0xA1",
573ede00740SAndi Kleen        "UMask": "0x2",
574ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1",
575ede00740SAndi Kleen        "Counter": "0,1,2,3",
576ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1",
577ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 1 in this thread.",
578ede00740SAndi Kleen        "SampleAfterValue": "2000003",
579ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
580ede00740SAndi Kleen    },
581ede00740SAndi Kleen    {
582ede00740SAndi Kleen        "EventCode": "0xA1",
583*032c16b2SAndi Kleen        "UMask": "0x2",
584*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are executed in port 1.",
585*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
586*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1_CORE",
587*032c16b2SAndi Kleen        "AnyThread": "1",
588*032c16b2SAndi Kleen        "PublicDescription": "Cycles per core when uops are exectuted in port 1.",
589*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
590*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
591*032c16b2SAndi Kleen    },
592*032c16b2SAndi Kleen    {
593*032c16b2SAndi Kleen        "EventCode": "0xA1",
594*032c16b2SAndi Kleen        "UMask": "0x2",
595*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1.",
596*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
597*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
598*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
599*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
600*032c16b2SAndi Kleen    },
601*032c16b2SAndi Kleen    {
602*032c16b2SAndi Kleen        "EventCode": "0xA1",
603ede00740SAndi Kleen        "UMask": "0x4",
604ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2",
605ede00740SAndi Kleen        "Counter": "0,1,2,3",
606ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2",
607ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 2 in this thread.",
608ede00740SAndi Kleen        "SampleAfterValue": "2000003",
609ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
610ede00740SAndi Kleen    },
611ede00740SAndi Kleen    {
612ede00740SAndi Kleen        "EventCode": "0xA1",
613*032c16b2SAndi Kleen        "UMask": "0x4",
614*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 2.",
615*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
616*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2_CORE",
617*032c16b2SAndi Kleen        "AnyThread": "1",
618*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
619*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
620*032c16b2SAndi Kleen    },
621*032c16b2SAndi Kleen    {
622*032c16b2SAndi Kleen        "EventCode": "0xA1",
623*032c16b2SAndi Kleen        "UMask": "0x4",
624*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2.",
625*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
626*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
627*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
628*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
629*032c16b2SAndi Kleen    },
630*032c16b2SAndi Kleen    {
631*032c16b2SAndi Kleen        "EventCode": "0xA1",
632ede00740SAndi Kleen        "UMask": "0x8",
633ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3",
634ede00740SAndi Kleen        "Counter": "0,1,2,3",
635ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3",
636ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 3 in this thread.",
637ede00740SAndi Kleen        "SampleAfterValue": "2000003",
638ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
639ede00740SAndi Kleen    },
640ede00740SAndi Kleen    {
641ede00740SAndi Kleen        "EventCode": "0xA1",
642*032c16b2SAndi Kleen        "UMask": "0x8",
643*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 3.",
644*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
645*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3_CORE",
646*032c16b2SAndi Kleen        "AnyThread": "1",
647*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
648*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
649*032c16b2SAndi Kleen    },
650*032c16b2SAndi Kleen    {
651*032c16b2SAndi Kleen        "EventCode": "0xA1",
652*032c16b2SAndi Kleen        "UMask": "0x8",
653*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3.",
654*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
655*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
656*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
657*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
658*032c16b2SAndi Kleen    },
659*032c16b2SAndi Kleen    {
660*032c16b2SAndi Kleen        "EventCode": "0xA1",
661ede00740SAndi Kleen        "UMask": "0x10",
662ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4",
663ede00740SAndi Kleen        "Counter": "0,1,2,3",
664ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4",
665ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 4 in this thread.",
666ede00740SAndi Kleen        "SampleAfterValue": "2000003",
667ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
668ede00740SAndi Kleen    },
669ede00740SAndi Kleen    {
670ede00740SAndi Kleen        "EventCode": "0xA1",
671*032c16b2SAndi Kleen        "UMask": "0x10",
672*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are executed in port 4.",
673*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
674*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4_CORE",
675*032c16b2SAndi Kleen        "AnyThread": "1",
676*032c16b2SAndi Kleen        "PublicDescription": "Cycles per core when uops are exectuted in port 4.",
677*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
678*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
679*032c16b2SAndi Kleen    },
680*032c16b2SAndi Kleen    {
681*032c16b2SAndi Kleen        "EventCode": "0xA1",
682*032c16b2SAndi Kleen        "UMask": "0x10",
683*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4.",
684*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
685*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
686*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
687*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
688*032c16b2SAndi Kleen    },
689*032c16b2SAndi Kleen    {
690*032c16b2SAndi Kleen        "EventCode": "0xA1",
691ede00740SAndi Kleen        "UMask": "0x20",
692ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5",
693ede00740SAndi Kleen        "Counter": "0,1,2,3",
694ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5",
695ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 5 in this thread.",
696ede00740SAndi Kleen        "SampleAfterValue": "2000003",
697ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
698ede00740SAndi Kleen    },
699ede00740SAndi Kleen    {
700ede00740SAndi Kleen        "EventCode": "0xA1",
701*032c16b2SAndi Kleen        "UMask": "0x20",
702*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are executed in port 5.",
703*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
704*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5_CORE",
705*032c16b2SAndi Kleen        "AnyThread": "1",
706*032c16b2SAndi Kleen        "PublicDescription": "Cycles per core when uops are exectuted in port 5.",
707*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
708*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
709*032c16b2SAndi Kleen    },
710*032c16b2SAndi Kleen    {
711*032c16b2SAndi Kleen        "EventCode": "0xA1",
712*032c16b2SAndi Kleen        "UMask": "0x20",
713*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5.",
714*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
715*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
716*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
717*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
718*032c16b2SAndi Kleen    },
719*032c16b2SAndi Kleen    {
720*032c16b2SAndi Kleen        "EventCode": "0xA1",
721ede00740SAndi Kleen        "UMask": "0x40",
722ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6",
723ede00740SAndi Kleen        "Counter": "0,1,2,3",
724ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6",
725ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 6 in this thread.",
726ede00740SAndi Kleen        "SampleAfterValue": "2000003",
727ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
728ede00740SAndi Kleen    },
729ede00740SAndi Kleen    {
730ede00740SAndi Kleen        "EventCode": "0xA1",
731*032c16b2SAndi Kleen        "UMask": "0x40",
732*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are executed in port 6.",
733*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
734*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6_CORE",
735*032c16b2SAndi Kleen        "AnyThread": "1",
736*032c16b2SAndi Kleen        "PublicDescription": "Cycles per core when uops are exectuted in port 6.",
737*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
738*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
739*032c16b2SAndi Kleen    },
740*032c16b2SAndi Kleen    {
741*032c16b2SAndi Kleen        "EventCode": "0xA1",
742*032c16b2SAndi Kleen        "UMask": "0x40",
743*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6.",
744*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
745*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
746*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
747*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
748*032c16b2SAndi Kleen    },
749*032c16b2SAndi Kleen    {
750*032c16b2SAndi Kleen        "EventCode": "0xA1",
751ede00740SAndi Kleen        "UMask": "0x80",
752ede00740SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7",
753ede00740SAndi Kleen        "Counter": "0,1,2,3",
754ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7",
755ede00740SAndi Kleen        "PublicDescription": "Cycles which a uop is dispatched on port 7 in this thread.",
756ede00740SAndi Kleen        "SampleAfterValue": "2000003",
757ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
758ede00740SAndi Kleen    },
759ede00740SAndi Kleen    {
760*032c16b2SAndi Kleen        "EventCode": "0xA1",
761*032c16b2SAndi Kleen        "UMask": "0x80",
762*032c16b2SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 7.",
763*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
764*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7_CORE",
765*032c16b2SAndi Kleen        "AnyThread": "1",
766*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
767*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
768*032c16b2SAndi Kleen    },
769*032c16b2SAndi Kleen    {
770*032c16b2SAndi Kleen        "EventCode": "0xA1",
771*032c16b2SAndi Kleen        "UMask": "0x80",
772*032c16b2SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7.",
773*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
774*032c16b2SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
775*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
776*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
777*032c16b2SAndi Kleen    },
778*032c16b2SAndi Kleen    {
779ede00740SAndi Kleen        "EventCode": "0xA2",
780ede00740SAndi Kleen        "UMask": "0x1",
781ede00740SAndi Kleen        "BriefDescription": "Resource-related stall cycles",
782ede00740SAndi Kleen        "Counter": "0,1,2,3",
783ede00740SAndi Kleen        "EventName": "RESOURCE_STALLS.ANY",
784ede00740SAndi Kleen        "Errata": "HSD135",
785ede00740SAndi Kleen        "PublicDescription": "Cycles allocation is stalled due to resource related reason.",
786ede00740SAndi Kleen        "SampleAfterValue": "2000003",
787ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
788ede00740SAndi Kleen    },
789ede00740SAndi Kleen    {
790ede00740SAndi Kleen        "EventCode": "0xA2",
791ede00740SAndi Kleen        "UMask": "0x4",
792ede00740SAndi Kleen        "BriefDescription": "Cycles stalled due to no eligible RS entry available.",
793ede00740SAndi Kleen        "Counter": "0,1,2,3",
794ede00740SAndi Kleen        "EventName": "RESOURCE_STALLS.RS",
795ede00740SAndi Kleen        "SampleAfterValue": "2000003",
796ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
797ede00740SAndi Kleen    },
798ede00740SAndi Kleen    {
799ede00740SAndi Kleen        "EventCode": "0xA2",
800ede00740SAndi Kleen        "UMask": "0x8",
801ede00740SAndi Kleen        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
802ede00740SAndi Kleen        "Counter": "0,1,2,3",
803ede00740SAndi Kleen        "EventName": "RESOURCE_STALLS.SB",
804ede00740SAndi Kleen        "PublicDescription": "This event counts cycles during which no instructions were allocated because no Store Buffers (SB) were available.",
805ede00740SAndi Kleen        "SampleAfterValue": "2000003",
806ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
807ede00740SAndi Kleen    },
808ede00740SAndi Kleen    {
809ede00740SAndi Kleen        "EventCode": "0xA2",
810ede00740SAndi Kleen        "UMask": "0x10",
811ede00740SAndi Kleen        "BriefDescription": "Cycles stalled due to re-order buffer full.",
812ede00740SAndi Kleen        "Counter": "0,1,2,3",
813ede00740SAndi Kleen        "EventName": "RESOURCE_STALLS.ROB",
814ede00740SAndi Kleen        "SampleAfterValue": "2000003",
815ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
816ede00740SAndi Kleen    },
817ede00740SAndi Kleen    {
818ede00740SAndi Kleen        "EventCode": "0xA3",
819ede00740SAndi Kleen        "UMask": "0x1",
820ede00740SAndi Kleen        "BriefDescription": "Cycles with pending L2 cache miss loads.",
821ede00740SAndi Kleen        "Counter": "0,1,2,3",
822ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
823ede00740SAndi Kleen        "CounterMask": "1",
824ede00740SAndi Kleen        "Errata": "HSD78",
825ede00740SAndi Kleen        "PublicDescription": "Cycles with pending L2 miss loads. Set Cmask=2 to count cycle.",
826ede00740SAndi Kleen        "SampleAfterValue": "2000003",
827ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
828ede00740SAndi Kleen    },
829ede00740SAndi Kleen    {
830ede00740SAndi Kleen        "EventCode": "0xA3",
831ede00740SAndi Kleen        "UMask": "0x2",
832ede00740SAndi Kleen        "BriefDescription": "Cycles with pending memory loads.",
833ede00740SAndi Kleen        "Counter": "0,1,2,3",
834ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
835ede00740SAndi Kleen        "CounterMask": "2",
836ede00740SAndi Kleen        "PublicDescription": "Cycles with pending memory loads. Set Cmask=2 to count cycle.",
837ede00740SAndi Kleen        "SampleAfterValue": "2000003",
838ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
839ede00740SAndi Kleen    },
840ede00740SAndi Kleen    {
841ede00740SAndi Kleen        "EventCode": "0xA3",
842ede00740SAndi Kleen        "UMask": "0x4",
843*032c16b2SAndi Kleen        "BriefDescription": "This event increments by 1 for every cycle where there was no execute for this thread.",
844ede00740SAndi Kleen        "Counter": "0,1,2,3",
845ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
846ede00740SAndi Kleen        "CounterMask": "4",
847ede00740SAndi Kleen        "PublicDescription": "This event counts cycles during which no instructions were executed in the execution stage of the pipeline.",
848ede00740SAndi Kleen        "SampleAfterValue": "2000003",
849ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
850ede00740SAndi Kleen    },
851ede00740SAndi Kleen    {
852ede00740SAndi Kleen        "EventCode": "0xA3",
853ede00740SAndi Kleen        "UMask": "0x5",
854ede00740SAndi Kleen        "BriefDescription": "Execution stalls due to L2 cache misses.",
855ede00740SAndi Kleen        "Counter": "0,1,2,3",
856ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
857ede00740SAndi Kleen        "CounterMask": "5",
858ede00740SAndi Kleen        "PublicDescription": "Number of loads missed L2.",
859ede00740SAndi Kleen        "SampleAfterValue": "2000003",
860ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
861ede00740SAndi Kleen    },
862ede00740SAndi Kleen    {
863ede00740SAndi Kleen        "EventCode": "0xA3",
864ede00740SAndi Kleen        "UMask": "0x6",
865ede00740SAndi Kleen        "BriefDescription": "Execution stalls due to memory subsystem.",
866ede00740SAndi Kleen        "Counter": "0,1,2,3",
867ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
868ede00740SAndi Kleen        "CounterMask": "6",
869ede00740SAndi Kleen        "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).",
870ede00740SAndi Kleen        "SampleAfterValue": "2000003",
871ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
872ede00740SAndi Kleen    },
873ede00740SAndi Kleen    {
874ede00740SAndi Kleen        "EventCode": "0xA3",
875*032c16b2SAndi Kleen        "UMask": "0x8",
876*032c16b2SAndi Kleen        "BriefDescription": "Cycles with pending L1 cache miss loads.",
877*032c16b2SAndi Kleen        "Counter": "2",
878*032c16b2SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
879*032c16b2SAndi Kleen        "CounterMask": "8",
880*032c16b2SAndi Kleen        "PublicDescription": "Cycles with pending L1 data cache miss loads. Set Cmask=8 to count cycle.",
881*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
882*032c16b2SAndi Kleen        "CounterHTOff": "2"
883*032c16b2SAndi Kleen    },
884*032c16b2SAndi Kleen    {
885*032c16b2SAndi Kleen        "EventCode": "0xA3",
886ede00740SAndi Kleen        "UMask": "0xc",
887ede00740SAndi Kleen        "BriefDescription": "Execution stalls due to L1 data cache misses",
888ede00740SAndi Kleen        "Counter": "2",
889ede00740SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
890ede00740SAndi Kleen        "CounterMask": "12",
891ede00740SAndi Kleen        "PublicDescription": "Execution stalls due to L1 data cache miss loads. Set Cmask=0CH.",
892ede00740SAndi Kleen        "SampleAfterValue": "2000003",
893ede00740SAndi Kleen        "CounterHTOff": "2"
894ede00740SAndi Kleen    },
895ede00740SAndi Kleen    {
896ede00740SAndi Kleen        "EventCode": "0xa8",
897ede00740SAndi Kleen        "UMask": "0x1",
898ede00740SAndi Kleen        "BriefDescription": "Number of Uops delivered by the LSD.",
899ede00740SAndi Kleen        "Counter": "0,1,2,3",
900ede00740SAndi Kleen        "EventName": "LSD.UOPS",
901ede00740SAndi Kleen        "PublicDescription": "Number of uops delivered by the LSD.",
902ede00740SAndi Kleen        "SampleAfterValue": "2000003",
903ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
904ede00740SAndi Kleen    },
905ede00740SAndi Kleen    {
906*032c16b2SAndi Kleen        "EventCode": "0xA8",
907*032c16b2SAndi Kleen        "UMask": "0x1",
908*032c16b2SAndi Kleen        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
909ede00740SAndi Kleen        "Counter": "0,1,2,3",
910*032c16b2SAndi Kleen        "EventName": "LSD.CYCLES_ACTIVE",
911*032c16b2SAndi Kleen        "CounterMask": "1",
912*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
913*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
914*032c16b2SAndi Kleen    },
915*032c16b2SAndi Kleen    {
916*032c16b2SAndi Kleen        "EventCode": "0xA8",
917*032c16b2SAndi Kleen        "UMask": "0x1",
918*032c16b2SAndi Kleen        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
919*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
920*032c16b2SAndi Kleen        "EventName": "LSD.CYCLES_4_UOPS",
921*032c16b2SAndi Kleen        "CounterMask": "4",
922ede00740SAndi Kleen        "SampleAfterValue": "2000003",
923ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
924ede00740SAndi Kleen    },
925ede00740SAndi Kleen    {
926ede00740SAndi Kleen        "Invert": "1",
927ede00740SAndi Kleen        "EventCode": "0xB1",
928ede00740SAndi Kleen        "UMask": "0x1",
929ede00740SAndi Kleen        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
930ede00740SAndi Kleen        "Counter": "0,1,2,3",
931ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
932ede00740SAndi Kleen        "CounterMask": "1",
933ede00740SAndi Kleen        "Errata": "HSD144, HSD30, HSM31",
934ede00740SAndi Kleen        "SampleAfterValue": "2000003",
935ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
936ede00740SAndi Kleen    },
937ede00740SAndi Kleen    {
938ede00740SAndi Kleen        "EventCode": "0xB1",
939ede00740SAndi Kleen        "UMask": "0x1",
940ede00740SAndi Kleen        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
941ede00740SAndi Kleen        "Counter": "0,1,2,3",
942ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
943ede00740SAndi Kleen        "CounterMask": "1",
944ede00740SAndi Kleen        "Errata": "HSD144, HSD30, HSM31",
945ede00740SAndi Kleen        "PublicDescription": "This events counts the cycles where at least one uop was executed. It is counted per thread.",
946ede00740SAndi Kleen        "SampleAfterValue": "2000003",
947ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
948ede00740SAndi Kleen    },
949ede00740SAndi Kleen    {
950ede00740SAndi Kleen        "EventCode": "0xB1",
951ede00740SAndi Kleen        "UMask": "0x1",
952ede00740SAndi Kleen        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
953ede00740SAndi Kleen        "Counter": "0,1,2,3",
954ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
955ede00740SAndi Kleen        "CounterMask": "2",
956ede00740SAndi Kleen        "Errata": "HSD144, HSD30, HSM31",
957ede00740SAndi Kleen        "PublicDescription": "This events counts the cycles where at least two uop were executed. It is counted per thread.",
958ede00740SAndi Kleen        "SampleAfterValue": "2000003",
959ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
960ede00740SAndi Kleen    },
961ede00740SAndi Kleen    {
962ede00740SAndi Kleen        "EventCode": "0xB1",
963ede00740SAndi Kleen        "UMask": "0x1",
964ede00740SAndi Kleen        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
965ede00740SAndi Kleen        "Counter": "0,1,2,3",
966ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
967ede00740SAndi Kleen        "CounterMask": "3",
968ede00740SAndi Kleen        "Errata": "HSD144, HSD30, HSM31",
969ede00740SAndi Kleen        "PublicDescription": "This events counts the cycles where at least three uop were executed. It is counted per thread.",
970ede00740SAndi Kleen        "SampleAfterValue": "2000003",
971ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
972ede00740SAndi Kleen    },
973ede00740SAndi Kleen    {
974ede00740SAndi Kleen        "EventCode": "0xB1",
975ede00740SAndi Kleen        "UMask": "0x1",
976ede00740SAndi Kleen        "BriefDescription": "Cycles where at least 4 uops were executed per-thread.",
977ede00740SAndi Kleen        "Counter": "0,1,2,3",
978ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
979ede00740SAndi Kleen        "CounterMask": "4",
980ede00740SAndi Kleen        "Errata": "HSD144, HSD30, HSM31",
981ede00740SAndi Kleen        "SampleAfterValue": "2000003",
982ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3"
983ede00740SAndi Kleen    },
984ede00740SAndi Kleen    {
985*032c16b2SAndi Kleen        "EventCode": "0xB1",
986ede00740SAndi Kleen        "UMask": "0x2",
987*032c16b2SAndi Kleen        "BriefDescription": "Number of uops executed on the core.",
988ede00740SAndi Kleen        "Counter": "0,1,2,3",
989*032c16b2SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE",
990*032c16b2SAndi Kleen        "Errata": "HSD30, HSM31",
991*032c16b2SAndi Kleen        "PublicDescription": "Counts total number of uops to be executed per-core each cycle.",
992ede00740SAndi Kleen        "SampleAfterValue": "2000003",
993ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
994ede00740SAndi Kleen    },
995ede00740SAndi Kleen    {
996ede00740SAndi Kleen        "EventCode": "0xb1",
997ede00740SAndi Kleen        "UMask": "0x2",
998ede00740SAndi Kleen        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
999ede00740SAndi Kleen        "Counter": "0,1,2,3",
1000ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
1001ede00740SAndi Kleen        "CounterMask": "1",
1002ede00740SAndi Kleen        "Errata": "HSD30, HSM31",
1003ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1004ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1005ede00740SAndi Kleen    },
1006ede00740SAndi Kleen    {
1007ede00740SAndi Kleen        "EventCode": "0xb1",
1008ede00740SAndi Kleen        "UMask": "0x2",
1009ede00740SAndi Kleen        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
1010ede00740SAndi Kleen        "Counter": "0,1,2,3",
1011ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
1012ede00740SAndi Kleen        "CounterMask": "2",
1013ede00740SAndi Kleen        "Errata": "HSD30, HSM31",
1014ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1015ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1016ede00740SAndi Kleen    },
1017ede00740SAndi Kleen    {
1018ede00740SAndi Kleen        "EventCode": "0xb1",
1019ede00740SAndi Kleen        "UMask": "0x2",
1020ede00740SAndi Kleen        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
1021ede00740SAndi Kleen        "Counter": "0,1,2,3",
1022ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
1023ede00740SAndi Kleen        "CounterMask": "3",
1024ede00740SAndi Kleen        "Errata": "HSD30, HSM31",
1025ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1026ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1027ede00740SAndi Kleen    },
1028ede00740SAndi Kleen    {
1029ede00740SAndi Kleen        "EventCode": "0xb1",
1030ede00740SAndi Kleen        "UMask": "0x2",
1031ede00740SAndi Kleen        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
1032ede00740SAndi Kleen        "Counter": "0,1,2,3",
1033ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
1034ede00740SAndi Kleen        "CounterMask": "4",
1035ede00740SAndi Kleen        "Errata": "HSD30, HSM31",
1036ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1037ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1038ede00740SAndi Kleen    },
1039ede00740SAndi Kleen    {
1040ede00740SAndi Kleen        "Invert": "1",
1041ede00740SAndi Kleen        "EventCode": "0xb1",
1042ede00740SAndi Kleen        "UMask": "0x2",
1043ede00740SAndi Kleen        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
1044ede00740SAndi Kleen        "Counter": "0,1,2,3",
1045ede00740SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
1046ede00740SAndi Kleen        "Errata": "HSD30, HSM31",
1047ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1048ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1049ede00740SAndi Kleen    },
1050ede00740SAndi Kleen    {
1051*032c16b2SAndi Kleen        "EventCode": "0xC0",
1052*032c16b2SAndi Kleen        "UMask": "0x0",
1053*032c16b2SAndi Kleen        "BriefDescription": "Number of instructions retired. General Counter   - architectural event",
1054ede00740SAndi Kleen        "Counter": "0,1,2,3",
1055*032c16b2SAndi Kleen        "EventName": "INST_RETIRED.ANY_P",
1056*032c16b2SAndi Kleen        "Errata": "HSD11, HSD140",
1057*032c16b2SAndi Kleen        "PublicDescription": "Number of instructions at retirement.",
1058ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1059ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1060ede00740SAndi Kleen    },
1061ede00740SAndi Kleen    {
1062*032c16b2SAndi Kleen        "EventCode": "0xC0",
1063ede00740SAndi Kleen        "UMask": "0x1",
1064*032c16b2SAndi Kleen        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
1065*032c16b2SAndi Kleen        "PEBS": "2",
1066*032c16b2SAndi Kleen        "Counter": "1",
1067*032c16b2SAndi Kleen        "EventName": "INST_RETIRED.PREC_DIST",
1068*032c16b2SAndi Kleen        "Errata": "HSD140",
1069*032c16b2SAndi Kleen        "PublicDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution.",
1070ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1071*032c16b2SAndi Kleen        "CounterHTOff": "1"
1072ede00740SAndi Kleen    },
1073ede00740SAndi Kleen    {
1074*032c16b2SAndi Kleen        "EventCode": "0xC0",
1075ede00740SAndi Kleen        "UMask": "0x2",
1076*032c16b2SAndi Kleen        "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.",
1077ede00740SAndi Kleen        "Counter": "0,1,2,3",
1078*032c16b2SAndi Kleen        "EventName": "INST_RETIRED.X87",
1079*032c16b2SAndi Kleen        "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.",
1080ede00740SAndi Kleen        "SampleAfterValue": "2000003",
1081ede00740SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1082*032c16b2SAndi Kleen    },
1083*032c16b2SAndi Kleen    {
1084*032c16b2SAndi Kleen        "EventCode": "0xC1",
1085*032c16b2SAndi Kleen        "UMask": "0x40",
1086*032c16b2SAndi Kleen        "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
1087*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1088*032c16b2SAndi Kleen        "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
1089*032c16b2SAndi Kleen        "PublicDescription": "Number of microcode assists invoked by HW upon uop writeback.",
1090*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1091*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1092*032c16b2SAndi Kleen    },
1093*032c16b2SAndi Kleen    {
1094*032c16b2SAndi Kleen        "EventCode": "0xC2",
1095*032c16b2SAndi Kleen        "UMask": "0x1",
1096*032c16b2SAndi Kleen        "BriefDescription": "Actually retired uops.",
1097*032c16b2SAndi Kleen        "Data_LA": "1",
1098*032c16b2SAndi Kleen        "PEBS": "1",
1099*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1100*032c16b2SAndi Kleen        "EventName": "UOPS_RETIRED.ALL",
1101*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1102*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1103*032c16b2SAndi Kleen    },
1104*032c16b2SAndi Kleen    {
1105*032c16b2SAndi Kleen        "Invert": "1",
1106*032c16b2SAndi Kleen        "EventCode": "0xC2",
1107*032c16b2SAndi Kleen        "UMask": "0x1",
1108*032c16b2SAndi Kleen        "BriefDescription": "Cycles without actually retired uops.",
1109*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1110*032c16b2SAndi Kleen        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1111*032c16b2SAndi Kleen        "CounterMask": "1",
1112*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1113*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
1114*032c16b2SAndi Kleen    },
1115*032c16b2SAndi Kleen    {
1116*032c16b2SAndi Kleen        "Invert": "1",
1117*032c16b2SAndi Kleen        "EventCode": "0xC2",
1118*032c16b2SAndi Kleen        "UMask": "0x1",
1119*032c16b2SAndi Kleen        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1120*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1121*032c16b2SAndi Kleen        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
1122*032c16b2SAndi Kleen        "CounterMask": "10",
1123*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1124*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
1125*032c16b2SAndi Kleen    },
1126*032c16b2SAndi Kleen    {
1127*032c16b2SAndi Kleen        "Invert": "1",
1128*032c16b2SAndi Kleen        "EventCode": "0xC2",
1129*032c16b2SAndi Kleen        "UMask": "0x1",
1130*032c16b2SAndi Kleen        "BriefDescription": "Cycles without actually retired uops.",
1131*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1132*032c16b2SAndi Kleen        "EventName": "UOPS_RETIRED.CORE_STALL_CYCLES",
1133*032c16b2SAndi Kleen        "AnyThread": "1",
1134*032c16b2SAndi Kleen        "CounterMask": "1",
1135*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1136*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
1137*032c16b2SAndi Kleen    },
1138*032c16b2SAndi Kleen    {
1139*032c16b2SAndi Kleen        "EventCode": "0xC2",
1140*032c16b2SAndi Kleen        "UMask": "0x2",
1141*032c16b2SAndi Kleen        "BriefDescription": "Retirement slots used.",
1142*032c16b2SAndi Kleen        "PEBS": "1",
1143*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1144*032c16b2SAndi Kleen        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
1145*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1146*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1147*032c16b2SAndi Kleen    },
1148*032c16b2SAndi Kleen    {
1149*032c16b2SAndi Kleen        "EventCode": "0xC3",
1150*032c16b2SAndi Kleen        "UMask": "0x1",
1151*032c16b2SAndi Kleen        "BriefDescription": "Cycles there was a Nuke. Account for both thread-specific and All Thread Nukes.",
1152*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1153*032c16b2SAndi Kleen        "EventName": "MACHINE_CLEARS.CYCLES",
1154*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1155*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1156*032c16b2SAndi Kleen    },
1157*032c16b2SAndi Kleen    {
1158*032c16b2SAndi Kleen        "EdgeDetect": "1",
1159*032c16b2SAndi Kleen        "EventCode": "0xC3",
1160*032c16b2SAndi Kleen        "UMask": "0x1",
1161*032c16b2SAndi Kleen        "BriefDescription": "Number of machine clears (nukes) of any type.",
1162*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1163*032c16b2SAndi Kleen        "EventName": "MACHINE_CLEARS.COUNT",
1164*032c16b2SAndi Kleen        "CounterMask": "1",
1165*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1166*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1167*032c16b2SAndi Kleen    },
1168*032c16b2SAndi Kleen    {
1169*032c16b2SAndi Kleen        "EventCode": "0xC3",
1170*032c16b2SAndi Kleen        "UMask": "0x4",
1171*032c16b2SAndi Kleen        "BriefDescription": "Self-modifying code (SMC) detected.",
1172*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1173*032c16b2SAndi Kleen        "EventName": "MACHINE_CLEARS.SMC",
1174*032c16b2SAndi Kleen        "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.",
1175*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1176*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1177*032c16b2SAndi Kleen    },
1178*032c16b2SAndi Kleen    {
1179*032c16b2SAndi Kleen        "EventCode": "0xC3",
1180*032c16b2SAndi Kleen        "UMask": "0x20",
1181*032c16b2SAndi Kleen        "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.",
1182*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1183*032c16b2SAndi Kleen        "EventName": "MACHINE_CLEARS.MASKMOV",
1184*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1185*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1186*032c16b2SAndi Kleen    },
1187*032c16b2SAndi Kleen    {
1188*032c16b2SAndi Kleen        "EventCode": "0xC4",
1189*032c16b2SAndi Kleen        "UMask": "0x0",
1190*032c16b2SAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
1191*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1192*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
1193*032c16b2SAndi Kleen        "PublicDescription": "Branch instructions at retirement.",
1194*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1195*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1196*032c16b2SAndi Kleen    },
1197*032c16b2SAndi Kleen    {
1198*032c16b2SAndi Kleen        "EventCode": "0xC4",
1199*032c16b2SAndi Kleen        "UMask": "0x1",
1200*032c16b2SAndi Kleen        "BriefDescription": "Conditional branch instructions retired.",
1201*032c16b2SAndi Kleen        "PEBS": "1",
1202*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1203*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.CONDITIONAL",
1204*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1205*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1206*032c16b2SAndi Kleen    },
1207*032c16b2SAndi Kleen    {
1208*032c16b2SAndi Kleen        "EventCode": "0xC4",
1209*032c16b2SAndi Kleen        "UMask": "0x2",
1210*032c16b2SAndi Kleen        "BriefDescription": "Direct and indirect near call instructions retired.",
1211*032c16b2SAndi Kleen        "PEBS": "1",
1212*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1213*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_CALL",
1214*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1215*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1216*032c16b2SAndi Kleen    },
1217*032c16b2SAndi Kleen    {
1218*032c16b2SAndi Kleen        "EventCode": "0xC4",
1219*032c16b2SAndi Kleen        "UMask": "0x2",
1220*032c16b2SAndi Kleen        "BriefDescription": "Direct and indirect macro near call instructions retired (captured in ring 3).",
1221*032c16b2SAndi Kleen        "PEBS": "1",
1222*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1223*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_CALL_R3",
1224*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1225*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1226*032c16b2SAndi Kleen    },
1227*032c16b2SAndi Kleen    {
1228*032c16b2SAndi Kleen        "EventCode": "0xC4",
1229*032c16b2SAndi Kleen        "UMask": "0x4",
1230*032c16b2SAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
1231*032c16b2SAndi Kleen        "PEBS": "2",
1232*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1233*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
1234*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1235*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
1236*032c16b2SAndi Kleen    },
1237*032c16b2SAndi Kleen    {
1238*032c16b2SAndi Kleen        "EventCode": "0xC4",
1239*032c16b2SAndi Kleen        "UMask": "0x8",
1240*032c16b2SAndi Kleen        "BriefDescription": "Return instructions retired.",
1241*032c16b2SAndi Kleen        "PEBS": "1",
1242*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1243*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
1244*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1245*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1246*032c16b2SAndi Kleen    },
1247*032c16b2SAndi Kleen    {
1248*032c16b2SAndi Kleen        "EventCode": "0xC4",
1249*032c16b2SAndi Kleen        "UMask": "0x10",
1250*032c16b2SAndi Kleen        "BriefDescription": "Not taken branch instructions retired.",
1251*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1252*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
1253*032c16b2SAndi Kleen        "PublicDescription": "Counts the number of not taken branch instructions retired.",
1254*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1255*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1256*032c16b2SAndi Kleen    },
1257*032c16b2SAndi Kleen    {
1258*032c16b2SAndi Kleen        "EventCode": "0xC4",
1259*032c16b2SAndi Kleen        "UMask": "0x20",
1260*032c16b2SAndi Kleen        "BriefDescription": "Taken branch instructions retired.",
1261*032c16b2SAndi Kleen        "PEBS": "1",
1262*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1263*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
1264*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1265*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1266*032c16b2SAndi Kleen    },
1267*032c16b2SAndi Kleen    {
1268*032c16b2SAndi Kleen        "EventCode": "0xC4",
1269*032c16b2SAndi Kleen        "UMask": "0x40",
1270*032c16b2SAndi Kleen        "BriefDescription": "Far branch instructions retired.",
1271*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1272*032c16b2SAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
1273*032c16b2SAndi Kleen        "PublicDescription": "Number of far branches retired.",
1274*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1275*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1276*032c16b2SAndi Kleen    },
1277*032c16b2SAndi Kleen    {
1278*032c16b2SAndi Kleen        "EventCode": "0xC5",
1279*032c16b2SAndi Kleen        "UMask": "0x0",
1280*032c16b2SAndi Kleen        "BriefDescription": "All mispredicted macro branch instructions retired.",
1281*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1282*032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
1283*032c16b2SAndi Kleen        "PublicDescription": "Mispredicted branch instructions at retirement.",
1284*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1285*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1286*032c16b2SAndi Kleen    },
1287*032c16b2SAndi Kleen    {
1288*032c16b2SAndi Kleen        "EventCode": "0xC5",
1289*032c16b2SAndi Kleen        "UMask": "0x1",
1290*032c16b2SAndi Kleen        "BriefDescription": "Mispredicted conditional branch instructions retired.",
1291*032c16b2SAndi Kleen        "PEBS": "1",
1292*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1293*032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
1294*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1295*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1296*032c16b2SAndi Kleen    },
1297*032c16b2SAndi Kleen    {
1298*032c16b2SAndi Kleen        "EventCode": "0xC5",
1299*032c16b2SAndi Kleen        "UMask": "0x4",
1300*032c16b2SAndi Kleen        "BriefDescription": "Mispredicted macro branch instructions retired.",
1301*032c16b2SAndi Kleen        "PEBS": "2",
1302*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1303*032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
1304*032c16b2SAndi Kleen        "PublicDescription": "This event counts all mispredicted branch instructions retired. This is a precise event.",
1305*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1306*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3"
1307*032c16b2SAndi Kleen    },
1308*032c16b2SAndi Kleen    {
1309*032c16b2SAndi Kleen        "EventCode": "0xC5",
1310*032c16b2SAndi Kleen        "UMask": "0x20",
1311*032c16b2SAndi Kleen        "BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
1312*032c16b2SAndi Kleen        "PEBS": "1",
1313*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1314*032c16b2SAndi Kleen        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
1315*032c16b2SAndi Kleen        "SampleAfterValue": "400009",
1316*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1317*032c16b2SAndi Kleen    },
1318*032c16b2SAndi Kleen    {
1319*032c16b2SAndi Kleen        "EventCode": "0xCC",
1320*032c16b2SAndi Kleen        "UMask": "0x20",
1321*032c16b2SAndi Kleen        "BriefDescription": "Count cases of saving new LBR",
1322*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1323*032c16b2SAndi Kleen        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
1324*032c16b2SAndi Kleen        "PublicDescription": "Count cases of saving new LBR records by hardware.",
1325*032c16b2SAndi Kleen        "SampleAfterValue": "2000003",
1326*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1327*032c16b2SAndi Kleen    },
1328*032c16b2SAndi Kleen    {
1329*032c16b2SAndi Kleen        "EventCode": "0xe6",
1330*032c16b2SAndi Kleen        "UMask": "0x1f",
1331*032c16b2SAndi Kleen        "BriefDescription": "Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.",
1332*032c16b2SAndi Kleen        "Counter": "0,1,2,3",
1333*032c16b2SAndi Kleen        "EventName": "BACLEARS.ANY",
1334*032c16b2SAndi Kleen        "PublicDescription": "Number of front end re-steers due to BPU misprediction.",
1335*032c16b2SAndi Kleen        "SampleAfterValue": "100003",
1336*032c16b2SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1337ede00740SAndi Kleen    }
1338ede00740SAndi Kleen]