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