1b74d1315SAndi Kleen[
2b74d1315SAndi Kleen    {
3b74d1315SAndi 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. \nNotes: INST_RETIRED.ANY is counted by a designated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events. INST_RETIRED.ANY_P is counted by a programmable counter and it is an architectural performance event. \nCounting: Faulting executions of GETSEC/VM entry/VM Exit/MWait will not count as retired instructions.",
4b74d1315SAndi Kleen        "EventCode": "0x00",
5b74d1315SAndi Kleen        "Counter": "Fixed counter 1",
6b74d1315SAndi Kleen        "UMask": "0x1",
7b74d1315SAndi Kleen        "EventName": "INST_RETIRED.ANY",
8b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
9b74d1315SAndi Kleen        "BriefDescription": "Instructions retired from execution.",
10b74d1315SAndi Kleen        "CounterHTOff": "Fixed counter 1"
11b74d1315SAndi Kleen    },
12b74d1315SAndi Kleen    {
13b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of core cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. This event is a component in many key event ratios. The core frequency may change from time to time due to transitions associated with Enhanced Intel SpeedStep Technology or TM2. For this reason this event may have a changing ratio with regards to time. When the core frequency is constant, this event can approximate elapsed time while the core was not in the halt state. It is counted on a dedicated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events.",
14b74d1315SAndi Kleen        "EventCode": "0x00",
15b74d1315SAndi Kleen        "Counter": "Fixed counter 2",
16b74d1315SAndi Kleen        "UMask": "0x2",
17b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD",
18b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
19b74d1315SAndi Kleen        "BriefDescription": "Core cycles when the thread is not in halt state",
20b74d1315SAndi Kleen        "CounterHTOff": "Fixed counter 2"
21b74d1315SAndi Kleen    },
22b74d1315SAndi Kleen    {
23b74d1315SAndi 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. This event has a constant ratio with the CPU_CLK_UNHALTED.REF_XCLK event. It is counted on a dedicated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events. \nNote: On all current platforms this event stops counting during 'throttling (TM)' states duty off periods the processor is 'halted'.  This event is clocked by base clock (100 Mhz) on Sandy Bridge. The counter update is done at a lower clock rate then the core clock the overflow status bit for this counter may appear 'sticky'.  After the counter has overflowed and software clears the overflow status bit and resets the counter to less than MAX. The reset value to the counter is not clocked immediately so the overflow status bit will flip 'high (1)' and generate another PMI (if enabled) after which the reset value gets clocked into the counter. Therefore, software will get the interrupt, read the overflow status bit '1 for bit 34 while the counter value is less than MAX. Software should ignore this case.",
24b74d1315SAndi Kleen        "EventCode": "0x00",
25b74d1315SAndi Kleen        "Counter": "Fixed counter 3",
26b74d1315SAndi Kleen        "UMask": "0x3",
27b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
28b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
29b74d1315SAndi Kleen        "BriefDescription": "Reference cycles when the core is not in halt state.",
30b74d1315SAndi Kleen        "CounterHTOff": "Fixed counter 3"
31b74d1315SAndi Kleen    },
32b74d1315SAndi Kleen    {
33b74d1315SAndi Kleen        "PublicDescription": "This event counts how many times the load operation got the true Block-on-Store blocking code preventing store forwarding. This includes cases when:\n - preceding store conflicts with the load (incomplete overlap);\n - store forwarding is impossible due to u-arch limitations;\n - preceding lock RMW operations are not forwarded;\n - store has the no-forward bit set (uncacheable/page-split/masked stores);\n - all-blocking stores are used (mostly, fences and port I/O);\nand others.\nThe most common case is a load blocked due to its address range overlapping with a preceding smaller uncompleted store. Note: This event does not take into account cases of out-of-SW-control (for example, SbTailHit), unknown physical STA, and cases of blocking loads on store due to being non-WB memory type or a lock. These cases are covered by other events.\nSee the table of not supported store forwards in the Optimization Guide.",
34b74d1315SAndi Kleen        "EventCode": "0x03",
35b74d1315SAndi Kleen        "Counter": "0,1,2,3",
36b74d1315SAndi Kleen        "UMask": "0x2",
37b74d1315SAndi Kleen        "EventName": "LD_BLOCKS.STORE_FORWARD",
38b74d1315SAndi Kleen        "SampleAfterValue": "100003",
39b74d1315SAndi Kleen        "BriefDescription": "Cases when loads get true Block-on-Store blocking code preventing store forwarding",
40b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
41b74d1315SAndi Kleen    },
42b74d1315SAndi Kleen    {
43b74d1315SAndi Kleen        "EventCode": "0x03",
44b74d1315SAndi Kleen        "Counter": "0,1,2,3",
45b74d1315SAndi Kleen        "UMask": "0x8",
46b74d1315SAndi Kleen        "EventName": "LD_BLOCKS.NO_SR",
47b74d1315SAndi Kleen        "SampleAfterValue": "100003",
48b74d1315SAndi Kleen        "BriefDescription": "This event counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
49b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
50b74d1315SAndi Kleen    },
51b74d1315SAndi Kleen    {
52b74d1315SAndi Kleen        "PublicDescription": "This event counts false dependencies in MOB when the partial comparison upon loose net check and dependency was resolved by the Enhanced Loose net mechanism. This may not result in high performance penalties. Loose net checks can fail when loads and stores are 4k aliased.",
53b74d1315SAndi Kleen        "EventCode": "0x07",
54b74d1315SAndi Kleen        "Counter": "0,1,2,3",
55b74d1315SAndi Kleen        "UMask": "0x1",
56b74d1315SAndi Kleen        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
57b74d1315SAndi Kleen        "SampleAfterValue": "100003",
58b74d1315SAndi Kleen        "BriefDescription": "False dependencies in MOB due to partial compare",
59b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
60b74d1315SAndi Kleen    },
61b74d1315SAndi Kleen    {
62b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of cycles during which Resource Allocation Table (RAT) external stall is sent to Instruction Decode Queue (IDQ) for the current thread. This also includes the cycles during which the Allocator is serving another thread.",
63b74d1315SAndi Kleen        "EventCode": "0x0D",
64b74d1315SAndi Kleen        "Counter": "0,1,2,3",
65b74d1315SAndi Kleen        "UMask": "0x8",
66b74d1315SAndi Kleen        "EventName": "INT_MISC.RAT_STALL_CYCLES",
67b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
68b74d1315SAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) external stall is sent to Instruction Decode Queue (IDQ) for the thread",
69b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
70b74d1315SAndi Kleen    },
71b74d1315SAndi Kleen    {
72b74d1315SAndi Kleen        "PublicDescription": "Cycles checkpoints in Resource Allocation Table (RAT) are recovering from JEClear or machine clear.",
73b74d1315SAndi Kleen        "EventCode": "0x0D",
74b74d1315SAndi Kleen        "Counter": "0,1,2,3",
75b74d1315SAndi Kleen        "UMask": "0x3",
76b74d1315SAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES",
77b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
78b74d1315SAndi 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...)",
79b74d1315SAndi Kleen        "CounterMask": "1",
80b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
81b74d1315SAndi Kleen    },
82b74d1315SAndi Kleen    {
83b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of Uops issued by the Resource Allocation Table (RAT) to the reservation station (RS).",
84b74d1315SAndi Kleen        "EventCode": "0x0E",
85b74d1315SAndi Kleen        "Counter": "0,1,2,3",
86b74d1315SAndi Kleen        "UMask": "0x1",
87b74d1315SAndi Kleen        "EventName": "UOPS_ISSUED.ANY",
88b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
89b74d1315SAndi Kleen        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
90b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
91b74d1315SAndi Kleen    },
92b74d1315SAndi Kleen    {
93b74d1315SAndi Kleen        "PublicDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive\n added by GSR u-arch.",
94b74d1315SAndi Kleen        "EventCode": "0x0E",
95b74d1315SAndi Kleen        "Counter": "0,1,2,3",
96b74d1315SAndi Kleen        "UMask": "0x10",
97b74d1315SAndi Kleen        "EventName": "UOPS_ISSUED.FLAGS_MERGE",
98b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
99b74d1315SAndi Kleen        "BriefDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive; added by GSR u-arch.",
100b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
101b74d1315SAndi Kleen    },
102b74d1315SAndi Kleen    {
103b74d1315SAndi Kleen        "EventCode": "0x0E",
104b74d1315SAndi Kleen        "Counter": "0,1,2,3",
105b74d1315SAndi Kleen        "UMask": "0x20",
106b74d1315SAndi Kleen        "EventName": "UOPS_ISSUED.SLOW_LEA",
107b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
108b74d1315SAndi 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.",
109b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
110b74d1315SAndi Kleen    },
111b74d1315SAndi Kleen    {
112b74d1315SAndi Kleen        "EventCode": "0x0E",
113b74d1315SAndi Kleen        "Counter": "0,1,2,3",
114b74d1315SAndi Kleen        "UMask": "0x40",
115b74d1315SAndi Kleen        "EventName": "UOPS_ISSUED.SINGLE_MUL",
116b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
117b74d1315SAndi Kleen        "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated.",
118b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
119b74d1315SAndi Kleen    },
120b74d1315SAndi Kleen    {
121b74d1315SAndi Kleen        "PublicDescription": "This event counts cycles during which the Resource Allocation Table (RAT) does not issue any Uops to the reservation station (RS) for the current thread.",
122b74d1315SAndi Kleen        "EventCode": "0x0E",
123b74d1315SAndi Kleen        "Invert": "1",
124b74d1315SAndi Kleen        "Counter": "0,1,2,3",
125b74d1315SAndi Kleen        "UMask": "0x1",
126b74d1315SAndi Kleen        "EventName": "UOPS_ISSUED.STALL_CYCLES",
127b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
128b74d1315SAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread",
129b74d1315SAndi Kleen        "CounterMask": "1",
130b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
131b74d1315SAndi Kleen    },
132b74d1315SAndi Kleen    {
133b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of the divide operations executed. Uses edge-detect and a cmask value of 1 on ARITH.FPU_DIV_ACTIVE to get the number of the divide operations executed.",
134b74d1315SAndi Kleen        "EventCode": "0x14",
135b74d1315SAndi Kleen        "Counter": "0,1,2,3",
136b74d1315SAndi Kleen        "UMask": "0x1",
137b74d1315SAndi Kleen        "EventName": "ARITH.FPU_DIV_ACTIVE",
138b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
139b74d1315SAndi Kleen        "BriefDescription": "Cycles when divider is busy executing divide operations",
140b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
141b74d1315SAndi Kleen    },
142b74d1315SAndi Kleen    {
143b74d1315SAndi Kleen        "PublicDescription": "This is a fixed-frequency event programmed to general counters. It counts when the core is unhalted at 100 Mhz.",
144b74d1315SAndi Kleen        "EventCode": "0x3C",
145b74d1315SAndi Kleen        "Counter": "0,1,2,3",
146b74d1315SAndi Kleen        "UMask": "0x1",
147b74d1315SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
148b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
149b74d1315SAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
150b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
151b74d1315SAndi Kleen    },
152b74d1315SAndi Kleen    {
153b74d1315SAndi Kleen        "EventCode": "0x3c",
154b74d1315SAndi Kleen        "Counter": "0,1,2,3",
155b74d1315SAndi Kleen        "UMask": "0x2",
156b74d1315SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
157b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
158b74d1315SAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
159b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
160b74d1315SAndi Kleen    },
161b74d1315SAndi Kleen    {
162b74d1315SAndi Kleen        "PublicDescription": "This event counts all not software-prefetch load dispatches that hit the fill buffer (FB) allocated for the software prefetch. It can also be incremented by some lock instructions. So it should only be used with profiling so that the locks can be excluded by asm inspection of the nearby instructions.",
163b74d1315SAndi Kleen        "EventCode": "0x4c",
164b74d1315SAndi Kleen        "Counter": "0,1,2,3",
165b74d1315SAndi Kleen        "UMask": "0x1",
166b74d1315SAndi Kleen        "EventName": "LOAD_HIT_PRE.SW_PF",
167b74d1315SAndi Kleen        "SampleAfterValue": "100003",
168b74d1315SAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
169b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
170b74d1315SAndi Kleen    },
171b74d1315SAndi Kleen    {
172b74d1315SAndi Kleen        "PublicDescription": "This event counts all not software-prefetch load dispatches that hit the fill buffer (FB) allocated for the hardware prefetch.",
173b74d1315SAndi Kleen        "EventCode": "0x4C",
174b74d1315SAndi Kleen        "Counter": "0,1,2,3",
175b74d1315SAndi Kleen        "UMask": "0x2",
176b74d1315SAndi Kleen        "EventName": "LOAD_HIT_PRE.HW_PF",
177b74d1315SAndi Kleen        "SampleAfterValue": "100003",
178b74d1315SAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
179b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
180b74d1315SAndi Kleen    },
181b74d1315SAndi Kleen    {
182b74d1315SAndi Kleen        "EventCode": "0x58",
183b74d1315SAndi Kleen        "Counter": "0,1,2,3",
184b74d1315SAndi Kleen        "UMask": "0x1",
185b74d1315SAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
186b74d1315SAndi Kleen        "SampleAfterValue": "1000003",
187b74d1315SAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
188b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
189b74d1315SAndi Kleen    },
190b74d1315SAndi Kleen    {
191b74d1315SAndi Kleen        "EventCode": "0x58",
192b74d1315SAndi Kleen        "Counter": "0,1,2,3",
193b74d1315SAndi Kleen        "UMask": "0x2",
194b74d1315SAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED",
195b74d1315SAndi Kleen        "SampleAfterValue": "1000003",
196b74d1315SAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.",
197b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
198b74d1315SAndi Kleen    },
199b74d1315SAndi Kleen    {
200b74d1315SAndi Kleen        "EventCode": "0x58",
201b74d1315SAndi Kleen        "Counter": "0,1,2,3",
202b74d1315SAndi Kleen        "UMask": "0x4",
203b74d1315SAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
204b74d1315SAndi Kleen        "SampleAfterValue": "1000003",
205b74d1315SAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
206b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
207b74d1315SAndi Kleen    },
208b74d1315SAndi Kleen    {
209b74d1315SAndi Kleen        "EventCode": "0x58",
210b74d1315SAndi Kleen        "Counter": "0,1,2,3",
211b74d1315SAndi Kleen        "UMask": "0x8",
212b74d1315SAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED",
213b74d1315SAndi Kleen        "SampleAfterValue": "1000003",
214b74d1315SAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.",
215b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
216b74d1315SAndi Kleen    },
217b74d1315SAndi Kleen    {
218b74d1315SAndi Kleen        "PublicDescription": "This event counts cycles during which the reservation station (RS) is empty for the thread.\nNote: In ST-mode, not active thread should drive 0. This is usually caused by severely costly branch mispredictions, or allocator/FE issues.",
219b74d1315SAndi Kleen        "EventCode": "0x5E",
220b74d1315SAndi Kleen        "Counter": "0,1,2,3",
221b74d1315SAndi Kleen        "UMask": "0x1",
222b74d1315SAndi Kleen        "EventName": "RS_EVENTS.EMPTY_CYCLES",
223b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
224b74d1315SAndi Kleen        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
225b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
226b74d1315SAndi Kleen    },
227b74d1315SAndi Kleen    {
228b74d1315SAndi Kleen        "PublicDescription": "This event counts stalls occured due to changing prefix length (66, 67 or REX.W when they change the length of the decoded instruction). Occurrences counting is proportional to the number of prefixes in a 16B-line. This may result in the following penalties: three-cycle penalty for each LCP in a 16-byte chunk.",
229b74d1315SAndi Kleen        "EventCode": "0x87",
230b74d1315SAndi Kleen        "Counter": "0,1,2,3",
231b74d1315SAndi Kleen        "UMask": "0x1",
232b74d1315SAndi Kleen        "EventName": "ILD_STALL.LCP",
233b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
234b74d1315SAndi Kleen        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
235b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
236b74d1315SAndi Kleen    },
237b74d1315SAndi Kleen    {
238b74d1315SAndi Kleen        "PublicDescription": "This event counts not taken macro-conditional branch instructions.",
239b74d1315SAndi Kleen        "EventCode": "0x88",
240b74d1315SAndi Kleen        "Counter": "0,1,2,3",
241b74d1315SAndi Kleen        "UMask": "0x41",
242b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
243b74d1315SAndi Kleen        "SampleAfterValue": "200003",
244b74d1315SAndi Kleen        "BriefDescription": "Not taken macro-conditional branches",
245b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
246b74d1315SAndi Kleen    },
247b74d1315SAndi Kleen    {
248b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions.",
249b74d1315SAndi Kleen        "EventCode": "0x88",
250b74d1315SAndi Kleen        "Counter": "0,1,2,3",
251b74d1315SAndi Kleen        "UMask": "0x81",
252b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
253b74d1315SAndi Kleen        "SampleAfterValue": "200003",
254b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branches",
255b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
256b74d1315SAndi Kleen    },
257b74d1315SAndi Kleen    {
258b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions excluding calls and indirect branches.",
259b74d1315SAndi Kleen        "EventCode": "0x88",
260b74d1315SAndi Kleen        "Counter": "0,1,2,3",
261b74d1315SAndi Kleen        "UMask": "0x82",
262b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
263b74d1315SAndi Kleen        "SampleAfterValue": "200003",
264b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects",
265b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
266b74d1315SAndi Kleen    },
267b74d1315SAndi Kleen    {
268b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect branches excluding calls and return branches.",
269b74d1315SAndi Kleen        "EventCode": "0x88",
270b74d1315SAndi Kleen        "Counter": "0,1,2,3",
271b74d1315SAndi Kleen        "UMask": "0x84",
272b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
273b74d1315SAndi Kleen        "SampleAfterValue": "200003",
274b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns",
275b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
276b74d1315SAndi Kleen    },
277b74d1315SAndi Kleen    {
278b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect branches that have a return mnemonic.",
279b74d1315SAndi Kleen        "EventCode": "0x88",
280b74d1315SAndi Kleen        "Counter": "0,1,2,3",
281b74d1315SAndi Kleen        "UMask": "0x88",
282b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
283b74d1315SAndi Kleen        "SampleAfterValue": "200003",
284b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic",
285b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
286b74d1315SAndi Kleen    },
287b74d1315SAndi Kleen    {
288b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired direct near calls.",
289b74d1315SAndi Kleen        "EventCode": "0x88",
290b74d1315SAndi Kleen        "Counter": "0,1,2,3",
291b74d1315SAndi Kleen        "UMask": "0x90",
292b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
293b74d1315SAndi Kleen        "SampleAfterValue": "200003",
294b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired direct near calls",
295b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
296b74d1315SAndi Kleen    },
297b74d1315SAndi Kleen    {
298b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect calls including both register and memory indirect.",
299b74d1315SAndi Kleen        "EventCode": "0x88",
300b74d1315SAndi Kleen        "Counter": "0,1,2,3",
301b74d1315SAndi Kleen        "UMask": "0xa0",
302b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
303b74d1315SAndi Kleen        "SampleAfterValue": "200003",
304b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired indirect calls",
305b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
306b74d1315SAndi Kleen    },
307b74d1315SAndi Kleen    {
308b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-conditional branch instructions.",
309b74d1315SAndi Kleen        "EventCode": "0x88",
310b74d1315SAndi Kleen        "Counter": "0,1,2,3",
311b74d1315SAndi Kleen        "UMask": "0xc1",
312b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
313b74d1315SAndi Kleen        "SampleAfterValue": "200003",
314b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired macro-conditional branches",
315b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
316b74d1315SAndi Kleen    },
317b74d1315SAndi Kleen    {
318b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-unconditional branch instructions, excluding calls and indirects.",
319b74d1315SAndi Kleen        "EventCode": "0x88",
320b74d1315SAndi Kleen        "Counter": "0,1,2,3",
321b74d1315SAndi Kleen        "UMask": "0xc2",
322b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
323b74d1315SAndi Kleen        "SampleAfterValue": "200003",
324b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects",
325b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
326b74d1315SAndi Kleen    },
327b74d1315SAndi Kleen    {
328b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches excluding calls and return branches.",
329b74d1315SAndi Kleen        "EventCode": "0x88",
330b74d1315SAndi Kleen        "Counter": "0,1,2,3",
331b74d1315SAndi Kleen        "UMask": "0xc4",
332b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
333b74d1315SAndi Kleen        "SampleAfterValue": "200003",
334b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired indirect branches excluding calls and returns",
335b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
336b74d1315SAndi Kleen    },
337b74d1315SAndi Kleen    {
338b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches that have a return mnemonic.",
339b74d1315SAndi Kleen        "EventCode": "0x88",
340b74d1315SAndi Kleen        "Counter": "0,1,2,3",
341b74d1315SAndi Kleen        "UMask": "0xc8",
342b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
343b74d1315SAndi Kleen        "SampleAfterValue": "200003",
344b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired indirect return branches.",
345b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
346b74d1315SAndi Kleen    },
347b74d1315SAndi Kleen    {
348b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired direct near calls.",
349b74d1315SAndi Kleen        "EventCode": "0x88",
350b74d1315SAndi Kleen        "Counter": "0,1,2,3",
351b74d1315SAndi Kleen        "UMask": "0xd0",
352b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
353b74d1315SAndi Kleen        "SampleAfterValue": "200003",
354b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired direct near calls",
355b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
356b74d1315SAndi Kleen    },
357b74d1315SAndi Kleen    {
358b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired branch instructions.",
359b74d1315SAndi Kleen        "EventCode": "0x88",
360b74d1315SAndi Kleen        "Counter": "0,1,2,3",
361b74d1315SAndi Kleen        "UMask": "0xff",
362b74d1315SAndi Kleen        "EventName": "BR_INST_EXEC.ALL_BRANCHES",
363b74d1315SAndi Kleen        "SampleAfterValue": "200003",
364b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired  branches",
365b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
366b74d1315SAndi Kleen    },
367b74d1315SAndi Kleen    {
368b74d1315SAndi Kleen        "PublicDescription": "This event counts not taken speculative and retired mispredicted macro conditional branch instructions.",
369b74d1315SAndi Kleen        "EventCode": "0x89",
370b74d1315SAndi Kleen        "Counter": "0,1,2,3",
371b74d1315SAndi Kleen        "UMask": "0x41",
372b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
373b74d1315SAndi Kleen        "SampleAfterValue": "200003",
374b74d1315SAndi Kleen        "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches",
375b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
376b74d1315SAndi Kleen    },
377b74d1315SAndi Kleen    {
378b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted macro conditional branch instructions.",
379b74d1315SAndi Kleen        "EventCode": "0x89",
380b74d1315SAndi Kleen        "Counter": "0,1,2,3",
381b74d1315SAndi Kleen        "UMask": "0x81",
382b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
383b74d1315SAndi Kleen        "SampleAfterValue": "200003",
384b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches",
385b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
386b74d1315SAndi Kleen    },
387b74d1315SAndi Kleen    {
388b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches excluding calls and returns.",
389b74d1315SAndi Kleen        "EventCode": "0x89",
390b74d1315SAndi Kleen        "Counter": "0,1,2,3",
391b74d1315SAndi Kleen        "UMask": "0x84",
392b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
393b74d1315SAndi Kleen        "SampleAfterValue": "200003",
394b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns",
395b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
396b74d1315SAndi Kleen    },
397b74d1315SAndi Kleen    {
398b74d1315SAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches that have a return mnemonic.",
399b74d1315SAndi Kleen        "EventCode": "0x89",
400b74d1315SAndi Kleen        "Counter": "0,1,2,3",
401b74d1315SAndi Kleen        "UMask": "0x88",
402b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
403b74d1315SAndi Kleen        "SampleAfterValue": "200003",
404b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic",
405b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
406b74d1315SAndi Kleen    },
407b74d1315SAndi Kleen    {
408b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted macro conditional branch instructions.",
409b74d1315SAndi Kleen        "EventCode": "0x89",
410b74d1315SAndi Kleen        "Counter": "0,1,2,3",
411b74d1315SAndi Kleen        "UMask": "0xc1",
412b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
413b74d1315SAndi Kleen        "SampleAfterValue": "200003",
414b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
415b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
416b74d1315SAndi Kleen    },
417b74d1315SAndi Kleen    {
418b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken mispredicted indirect branches excluding calls and returns.",
419b74d1315SAndi Kleen        "EventCode": "0x89",
420b74d1315SAndi Kleen        "Counter": "0,1,2,3",
421b74d1315SAndi Kleen        "UMask": "0xc4",
422b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
423b74d1315SAndi Kleen        "SampleAfterValue": "200003",
424b74d1315SAndi Kleen        "BriefDescription": "Mispredicted indirect branches excluding calls and returns",
425b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
426b74d1315SAndi Kleen    },
427b74d1315SAndi Kleen    {
428b74d1315SAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted branch instructions.",
429b74d1315SAndi Kleen        "EventCode": "0x89",
430b74d1315SAndi Kleen        "Counter": "0,1,2,3",
431b74d1315SAndi Kleen        "UMask": "0xff",
432b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_BRANCHES",
433b74d1315SAndi Kleen        "SampleAfterValue": "200003",
434b74d1315SAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
435b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
436b74d1315SAndi Kleen    },
437b74d1315SAndi Kleen    {
438b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
439b74d1315SAndi Kleen        "EventCode": "0xA1",
440b74d1315SAndi Kleen        "Counter": "0,1,2,3",
441b74d1315SAndi Kleen        "UMask": "0x1",
442b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
443b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
444b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0",
445b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
446b74d1315SAndi Kleen    },
447b74d1315SAndi Kleen    {
448b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
449b74d1315SAndi Kleen        "EventCode": "0xA1",
450b74d1315SAndi Kleen        "Counter": "0,1,2,3",
451b74d1315SAndi Kleen        "UMask": "0x2",
452b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
453b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
454b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1",
455b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
456b74d1315SAndi Kleen    },
457b74d1315SAndi Kleen    {
458b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
459b74d1315SAndi Kleen        "EventCode": "0xA1",
460b74d1315SAndi Kleen        "Counter": "0,1,2,3",
461b74d1315SAndi Kleen        "UMask": "0x4",
462b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
463b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
464b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2",
465b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
466b74d1315SAndi Kleen    },
467b74d1315SAndi Kleen    {
468b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
469b74d1315SAndi Kleen        "EventCode": "0xA1",
470b74d1315SAndi Kleen        "Counter": "0,1,2,3",
471b74d1315SAndi Kleen        "UMask": "0x8",
472b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
473b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
474b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3",
475b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
476b74d1315SAndi Kleen    },
477b74d1315SAndi Kleen    {
478b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
479b74d1315SAndi Kleen        "EventCode": "0xA1",
480b74d1315SAndi Kleen        "Counter": "0,1,2,3",
481b74d1315SAndi Kleen        "UMask": "0x10",
482b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
483b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
484b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4",
485b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
486b74d1315SAndi Kleen    },
487b74d1315SAndi Kleen    {
488b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
489b74d1315SAndi Kleen        "EventCode": "0xA1",
490b74d1315SAndi Kleen        "Counter": "0,1,2,3",
491b74d1315SAndi Kleen        "UMask": "0x20",
492b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
493b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
494b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5",
495b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
496b74d1315SAndi Kleen    },
497b74d1315SAndi Kleen    {
498b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
499b74d1315SAndi Kleen        "EventCode": "0xA1",
500b74d1315SAndi Kleen        "Counter": "0,1,2,3",
501b74d1315SAndi Kleen        "UMask": "0x40",
502b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
503b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
504b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6",
505b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
506b74d1315SAndi Kleen    },
507b74d1315SAndi Kleen    {
508b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
509b74d1315SAndi Kleen        "EventCode": "0xA1",
510b74d1315SAndi Kleen        "Counter": "0,1,2,3",
511b74d1315SAndi Kleen        "UMask": "0x80",
512b74d1315SAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
513b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
514b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7",
515b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
516b74d1315SAndi Kleen    },
517b74d1315SAndi Kleen    {
518b74d1315SAndi Kleen        "PublicDescription": "This event counts resource-related stall cycles. Reasons for stalls can be as follows:\n - *any* u-arch structure got full (LB, SB, RS, ROB, BOB, LM, Physical Register Reclaim Table (PRRT), or Physical History Table (PHT) slots)\n - *any* u-arch structure got empty (like INT/SIMD FreeLists)\n - FPU control word (FPCW), MXCSR\nand others. This counts cycles that the pipeline backend blocked uop delivery from the front end.",
519b74d1315SAndi Kleen        "EventCode": "0xA2",
520b74d1315SAndi Kleen        "Counter": "0,1,2,3",
521b74d1315SAndi Kleen        "UMask": "0x1",
522b74d1315SAndi Kleen        "EventName": "RESOURCE_STALLS.ANY",
523b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
524b74d1315SAndi Kleen        "BriefDescription": "Resource-related stall cycles",
525b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
526b74d1315SAndi Kleen    },
527b74d1315SAndi Kleen    {
528b74d1315SAndi Kleen        "PublicDescription": "This event counts stall cycles caused by absence of eligible entries in the reservation station (RS). This may result from RS overflow, or from RS deallocation because of the RS array Write Port allocation scheme (each RS entry has two write ports instead of four. As a result, empty entries could not be used, although RS is not really full). This counts cycles that the pipeline backend blocked uop delivery from the front end.",
529b74d1315SAndi Kleen        "EventCode": "0xA2",
530b74d1315SAndi Kleen        "Counter": "0,1,2,3",
531b74d1315SAndi Kleen        "UMask": "0x4",
532b74d1315SAndi Kleen        "EventName": "RESOURCE_STALLS.RS",
533b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
534b74d1315SAndi Kleen        "BriefDescription": "Cycles stalled due to no eligible RS entry available.",
535b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
536b74d1315SAndi Kleen    },
537b74d1315SAndi Kleen    {
538b74d1315SAndi Kleen        "PublicDescription": "This event counts stall cycles caused by the store buffer (SB) overflow (excluding draining from synch). This counts cycles that the pipeline backend blocked uop delivery from the front end.",
539b74d1315SAndi Kleen        "EventCode": "0xA2",
540b74d1315SAndi Kleen        "Counter": "0,1,2,3",
541b74d1315SAndi Kleen        "UMask": "0x8",
542b74d1315SAndi Kleen        "EventName": "RESOURCE_STALLS.SB",
543b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
544b74d1315SAndi Kleen        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
545b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
546b74d1315SAndi Kleen    },
547b74d1315SAndi Kleen    {
548b74d1315SAndi Kleen        "PublicDescription": "This event counts ROB full stall cycles. This counts cycles that the pipeline backend blocked uop delivery from the front end.",
549b74d1315SAndi Kleen        "EventCode": "0xA2",
550b74d1315SAndi Kleen        "Counter": "0,1,2,3",
551b74d1315SAndi Kleen        "UMask": "0x10",
552b74d1315SAndi Kleen        "EventName": "RESOURCE_STALLS.ROB",
553b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
554b74d1315SAndi Kleen        "BriefDescription": "Cycles stalled due to re-order buffer full.",
555b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
556b74d1315SAndi Kleen    },
557b74d1315SAndi Kleen    {
558b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand* load request missing the L2 cache.",
559b74d1315SAndi Kleen        "EventCode": "0xA3",
560b74d1315SAndi Kleen        "Counter": "0,1,2,3",
561b74d1315SAndi Kleen        "UMask": "0x1",
562b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
563b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
564b74d1315SAndi Kleen        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
565b74d1315SAndi Kleen        "CounterMask": "1",
566b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
567b74d1315SAndi Kleen    },
568b74d1315SAndi Kleen    {
569b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand load request missing the L1 data cache.",
570b74d1315SAndi Kleen        "EventCode": "0xA3",
571b74d1315SAndi Kleen        "Counter": "2",
572b74d1315SAndi Kleen        "UMask": "0x8",
573b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
574b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
575b74d1315SAndi Kleen        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
576b74d1315SAndi Kleen        "CounterMask": "8",
577b74d1315SAndi Kleen        "CounterHTOff": "2"
578b74d1315SAndi Kleen    },
579b74d1315SAndi Kleen    {
580b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand load request (that is cycles with non-completed load waiting for its data from memory subsystem).",
581b74d1315SAndi Kleen        "EventCode": "0xA3",
582b74d1315SAndi Kleen        "Counter": "0,1,2,3",
583b74d1315SAndi Kleen        "UMask": "0x2",
584b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
585b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
586b74d1315SAndi Kleen        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
587b74d1315SAndi Kleen        "CounterMask": "2",
588b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
589b74d1315SAndi Kleen    },
590b74d1315SAndi Kleen    {
591b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port.",
592b74d1315SAndi Kleen        "EventCode": "0xA3",
593b74d1315SAndi Kleen        "Counter": "0,1,2,3",
594b74d1315SAndi Kleen        "UMask": "0x4",
595b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
596b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
597b74d1315SAndi Kleen        "BriefDescription": "Total execution stalls",
598b74d1315SAndi Kleen        "CounterMask": "4",
599b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
600b74d1315SAndi Kleen    },
601b74d1315SAndi Kleen    {
602b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand* load request missing the L2 cache.(as a footprint) * includes also L1 HW prefetch requests that may or may not be required by demands.",
603b74d1315SAndi Kleen        "EventCode": "0xA3",
604b74d1315SAndi Kleen        "Counter": "0,1,2,3",
605b74d1315SAndi Kleen        "UMask": "0x5",
606b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
607b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
608b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
609b74d1315SAndi Kleen        "CounterMask": "5",
610b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
611b74d1315SAndi Kleen    },
612b74d1315SAndi Kleen    {
613b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand load request.",
614b74d1315SAndi Kleen        "EventCode": "0xA3",
615b74d1315SAndi Kleen        "Counter": "0,1,2,3",
616b74d1315SAndi Kleen        "UMask": "0x6",
617b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
618b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
619b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
620b74d1315SAndi Kleen        "CounterMask": "6",
621b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
622b74d1315SAndi Kleen    },
623b74d1315SAndi Kleen    {
624b74d1315SAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand load request missing the L1 data cache.",
625b74d1315SAndi Kleen        "EventCode": "0xA3",
626b74d1315SAndi Kleen        "Counter": "2",
627b74d1315SAndi Kleen        "UMask": "0xc",
628b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
629b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
630b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
631b74d1315SAndi Kleen        "CounterMask": "12",
632b74d1315SAndi Kleen        "CounterHTOff": "2"
633b74d1315SAndi Kleen    },
634b74d1315SAndi Kleen    {
635b74d1315SAndi Kleen        "PublicDescription": "Number of Uops delivered by the LSD. ",
636b74d1315SAndi Kleen        "EventCode": "0xA8",
637b74d1315SAndi Kleen        "Counter": "0,1,2,3",
638b74d1315SAndi Kleen        "UMask": "0x1",
639b74d1315SAndi Kleen        "EventName": "LSD.UOPS",
640b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
641b74d1315SAndi Kleen        "BriefDescription": "Number of Uops delivered by the LSD.",
642b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
643b74d1315SAndi Kleen    },
644b74d1315SAndi Kleen    {
645b74d1315SAndi Kleen        "PublicDescription": "Number of uops to be executed per-thread each cycle.",
646b74d1315SAndi Kleen        "EventCode": "0xB1",
647b74d1315SAndi Kleen        "Counter": "0,1,2,3",
648b74d1315SAndi Kleen        "UMask": "0x1",
649b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.THREAD",
650b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
651b74d1315SAndi Kleen        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
652b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
653b74d1315SAndi Kleen    },
654b74d1315SAndi Kleen    {
655b74d1315SAndi Kleen        "PublicDescription": "Number of uops executed from any thread.",
656b74d1315SAndi Kleen        "EventCode": "0xB1",
657b74d1315SAndi Kleen        "Counter": "0,1,2,3",
658b74d1315SAndi Kleen        "UMask": "0x2",
659b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE",
660b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
661b74d1315SAndi Kleen        "BriefDescription": "Number of uops executed on the core.",
662b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
663b74d1315SAndi Kleen    },
664b74d1315SAndi Kleen    {
665b74d1315SAndi Kleen        "PublicDescription": "This event counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
666b74d1315SAndi Kleen        "EventCode": "0xB1",
667b74d1315SAndi Kleen        "Invert": "1",
668b74d1315SAndi Kleen        "Counter": "0,1,2,3",
669b74d1315SAndi Kleen        "UMask": "0x1",
670b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
671b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
672b74d1315SAndi Kleen        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
673b74d1315SAndi Kleen        "CounterMask": "1",
674b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
675b74d1315SAndi Kleen    },
676b74d1315SAndi Kleen    {
677b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of instructions (EOMs) retired. Counting covers macro-fused instructions individually (that is, increments by two).",
678b74d1315SAndi Kleen        "EventCode": "0xC0",
679b74d1315SAndi Kleen        "Counter": "0,1,2,3",
680b74d1315SAndi Kleen        "UMask": "0x0",
681b74d1315SAndi Kleen        "Errata": "BDM61",
682b74d1315SAndi Kleen        "EventName": "INST_RETIRED.ANY_P",
683b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
684b74d1315SAndi Kleen        "BriefDescription": "Number of instructions retired. General Counter   - architectural event",
685b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
686b74d1315SAndi Kleen    },
687b74d1315SAndi Kleen    {
688b74d1315SAndi 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.",
689b74d1315SAndi Kleen        "EventCode": "0xC0",
690b74d1315SAndi Kleen        "Counter": "0,1,2,3",
691b74d1315SAndi Kleen        "UMask": "0x2",
692b74d1315SAndi Kleen        "EventName": "INST_RETIRED.X87",
693b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
694b74d1315SAndi Kleen        "BriefDescription": "FP operations  retired. X87 FP operations that have no exceptions:",
695b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
696b74d1315SAndi Kleen    },
697b74d1315SAndi Kleen    {
698b74d1315SAndi Kleen        "PEBS": "2",
699b74d1315SAndi Kleen        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts instructions retired.",
700b74d1315SAndi Kleen        "EventCode": "0xC0",
701b74d1315SAndi Kleen        "Counter": "1",
702b74d1315SAndi Kleen        "UMask": "0x1",
703b74d1315SAndi Kleen        "Errata": "BDM11, BDM55",
704b74d1315SAndi Kleen        "EventName": "INST_RETIRED.PREC_DIST",
705b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
706b74d1315SAndi Kleen        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
707b74d1315SAndi Kleen        "CounterHTOff": "1"
708b74d1315SAndi Kleen    },
709b74d1315SAndi Kleen    {
710b74d1315SAndi Kleen        "EventCode": "0xC1",
711b74d1315SAndi Kleen        "Counter": "0,1,2,3",
712b74d1315SAndi Kleen        "UMask": "0x40",
713b74d1315SAndi Kleen        "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
714b74d1315SAndi Kleen        "SampleAfterValue": "100003",
715b74d1315SAndi Kleen        "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
716b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
717b74d1315SAndi Kleen    },
718b74d1315SAndi Kleen    {
719b74d1315SAndi Kleen        "PEBS": "1",
720b74d1315SAndi Kleen        "PublicDescription": "This event counts all actually retired uops. Counting increments by two for micro-fused uops, and by one for macro-fused and other uops. Maximal increment value for one cycle is eight.",
721b74d1315SAndi Kleen        "EventCode": "0xC2",
722b74d1315SAndi Kleen        "Counter": "0,1,2,3",
723b74d1315SAndi Kleen        "UMask": "0x1",
724b74d1315SAndi Kleen        "EventName": "UOPS_RETIRED.ALL",
725b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
726b74d1315SAndi Kleen        "BriefDescription": "Actually retired uops.",
727b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7",
728b74d1315SAndi Kleen        "Data_LA": "1"
729b74d1315SAndi Kleen    },
730b74d1315SAndi Kleen    {
731b74d1315SAndi Kleen        "PEBS": "1",
732b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts the number of retirement slots used.",
733b74d1315SAndi Kleen        "EventCode": "0xC2",
734b74d1315SAndi Kleen        "Counter": "0,1,2,3",
735b74d1315SAndi Kleen        "UMask": "0x2",
736b74d1315SAndi Kleen        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
737b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
738b74d1315SAndi Kleen        "BriefDescription": "Retirement slots used.",
739b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
740b74d1315SAndi Kleen    },
741b74d1315SAndi Kleen    {
742b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts cycles without actually retired uops.",
743b74d1315SAndi Kleen        "EventCode": "0xC2",
744b74d1315SAndi Kleen        "Invert": "1",
745b74d1315SAndi Kleen        "Counter": "0,1,2,3",
746b74d1315SAndi Kleen        "UMask": "0x1",
747b74d1315SAndi Kleen        "EventName": "UOPS_RETIRED.STALL_CYCLES",
748b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
749b74d1315SAndi Kleen        "BriefDescription": "Cycles without actually retired uops.",
750b74d1315SAndi Kleen        "CounterMask": "1",
751b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
752b74d1315SAndi Kleen    },
753b74d1315SAndi Kleen    {
754b74d1315SAndi Kleen        "PublicDescription": "Number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
755b74d1315SAndi Kleen        "EventCode": "0xC2",
756b74d1315SAndi Kleen        "Invert": "1",
757b74d1315SAndi Kleen        "Counter": "0,1,2,3",
758b74d1315SAndi Kleen        "UMask": "0x1",
759b74d1315SAndi Kleen        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
760b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
761b74d1315SAndi Kleen        "BriefDescription": "Cycles with less than 10 actually retired uops.",
762b74d1315SAndi Kleen        "CounterMask": "10",
763b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
764b74d1315SAndi Kleen    },
765b74d1315SAndi Kleen    {
766b74d1315SAndi Kleen        "PublicDescription": "This event counts both thread-specific (TS) and all-thread (AT) nukes.",
767b74d1315SAndi Kleen        "EventCode": "0xC3",
768b74d1315SAndi Kleen        "Counter": "0,1,2,3",
769b74d1315SAndi Kleen        "UMask": "0x1",
770b74d1315SAndi Kleen        "EventName": "MACHINE_CLEARS.CYCLES",
771b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
772b74d1315SAndi Kleen        "BriefDescription": "Cycles there was a Nuke. Account for both thread-specific and All Thread Nukes.",
773b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
774b74d1315SAndi Kleen    },
775b74d1315SAndi Kleen    {
776b74d1315SAndi Kleen        "PublicDescription": "This event counts self-modifying code (SMC) detected, which causes a machine clear.",
777b74d1315SAndi Kleen        "EventCode": "0xC3",
778b74d1315SAndi Kleen        "Counter": "0,1,2,3",
779b74d1315SAndi Kleen        "UMask": "0x4",
780b74d1315SAndi Kleen        "EventName": "MACHINE_CLEARS.SMC",
781b74d1315SAndi Kleen        "SampleAfterValue": "100003",
782b74d1315SAndi Kleen        "BriefDescription": "Self-modifying code (SMC) detected.",
783b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
784b74d1315SAndi Kleen    },
785b74d1315SAndi Kleen    {
786b74d1315SAndi Kleen        "PublicDescription": "Maskmov false fault - counts number of time ucode passes through Maskmov flow due to instruction's mask being 0 while the flow was completed without raising a fault.",
787b74d1315SAndi Kleen        "EventCode": "0xC3",
788b74d1315SAndi Kleen        "Counter": "0,1,2,3",
789b74d1315SAndi Kleen        "UMask": "0x20",
790b74d1315SAndi Kleen        "EventName": "MACHINE_CLEARS.MASKMOV",
791b74d1315SAndi Kleen        "SampleAfterValue": "100003",
792b74d1315SAndi 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.",
793b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
794b74d1315SAndi Kleen    },
795b74d1315SAndi Kleen    {
796b74d1315SAndi Kleen        "PEBS": "1",
797b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts conditional branch instructions retired.",
798b74d1315SAndi Kleen        "EventCode": "0xC4",
799b74d1315SAndi Kleen        "Counter": "0,1,2,3",
800b74d1315SAndi Kleen        "UMask": "0x1",
801b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.CONDITIONAL",
802b74d1315SAndi Kleen        "SampleAfterValue": "400009",
803b74d1315SAndi Kleen        "BriefDescription": "Conditional branch instructions retired.",
804b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
805b74d1315SAndi Kleen    },
806b74d1315SAndi Kleen    {
807b74d1315SAndi Kleen        "PEBS": "1",
808b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts both direct and indirect near call instructions retired.",
809b74d1315SAndi Kleen        "EventCode": "0xC4",
810b74d1315SAndi Kleen        "Counter": "0,1,2,3",
811b74d1315SAndi Kleen        "UMask": "0x2",
812b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_CALL",
813b74d1315SAndi Kleen        "SampleAfterValue": "100007",
814b74d1315SAndi Kleen        "BriefDescription": "Direct and indirect near call instructions retired.",
815b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
816b74d1315SAndi Kleen    },
817b74d1315SAndi Kleen    {
818b74d1315SAndi Kleen        "PublicDescription": "This event counts all (macro) branch instructions retired.",
819b74d1315SAndi Kleen        "EventCode": "0xC4",
820b74d1315SAndi Kleen        "Counter": "0,1,2,3",
821b74d1315SAndi Kleen        "UMask": "0x0",
822b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
823b74d1315SAndi Kleen        "SampleAfterValue": "400009",
824b74d1315SAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
825b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
826b74d1315SAndi Kleen    },
827b74d1315SAndi Kleen    {
828b74d1315SAndi Kleen        "PEBS": "1",
829b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts return instructions retired.",
830b74d1315SAndi Kleen        "EventCode": "0xC4",
831b74d1315SAndi Kleen        "Counter": "0,1,2,3",
832b74d1315SAndi Kleen        "UMask": "0x8",
833b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
834b74d1315SAndi Kleen        "SampleAfterValue": "100007",
835b74d1315SAndi Kleen        "BriefDescription": "Return instructions retired.",
836b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
837b74d1315SAndi Kleen    },
838b74d1315SAndi Kleen    {
839b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts not taken branch instructions retired.",
840b74d1315SAndi Kleen        "EventCode": "0xC4",
841b74d1315SAndi Kleen        "Counter": "0,1,2,3",
842b74d1315SAndi Kleen        "UMask": "0x10",
843b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
844b74d1315SAndi Kleen        "SampleAfterValue": "400009",
845b74d1315SAndi Kleen        "BriefDescription": "Not taken branch instructions retired.",
846b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
847b74d1315SAndi Kleen    },
848b74d1315SAndi Kleen    {
849b74d1315SAndi Kleen        "PEBS": "1",
850b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts taken branch instructions retired.",
851b74d1315SAndi Kleen        "EventCode": "0xC4",
852b74d1315SAndi Kleen        "Counter": "0,1,2,3",
853b74d1315SAndi Kleen        "UMask": "0x20",
854b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
855b74d1315SAndi Kleen        "SampleAfterValue": "400009",
856b74d1315SAndi Kleen        "BriefDescription": "Taken branch instructions retired.",
857b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
858b74d1315SAndi Kleen    },
859b74d1315SAndi Kleen    {
860b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts far branch instructions retired.",
861b74d1315SAndi Kleen        "EventCode": "0xC4",
862b74d1315SAndi Kleen        "Counter": "0,1,2,3",
863b74d1315SAndi Kleen        "UMask": "0x40",
864b74d1315SAndi Kleen        "Errata": "BDW98",
865b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
866b74d1315SAndi Kleen        "SampleAfterValue": "100007",
867b74d1315SAndi Kleen        "BriefDescription": "Far branch instructions retired.",
868b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
869b74d1315SAndi Kleen    },
870b74d1315SAndi Kleen    {
871b74d1315SAndi Kleen        "PEBS": "2",
872b74d1315SAndi Kleen        "PublicDescription": "This is a precise version of BR_INST_RETIRED.ALL_BRANCHES that counts all (macro) branch instructions retired.",
873b74d1315SAndi Kleen        "EventCode": "0xC4",
874b74d1315SAndi Kleen        "Counter": "0,1,2,3",
875b74d1315SAndi Kleen        "UMask": "0x4",
876b74d1315SAndi Kleen        "Errata": "BDW98",
877b74d1315SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
878b74d1315SAndi Kleen        "SampleAfterValue": "400009",
879b74d1315SAndi Kleen        "BriefDescription": "All (macro) branch instructions retired. (Precise Event - PEBS)",
880b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
881b74d1315SAndi Kleen    },
882b74d1315SAndi Kleen    {
883b74d1315SAndi Kleen        "PEBS": "1",
884b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted conditional branch instructions retired.",
885b74d1315SAndi Kleen        "EventCode": "0xC5",
886b74d1315SAndi Kleen        "Counter": "0,1,2,3",
887b74d1315SAndi Kleen        "UMask": "0x1",
888b74d1315SAndi Kleen        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
889b74d1315SAndi Kleen        "SampleAfterValue": "400009",
890b74d1315SAndi Kleen        "BriefDescription": "Mispredicted conditional branch instructions retired.",
891b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
892b74d1315SAndi Kleen    },
893b74d1315SAndi Kleen    {
894b74d1315SAndi Kleen        "PublicDescription": "This event counts all mispredicted macro branch instructions retired.",
895b74d1315SAndi Kleen        "EventCode": "0xC5",
896b74d1315SAndi Kleen        "Counter": "0,1,2,3",
897b74d1315SAndi Kleen        "UMask": "0x0",
898b74d1315SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
899b74d1315SAndi Kleen        "SampleAfterValue": "400009",
900b74d1315SAndi Kleen        "BriefDescription": "All mispredicted macro branch instructions retired.",
901b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
902b74d1315SAndi Kleen    },
903b74d1315SAndi Kleen    {
904b74d1315SAndi Kleen        "PEBS": "1",
905b74d1315SAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
906b74d1315SAndi Kleen        "EventCode": "0xC5",
907b74d1315SAndi Kleen        "Counter": "0,1,2,3",
908b74d1315SAndi Kleen        "UMask": "0x8",
909b74d1315SAndi Kleen        "EventName": "BR_MISP_RETIRED.RET",
910b74d1315SAndi Kleen        "SampleAfterValue": "100007",
911b74d1315SAndi Kleen        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
912b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
913b74d1315SAndi Kleen    },
914b74d1315SAndi Kleen    {
915b74d1315SAndi Kleen        "PEBS": "2",
916b74d1315SAndi Kleen        "PublicDescription": "This is a precise version of BR_MISP_RETIRED.ALL_BRANCHES that counts all mispredicted macro branch instructions retired.",
917b74d1315SAndi Kleen        "EventCode": "0xC5",
918b74d1315SAndi Kleen        "Counter": "0,1,2,3",
919b74d1315SAndi Kleen        "UMask": "0x4",
920b74d1315SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
921b74d1315SAndi Kleen        "SampleAfterValue": "400009",
922b74d1315SAndi Kleen        "BriefDescription": "Mispredicted macro branch instructions retired. (Precise Event - PEBS)",
923b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
924b74d1315SAndi Kleen    },
925b74d1315SAndi Kleen    {
926b74d1315SAndi Kleen        "PublicDescription": "This event counts cases of saving new LBR records by hardware. This assumes proper enabling of LBRs and takes into account LBR filtering done by the LBR_SELECT register.",
927b74d1315SAndi Kleen        "EventCode": "0xCC",
928b74d1315SAndi Kleen        "Counter": "0,1,2,3",
929b74d1315SAndi Kleen        "UMask": "0x20",
930b74d1315SAndi Kleen        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
931b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
932b74d1315SAndi Kleen        "BriefDescription": "Count cases of saving new LBR",
933b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
934b74d1315SAndi Kleen    },
935b74d1315SAndi Kleen    {
936b74d1315SAndi Kleen        "PublicDescription": "This is an architectural event that 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. For this reason, this event may have a changing ratio with regards to wall clock time.",
937b74d1315SAndi Kleen        "EventCode": "0x3C",
938b74d1315SAndi Kleen        "Counter": "0,1,2,3",
939b74d1315SAndi Kleen        "UMask": "0x0",
940b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
941b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
942b74d1315SAndi Kleen        "BriefDescription": "Thread cycles when thread is not in halt state",
943b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
944b74d1315SAndi Kleen    },
945b74d1315SAndi Kleen    {
946b74d1315SAndi Kleen        "EventCode": "0x89",
947b74d1315SAndi Kleen        "Counter": "0,1,2,3",
948b74d1315SAndi Kleen        "UMask": "0xa0",
949b74d1315SAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
950b74d1315SAndi Kleen        "SampleAfterValue": "200003",
951b74d1315SAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect calls.",
952b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
953b74d1315SAndi Kleen    },
954b74d1315SAndi Kleen    {
955b74d1315SAndi Kleen        "EventCode": "0xA1",
956b74d1315SAndi Kleen        "Counter": "0,1,2,3",
957b74d1315SAndi Kleen        "UMask": "0x1",
958b74d1315SAndi Kleen        "AnyThread": "1",
959b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0_CORE",
960b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
961b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 0.",
962b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
963b74d1315SAndi Kleen    },
964b74d1315SAndi Kleen    {
965b74d1315SAndi Kleen        "EventCode": "0xA1",
966b74d1315SAndi Kleen        "Counter": "0,1,2,3",
967b74d1315SAndi Kleen        "UMask": "0x2",
968b74d1315SAndi Kleen        "AnyThread": "1",
969b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1_CORE",
970b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
971b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 1.",
972b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
973b74d1315SAndi Kleen    },
974b74d1315SAndi Kleen    {
975b74d1315SAndi Kleen        "EventCode": "0xA1",
976b74d1315SAndi Kleen        "Counter": "0,1,2,3",
977b74d1315SAndi Kleen        "UMask": "0x4",
978b74d1315SAndi Kleen        "AnyThread": "1",
979b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2_CORE",
980b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
981b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 2.",
982b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
983b74d1315SAndi Kleen    },
984b74d1315SAndi Kleen    {
985b74d1315SAndi Kleen        "EventCode": "0xA1",
986b74d1315SAndi Kleen        "Counter": "0,1,2,3",
987b74d1315SAndi Kleen        "UMask": "0x8",
988b74d1315SAndi Kleen        "AnyThread": "1",
989b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3_CORE",
990b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
991b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 3.",
992b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
993b74d1315SAndi Kleen    },
994b74d1315SAndi Kleen    {
995b74d1315SAndi Kleen        "EventCode": "0xA1",
996b74d1315SAndi Kleen        "Counter": "0,1,2,3",
997b74d1315SAndi Kleen        "UMask": "0x10",
998b74d1315SAndi Kleen        "AnyThread": "1",
999b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4_CORE",
1000b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1001b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 4.",
1002b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1003b74d1315SAndi Kleen    },
1004b74d1315SAndi Kleen    {
1005b74d1315SAndi Kleen        "EventCode": "0xA1",
1006b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1007b74d1315SAndi Kleen        "UMask": "0x20",
1008b74d1315SAndi Kleen        "AnyThread": "1",
1009b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5_CORE",
1010b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1011b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 5.",
1012b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1013b74d1315SAndi Kleen    },
1014b74d1315SAndi Kleen    {
1015b74d1315SAndi Kleen        "EventCode": "0xA1",
1016b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1017b74d1315SAndi Kleen        "UMask": "0x40",
1018b74d1315SAndi Kleen        "AnyThread": "1",
1019b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6_CORE",
1020b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1021b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 6.",
1022b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1023b74d1315SAndi Kleen    },
1024b74d1315SAndi Kleen    {
1025b74d1315SAndi Kleen        "EventCode": "0xA1",
1026b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1027b74d1315SAndi Kleen        "UMask": "0x80",
1028b74d1315SAndi Kleen        "AnyThread": "1",
1029b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7_CORE",
1030b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1031b74d1315SAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 7.",
1032b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1033b74d1315SAndi Kleen    },
1034b74d1315SAndi Kleen    {
1035b74d1315SAndi Kleen        "PEBS": "1",
1036b74d1315SAndi Kleen        "PublicDescription": "Number of near branch instructions retired that were mispredicted and taken.",
1037b74d1315SAndi Kleen        "EventCode": "0xC5",
1038b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1039b74d1315SAndi Kleen        "UMask": "0x20",
1040b74d1315SAndi Kleen        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
1041b74d1315SAndi Kleen        "SampleAfterValue": "400009",
1042b74d1315SAndi Kleen        "BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
1043b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1044b74d1315SAndi Kleen    },
1045b74d1315SAndi Kleen    {
1046b74d1315SAndi Kleen        "EventCode": "0xB1",
1047b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1048b74d1315SAndi Kleen        "UMask": "0x1",
1049b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
1050b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1051b74d1315SAndi Kleen        "BriefDescription": "Cycles where at least 1 uop was executed per-thread.",
1052b74d1315SAndi Kleen        "CounterMask": "1",
1053b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1054b74d1315SAndi Kleen    },
1055b74d1315SAndi Kleen    {
1056b74d1315SAndi Kleen        "EventCode": "0xB1",
1057b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1058b74d1315SAndi Kleen        "UMask": "0x1",
1059b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
1060b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1061b74d1315SAndi Kleen        "BriefDescription": "Cycles where at least 2 uops were executed per-thread.",
1062b74d1315SAndi Kleen        "CounterMask": "2",
1063b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1064b74d1315SAndi Kleen    },
1065b74d1315SAndi Kleen    {
1066b74d1315SAndi Kleen        "EventCode": "0xB1",
1067b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1068b74d1315SAndi Kleen        "UMask": "0x1",
1069b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
1070b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1071b74d1315SAndi Kleen        "BriefDescription": "Cycles where at least 3 uops were executed per-thread.",
1072b74d1315SAndi Kleen        "CounterMask": "3",
1073b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1074b74d1315SAndi Kleen    },
1075b74d1315SAndi Kleen    {
1076b74d1315SAndi Kleen        "EventCode": "0xB1",
1077b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1078b74d1315SAndi Kleen        "UMask": "0x1",
1079b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
1080b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1081b74d1315SAndi Kleen        "BriefDescription": "Cycles where at least 4 uops were executed per-thread.",
1082b74d1315SAndi Kleen        "CounterMask": "4",
1083b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1084b74d1315SAndi Kleen    },
1085b74d1315SAndi Kleen    {
1086b74d1315SAndi Kleen        "EventCode": "0xe6",
1087b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1088b74d1315SAndi Kleen        "UMask": "0x1f",
1089b74d1315SAndi Kleen        "EventName": "BACLEARS.ANY",
1090b74d1315SAndi Kleen        "SampleAfterValue": "100003",
1091b74d1315SAndi 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.",
1092b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1093b74d1315SAndi Kleen    },
1094b74d1315SAndi Kleen    {
1095b74d1315SAndi Kleen        "EventCode": "0xA3",
1096b74d1315SAndi Kleen        "Counter": "2",
1097b74d1315SAndi Kleen        "UMask": "0x8",
1098b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
1099b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1100b74d1315SAndi Kleen        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
1101b74d1315SAndi Kleen        "CounterMask": "8",
1102b74d1315SAndi Kleen        "CounterHTOff": "2"
1103b74d1315SAndi Kleen    },
1104b74d1315SAndi Kleen    {
1105b74d1315SAndi Kleen        "EventCode": "0xA3",
1106b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1107b74d1315SAndi Kleen        "UMask": "0x1",
1108b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
1109b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1110b74d1315SAndi Kleen        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
1111b74d1315SAndi Kleen        "CounterMask": "1",
1112b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1113b74d1315SAndi Kleen    },
1114b74d1315SAndi Kleen    {
1115b74d1315SAndi Kleen        "EventCode": "0xA3",
1116b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1117b74d1315SAndi Kleen        "UMask": "0x2",
1118b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
1119b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1120b74d1315SAndi Kleen        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
1121b74d1315SAndi Kleen        "CounterMask": "2",
1122b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1123b74d1315SAndi Kleen    },
1124b74d1315SAndi Kleen    {
1125b74d1315SAndi Kleen        "EventCode": "0xA3",
1126b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1127b74d1315SAndi Kleen        "UMask": "0x4",
1128b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
1129b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1130b74d1315SAndi Kleen        "BriefDescription": "Total execution stalls.",
1131b74d1315SAndi Kleen        "CounterMask": "4",
1132b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1133b74d1315SAndi Kleen    },
1134b74d1315SAndi Kleen    {
1135b74d1315SAndi Kleen        "EventCode": "0xA3",
1136b74d1315SAndi Kleen        "Counter": "2",
1137b74d1315SAndi Kleen        "UMask": "0xc",
1138b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
1139b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1140b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
1141b74d1315SAndi Kleen        "CounterMask": "12",
1142b74d1315SAndi Kleen        "CounterHTOff": "2"
1143b74d1315SAndi Kleen    },
1144b74d1315SAndi Kleen    {
1145b74d1315SAndi Kleen        "EventCode": "0xA3",
1146b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1147b74d1315SAndi Kleen        "UMask": "0x5",
1148b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
1149b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1150b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
1151b74d1315SAndi Kleen        "CounterMask": "5",
1152b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1153b74d1315SAndi Kleen    },
1154b74d1315SAndi Kleen    {
1155b74d1315SAndi Kleen        "EventCode": "0xA3",
1156b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1157b74d1315SAndi Kleen        "UMask": "0x6",
1158b74d1315SAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
1159b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1160b74d1315SAndi Kleen        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
1161b74d1315SAndi Kleen        "CounterMask": "6",
1162b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1163b74d1315SAndi Kleen    },
1164b74d1315SAndi Kleen    {
1165b74d1315SAndi Kleen        "EventCode": "0xC3",
1166b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1167b74d1315SAndi Kleen        "UMask": "0x1",
1168b74d1315SAndi Kleen        "EdgeDetect": "1",
1169b74d1315SAndi Kleen        "EventName": "MACHINE_CLEARS.COUNT",
1170b74d1315SAndi Kleen        "SampleAfterValue": "100003",
1171b74d1315SAndi Kleen        "BriefDescription": "Number of machine clears (nukes) of any type.",
1172b74d1315SAndi Kleen        "CounterMask": "1",
1173b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1174b74d1315SAndi Kleen    },
1175b74d1315SAndi Kleen    {
1176b74d1315SAndi Kleen        "EventCode": "0xA8",
1177b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1178b74d1315SAndi Kleen        "UMask": "0x1",
1179b74d1315SAndi Kleen        "EventName": "LSD.CYCLES_4_UOPS",
1180b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1181b74d1315SAndi Kleen        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
1182b74d1315SAndi Kleen        "CounterMask": "4",
1183b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1184b74d1315SAndi Kleen    },
1185b74d1315SAndi Kleen    {
1186b74d1315SAndi Kleen        "EventCode": "0x5E",
1187b74d1315SAndi Kleen        "Invert": "1",
1188b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1189b74d1315SAndi Kleen        "UMask": "0x1",
1190b74d1315SAndi Kleen        "EdgeDetect": "1",
1191b74d1315SAndi Kleen        "EventName": "RS_EVENTS.EMPTY_END",
1192b74d1315SAndi Kleen        "SampleAfterValue": "200003",
1193b74d1315SAndi Kleen        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
1194b74d1315SAndi Kleen        "CounterMask": "1",
1195b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1196b74d1315SAndi Kleen    },
1197b74d1315SAndi Kleen    {
1198b74d1315SAndi Kleen        "EventCode": "0xA8",
1199b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1200b74d1315SAndi Kleen        "UMask": "0x1",
1201b74d1315SAndi Kleen        "EventName": "LSD.CYCLES_ACTIVE",
1202b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1203b74d1315SAndi Kleen        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
1204b74d1315SAndi Kleen        "CounterMask": "1",
1205b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1206b74d1315SAndi Kleen    },
1207b74d1315SAndi Kleen    {
1208b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
1209b74d1315SAndi Kleen        "EventCode": "0xA1",
1210b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1211b74d1315SAndi Kleen        "UMask": "0x1",
1212b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0",
1213b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1214b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0",
1215b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1216b74d1315SAndi Kleen    },
1217b74d1315SAndi Kleen    {
1218b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
1219b74d1315SAndi Kleen        "EventCode": "0xA1",
1220b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1221b74d1315SAndi Kleen        "UMask": "0x2",
1222b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1",
1223b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1224b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1",
1225b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1226b74d1315SAndi Kleen    },
1227b74d1315SAndi Kleen    {
1228b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
1229b74d1315SAndi Kleen        "EventCode": "0xA1",
1230b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1231b74d1315SAndi Kleen        "UMask": "0x4",
1232b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2",
1233b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1234b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2",
1235b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1236b74d1315SAndi Kleen    },
1237b74d1315SAndi Kleen    {
1238b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
1239b74d1315SAndi Kleen        "EventCode": "0xA1",
1240b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1241b74d1315SAndi Kleen        "UMask": "0x8",
1242b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3",
1243b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1244b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3",
1245b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1246b74d1315SAndi Kleen    },
1247b74d1315SAndi Kleen    {
1248b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
1249b74d1315SAndi Kleen        "EventCode": "0xA1",
1250b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1251b74d1315SAndi Kleen        "UMask": "0x10",
1252b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4",
1253b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1254b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4",
1255b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1256b74d1315SAndi Kleen    },
1257b74d1315SAndi Kleen    {
1258b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
1259b74d1315SAndi Kleen        "EventCode": "0xA1",
1260b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1261b74d1315SAndi Kleen        "UMask": "0x20",
1262b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5",
1263b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1264b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5",
1265b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1266b74d1315SAndi Kleen    },
1267b74d1315SAndi Kleen    {
1268b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
1269b74d1315SAndi Kleen        "EventCode": "0xA1",
1270b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1271b74d1315SAndi Kleen        "UMask": "0x40",
1272b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6",
1273b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1274b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6",
1275b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1276b74d1315SAndi Kleen    },
1277b74d1315SAndi Kleen    {
1278b74d1315SAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
1279b74d1315SAndi Kleen        "EventCode": "0xA1",
1280b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1281b74d1315SAndi Kleen        "UMask": "0x80",
1282b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7",
1283b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1284b74d1315SAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7",
1285b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1286b74d1315SAndi Kleen    },
1287b74d1315SAndi Kleen    {
1288b74d1315SAndi Kleen        "PublicDescription": "This event counts the number of micro-operations cancelled after they were dispatched from the scheduler to the execution units when the total number of physical register read ports across all dispatch ports exceeds the read bandwidth of the physical register file.  The SIMD_PRF subevent applies to the following instructions: VDPPS, DPPS, VPCMPESTRI, PCMPESTRI, VPCMPESTRM, PCMPESTRM, VFMADD*, VFMADDSUB*, VFMSUB*, VMSUBADD*, VFNMADD*, VFNMSUB*.  See the Broadwell Optimization Guide for more information.",
1289b74d1315SAndi Kleen        "EventCode": "0xA0",
1290b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1291b74d1315SAndi Kleen        "UMask": "0x3",
1292b74d1315SAndi Kleen        "EventName": "UOP_DISPATCHES_CANCELLED.SIMD_PRF",
1293b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1294b74d1315SAndi Kleen        "BriefDescription": "Micro-op dispatches cancelled due to insufficient SIMD physical register file read ports",
1295b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3"
1296b74d1315SAndi Kleen    },
1297b74d1315SAndi Kleen    {
1298b74d1315SAndi Kleen        "EventCode": "0x00",
1299b74d1315SAndi Kleen        "Counter": "Fixed counter 2",
1300b74d1315SAndi Kleen        "UMask": "0x2",
1301b74d1315SAndi Kleen        "AnyThread": "1",
1302b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
1303b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1304b74d1315SAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
1305b74d1315SAndi Kleen        "CounterHTOff": "Fixed counter 2"
1306b74d1315SAndi Kleen    },
1307b74d1315SAndi Kleen    {
1308b74d1315SAndi Kleen        "EventCode": "0x3C",
1309b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1310b74d1315SAndi Kleen        "UMask": "0x0",
1311b74d1315SAndi Kleen        "AnyThread": "1",
1312b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
1313b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1314b74d1315SAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
1315b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1316b74d1315SAndi Kleen    },
1317b74d1315SAndi Kleen    {
1318b74d1315SAndi Kleen        "EventCode": "0x3C",
1319b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1320b74d1315SAndi Kleen        "UMask": "0x1",
1321b74d1315SAndi Kleen        "AnyThread": "1",
1322b74d1315SAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
1323b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1324b74d1315SAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
1325b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1326b74d1315SAndi Kleen    },
1327b74d1315SAndi Kleen    {
1328b74d1315SAndi Kleen        "EventCode": "0x0D",
1329b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1330b74d1315SAndi Kleen        "UMask": "0x3",
1331b74d1315SAndi Kleen        "AnyThread": "1",
1332b74d1315SAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
1333b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1334b74d1315SAndi 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).",
1335b74d1315SAndi Kleen        "CounterMask": "1",
1336b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1337b74d1315SAndi Kleen    },
1338b74d1315SAndi Kleen    {
1339b74d1315SAndi Kleen        "EventCode": "0xb1",
1340b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1341b74d1315SAndi Kleen        "UMask": "0x2",
1342b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
1343b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1344b74d1315SAndi Kleen        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
1345b74d1315SAndi Kleen        "CounterMask": "1",
1346b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1347b74d1315SAndi Kleen    },
1348b74d1315SAndi Kleen    {
1349b74d1315SAndi Kleen        "EventCode": "0xb1",
1350b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1351b74d1315SAndi Kleen        "UMask": "0x2",
1352b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
1353b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1354b74d1315SAndi Kleen        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
1355b74d1315SAndi Kleen        "CounterMask": "2",
1356b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1357b74d1315SAndi Kleen    },
1358b74d1315SAndi Kleen    {
1359b74d1315SAndi Kleen        "EventCode": "0xb1",
1360b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1361b74d1315SAndi Kleen        "UMask": "0x2",
1362b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
1363b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1364b74d1315SAndi Kleen        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
1365b74d1315SAndi Kleen        "CounterMask": "3",
1366b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1367b74d1315SAndi Kleen    },
1368b74d1315SAndi Kleen    {
1369b74d1315SAndi Kleen        "EventCode": "0xb1",
1370b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1371b74d1315SAndi Kleen        "UMask": "0x2",
1372b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
1373b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1374b74d1315SAndi Kleen        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
1375b74d1315SAndi Kleen        "CounterMask": "4",
1376b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1377b74d1315SAndi Kleen    },
1378b74d1315SAndi Kleen    {
1379b74d1315SAndi Kleen        "EventCode": "0xb1",
1380b74d1315SAndi Kleen        "Invert": "1",
1381b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1382b74d1315SAndi Kleen        "UMask": "0x2",
1383b74d1315SAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
1384b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1385b74d1315SAndi Kleen        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
1386b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1387b74d1315SAndi Kleen    },
1388b74d1315SAndi Kleen    {
1389b74d1315SAndi Kleen        "PublicDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate).",
1390b74d1315SAndi Kleen        "EventCode": "0x3C",
1391b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1392b74d1315SAndi Kleen        "UMask": "0x1",
1393b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
1394b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1395b74d1315SAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
1396b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1397b74d1315SAndi Kleen    },
1398b74d1315SAndi Kleen    {
1399b74d1315SAndi Kleen        "EventCode": "0x3C",
1400b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1401b74d1315SAndi Kleen        "UMask": "0x1",
1402b74d1315SAndi Kleen        "AnyThread": "1",
1403b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
1404b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1405b74d1315SAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
1406b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1407b74d1315SAndi Kleen    },
1408b74d1315SAndi Kleen    {
1409b74d1315SAndi Kleen        "EventCode": "0x3C",
1410b74d1315SAndi Kleen        "Counter": "0,1,2,3",
1411b74d1315SAndi Kleen        "UMask": "0x2",
1412b74d1315SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
1413b74d1315SAndi Kleen        "SampleAfterValue": "2000003",
1414b74d1315SAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
1415b74d1315SAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
1416b74d1315SAndi Kleen    }
1417b74d1315SAndi Kleen]