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