1b115df07SHaiyan Song[
2b115df07SHaiyan Song    {
3b115df07SHaiyan Song        "CollectPEBSRecord": "2",
4b115df07SHaiyan Song        "PublicDescription": "Counts the number of X86 instructions retired - an Architectural PerfMon event. Counting continues during hardware interrupts, traps, and inside interrupt handlers. Notes: INST_RETIRED.ANY is counted by a designated fixed counter freeing up programmable counters to count other events. INST_RETIRED.ANY_P is counted by a programmable counter.",
5b115df07SHaiyan Song        "Counter": "32",
6b115df07SHaiyan Song        "UMask": "0x1",
7b115df07SHaiyan Song        "PEBScounters": "32",
8b115df07SHaiyan Song        "EventName": "INST_RETIRED.ANY",
9b115df07SHaiyan Song        "SampleAfterValue": "2000003",
10b115df07SHaiyan Song        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event"
11b115df07SHaiyan Song    },
12b115df07SHaiyan Song    {
13b115df07SHaiyan Song        "PEBS": "2",
14b115df07SHaiyan Song        "CollectPEBSRecord": "3",
15b115df07SHaiyan Song        "PublicDescription": "A version of INST_RETIRED that allows for a more unbiased distribution of samples across instructions retired. It utilizes the Precise Distribution of Instructions Retired (PDIR) feature to mitigate some bias in how retired instructions get sampled. Use on Fixed Counter 0.",
16b115df07SHaiyan Song        "Counter": "32",
17b115df07SHaiyan Song        "UMask": "0x1",
18b115df07SHaiyan Song        "PEBScounters": "32",
19b115df07SHaiyan Song        "EventName": "INST_RETIRED.PREC_DIST",
20b115df07SHaiyan Song        "SampleAfterValue": "2000003",
21b115df07SHaiyan Song        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution"
22b115df07SHaiyan Song    },
23b115df07SHaiyan Song    {
24b115df07SHaiyan Song        "CollectPEBSRecord": "2",
25b115df07SHaiyan Song        "PublicDescription": "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.",
26b115df07SHaiyan Song        "Counter": "33",
27b115df07SHaiyan Song        "UMask": "0x2",
28b115df07SHaiyan Song        "PEBScounters": "33",
29b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.THREAD",
30b115df07SHaiyan Song        "SampleAfterValue": "2000003",
31b115df07SHaiyan Song        "BriefDescription": "Core cycles when the thread is not in halt state"
32b115df07SHaiyan Song    },
33b115df07SHaiyan Song    {
34b115df07SHaiyan Song        "CollectPEBSRecord": "2",
35b115df07SHaiyan Song        "PublicDescription": "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. Note: On all current platforms this event stops counting during 'throttling (TM)' states duty off periods the processor is 'halted'.  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.",
36b115df07SHaiyan Song        "Counter": "34",
37b115df07SHaiyan Song        "UMask": "0x3",
38b115df07SHaiyan Song        "PEBScounters": "34",
39b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
40b115df07SHaiyan Song        "SampleAfterValue": "2000003",
41b115df07SHaiyan Song        "BriefDescription": "Reference cycles when the core is not in halt state."
42b115df07SHaiyan Song    },
43b115df07SHaiyan Song    {
44b115df07SHaiyan Song        "CollectPEBSRecord": "2",
45b115df07SHaiyan Song        "PublicDescription": "Counts the number of times the load operation got the true Block-on-Store blocking code preventing store forwarding. This includes cases when: a. preceding store conflicts with the load (incomplete overlap),b. store forwarding is impossible due to u-arch limitations, c. preceding lock RMW operations are not forwarded, d. store has the no-forward bit set (uncacheable/page-split/masked stores), e. all-blocking stores are used (mostly, fences and port I/O), and others. The 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. See the table of not supported store forwards in the Optimization Guide.",
46b115df07SHaiyan Song        "EventCode": "0x03",
47b115df07SHaiyan Song        "Counter": "0,1,2,3",
48b115df07SHaiyan Song        "UMask": "0x2",
49b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
50b115df07SHaiyan Song        "EventName": "LD_BLOCKS.STORE_FORWARD",
51b115df07SHaiyan Song        "SampleAfterValue": "100003",
52b115df07SHaiyan Song        "BriefDescription": "Loads blocked by overlapping with store buffer that cannot be forwarded."
53b115df07SHaiyan Song    },
54b115df07SHaiyan Song    {
55b115df07SHaiyan Song        "CollectPEBSRecord": "2",
56b115df07SHaiyan Song        "PublicDescription": "Counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
57b115df07SHaiyan Song        "EventCode": "0x03",
58b115df07SHaiyan Song        "Counter": "0,1,2,3",
59b115df07SHaiyan Song        "UMask": "0x8",
60b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
61b115df07SHaiyan Song        "EventName": "LD_BLOCKS.NO_SR",
62b115df07SHaiyan Song        "SampleAfterValue": "100003",
63b115df07SHaiyan Song        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use."
64b115df07SHaiyan Song    },
65b115df07SHaiyan Song    {
66b115df07SHaiyan Song        "CollectPEBSRecord": "2",
67b115df07SHaiyan Song        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies in MOB due to partial compare on address.",
68b115df07SHaiyan Song        "EventCode": "0x07",
69b115df07SHaiyan Song        "Counter": "0,1,2,3",
70b115df07SHaiyan Song        "UMask": "0x1",
71b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
72b115df07SHaiyan Song        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
73b115df07SHaiyan Song        "SampleAfterValue": "100003",
74b115df07SHaiyan Song        "BriefDescription": "False dependencies in MOB due to partial compare on address."
75b115df07SHaiyan Song    },
76b115df07SHaiyan Song    {
77b115df07SHaiyan Song        "CollectPEBSRecord": "2",
78b115df07SHaiyan Song        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
79b115df07SHaiyan Song        "EventCode": "0x0D",
80b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
81b115df07SHaiyan Song        "UMask": "0x1",
82b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
83b115df07SHaiyan Song        "EventName": "INT_MISC.RECOVERY_CYCLES",
84b115df07SHaiyan Song        "SampleAfterValue": "2000003",
85b115df07SHaiyan Song        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread"
86b115df07SHaiyan Song    },
87b115df07SHaiyan Song    {
88b115df07SHaiyan Song        "CollectPEBSRecord": "2",
89b115df07SHaiyan Song        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
90b115df07SHaiyan Song        "EventCode": "0x0D",
91b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
92b115df07SHaiyan Song        "UMask": "0x3",
93b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
94b115df07SHaiyan Song        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
95b115df07SHaiyan Song        "SampleAfterValue": "2000003",
96b115df07SHaiyan Song        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
97b115df07SHaiyan Song        "CounterMask": "1"
98b115df07SHaiyan Song    },
99b115df07SHaiyan Song    {
100b115df07SHaiyan Song        "CollectPEBSRecord": "2",
101b115df07SHaiyan Song        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
102b115df07SHaiyan Song        "EventCode": "0x0d",
103b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
104b115df07SHaiyan Song        "UMask": "0x80",
105b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
106b115df07SHaiyan Song        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
107b115df07SHaiyan Song        "SampleAfterValue": "2000003",
108b115df07SHaiyan Song        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path."
109b115df07SHaiyan Song    },
110b115df07SHaiyan Song    {
111b115df07SHaiyan Song        "CollectPEBSRecord": "2",
112b115df07SHaiyan Song        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
113b115df07SHaiyan Song        "EventCode": "0x0E",
114b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
115b115df07SHaiyan Song        "UMask": "0x1",
116b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
117b115df07SHaiyan Song        "EventName": "UOPS_ISSUED.ANY",
118b115df07SHaiyan Song        "SampleAfterValue": "2000003",
119b115df07SHaiyan Song        "BriefDescription": "Uops that RAT issues to RS"
120b115df07SHaiyan Song    },
121b115df07SHaiyan Song    {
122b115df07SHaiyan Song        "CollectPEBSRecord": "2",
123b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which the Resource Allocation Table (RAT) does not issue any Uops to the reservation station (RS) for the current thread.",
124b115df07SHaiyan Song        "EventCode": "0x0E",
125b115df07SHaiyan Song        "Invert": "1",
126b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
127b115df07SHaiyan Song        "UMask": "0x1",
128b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
129b115df07SHaiyan Song        "EventName": "UOPS_ISSUED.STALL_CYCLES",
130b115df07SHaiyan Song        "SampleAfterValue": "2000003",
131b115df07SHaiyan Song        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
132b115df07SHaiyan Song        "CounterMask": "1"
133b115df07SHaiyan Song    },
134b115df07SHaiyan Song    {
135b115df07SHaiyan Song        "CollectPEBSRecord": "2",
136b115df07SHaiyan Song        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
137b115df07SHaiyan Song        "EventCode": "0x14",
138b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
139b115df07SHaiyan Song        "UMask": "0x9",
140b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
141b115df07SHaiyan Song        "EventName": "ARITH.DIVIDER_ACTIVE",
142b115df07SHaiyan Song        "SampleAfterValue": "2000003",
143b115df07SHaiyan Song        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations.",
144b115df07SHaiyan Song        "CounterMask": "1"
145b115df07SHaiyan Song    },
146b115df07SHaiyan Song    {
147b115df07SHaiyan Song        "CollectPEBSRecord": "2",
148b115df07SHaiyan Song        "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.",
149b115df07SHaiyan Song        "EventCode": "0x3C",
150b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
151b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
152b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
153b115df07SHaiyan Song        "SampleAfterValue": "2000003",
154b115df07SHaiyan Song        "BriefDescription": "Thread cycles when thread is not in halt state"
155b115df07SHaiyan Song    },
156b115df07SHaiyan Song    {
157b115df07SHaiyan Song        "CollectPEBSRecord": "2",
158b115df07SHaiyan Song        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
159b115df07SHaiyan Song        "EventCode": "0x3C",
160b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
161b115df07SHaiyan Song        "UMask": "0x1",
162b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
163b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
164b115df07SHaiyan Song        "SampleAfterValue": "25003",
165b115df07SHaiyan Song        "BriefDescription": "Core crystal clock cycles when the thread is unhalted."
166b115df07SHaiyan Song    },
167b115df07SHaiyan Song    {
168b115df07SHaiyan Song        "CollectPEBSRecord": "2",
169b115df07SHaiyan Song        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
170b115df07SHaiyan Song        "EventCode": "0x3C",
171b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
172b115df07SHaiyan Song        "UMask": "0x2",
173b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
174b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
175b115df07SHaiyan Song        "SampleAfterValue": "25003",
176b115df07SHaiyan Song        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted."
177b115df07SHaiyan Song    },
178b115df07SHaiyan Song    {
179b115df07SHaiyan Song        "CollectPEBSRecord": "2",
180b115df07SHaiyan Song        "PublicDescription": "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 (Assembly File) inspection of the nearby instructions.",
181b115df07SHaiyan Song        "EventCode": "0x4c",
182b115df07SHaiyan Song        "Counter": "0,1,2,3",
183b115df07SHaiyan Song        "UMask": "0x1",
184b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
185b115df07SHaiyan Song        "EventName": "LOAD_HIT_PREFETCH.SWPF",
186b115df07SHaiyan Song        "SampleAfterValue": "100003",
187b115df07SHaiyan Song        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch."
188b115df07SHaiyan Song    },
189b115df07SHaiyan Song    {
190b115df07SHaiyan Song        "CollectPEBSRecord": "2",
191b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which the reservation station (RS) is empty for this logical processor. This is usually caused when the front-end pipeline runs into stravation periods (e.g. branch mispredictions or i-cache misses)",
192b115df07SHaiyan Song        "EventCode": "0x5E",
193b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
194b115df07SHaiyan Song        "UMask": "0x1",
195b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
196b115df07SHaiyan Song        "EventName": "RS_EVENTS.EMPTY_CYCLES",
197b115df07SHaiyan Song        "SampleAfterValue": "2000003",
198b115df07SHaiyan Song        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread"
199b115df07SHaiyan Song    },
200b115df07SHaiyan Song    {
201b115df07SHaiyan Song        "CollectPEBSRecord": "2",
202b115df07SHaiyan Song        "PublicDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to closely sample on front-end latency issues (see the FRONTEND_RETIRED event of designated precise events)",
203b115df07SHaiyan Song        "EventCode": "0x5E",
204b115df07SHaiyan Song        "Invert": "1",
205b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
206b115df07SHaiyan Song        "UMask": "0x1",
207b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
208b115df07SHaiyan Song        "EventName": "RS_EVENTS.EMPTY_END",
209b115df07SHaiyan Song        "SampleAfterValue": "2000003",
210b115df07SHaiyan Song        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
211b115df07SHaiyan Song        "CounterMask": "1",
212b115df07SHaiyan Song        "EdgeDetect": "1"
213b115df07SHaiyan Song    },
214b115df07SHaiyan Song    {
215b115df07SHaiyan Song        "CollectPEBSRecord": "2",
216b115df07SHaiyan Song        "PublicDescription": "Counts cycles that the Instruction Length decoder (ILD) stalls occurred due to dynamically changing prefix length of the decoded instruction (by operand size prefix instruction 0x66, address size prefix instruction 0x67 or REX.W for Intel64). Count is proportional to the number of prefixes in a 16B-line. This may result in a three-cycle penalty for each LCP (Length changing prefix) in a 16-byte chunk.",
217b115df07SHaiyan Song        "EventCode": "0x87",
218b115df07SHaiyan Song        "Counter": "0,1,2,3",
219b115df07SHaiyan Song        "UMask": "0x1",
220b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
221b115df07SHaiyan Song        "EventName": "ILD_STALL.LCP",
222b115df07SHaiyan Song        "SampleAfterValue": "2000003",
223b115df07SHaiyan Song        "BriefDescription": "Stalls caused by changing prefix length of the instruction."
224b115df07SHaiyan Song    },
225b115df07SHaiyan Song    {
226b115df07SHaiyan Song        "CollectPEBSRecord": "2",
227b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 0.",
228b115df07SHaiyan Song        "EventCode": "0xa1",
229b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
230b115df07SHaiyan Song        "UMask": "0x1",
231b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
232b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_0",
233b115df07SHaiyan Song        "SampleAfterValue": "2000003",
234b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 0"
235b115df07SHaiyan Song    },
236b115df07SHaiyan Song    {
237b115df07SHaiyan Song        "CollectPEBSRecord": "2",
238b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 1.",
239b115df07SHaiyan Song        "EventCode": "0xa1",
240b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
241b115df07SHaiyan Song        "UMask": "0x2",
242b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
243b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_1",
244b115df07SHaiyan Song        "SampleAfterValue": "2000003",
245b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 1"
246b115df07SHaiyan Song    },
247b115df07SHaiyan Song    {
248b115df07SHaiyan Song        "CollectPEBSRecord": "2",
249b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to ports 2 and 3.",
250b115df07SHaiyan Song        "EventCode": "0xa1",
251b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
252b115df07SHaiyan Song        "UMask": "0x4",
253b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
254b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_2_3",
255b115df07SHaiyan Song        "SampleAfterValue": "2000003",
256b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 2 and 3"
257b115df07SHaiyan Song    },
258b115df07SHaiyan Song    {
259b115df07SHaiyan Song        "CollectPEBSRecord": "2",
260b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to ports 5 and 9.",
261b115df07SHaiyan Song        "EventCode": "0xa1",
262b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
263b115df07SHaiyan Song        "UMask": "0x10",
264b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
265b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_4_9",
266b115df07SHaiyan Song        "SampleAfterValue": "2000003",
267b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 4 and 9"
268b115df07SHaiyan Song    },
269b115df07SHaiyan Song    {
270b115df07SHaiyan Song        "CollectPEBSRecord": "2",
271b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 5.",
272b115df07SHaiyan Song        "EventCode": "0xa1",
273b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
274b115df07SHaiyan Song        "UMask": "0x20",
275b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
276b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_5",
277b115df07SHaiyan Song        "SampleAfterValue": "2000003",
278b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 5"
279b115df07SHaiyan Song    },
280b115df07SHaiyan Song    {
281b115df07SHaiyan Song        "CollectPEBSRecord": "2",
282b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 6.",
283b115df07SHaiyan Song        "EventCode": "0xa1",
284b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
285b115df07SHaiyan Song        "UMask": "0x40",
286b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
287b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_6",
288b115df07SHaiyan Song        "SampleAfterValue": "2000003",
289b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 6"
290b115df07SHaiyan Song    },
291b115df07SHaiyan Song    {
292b115df07SHaiyan Song        "CollectPEBSRecord": "2",
293b115df07SHaiyan Song        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to ports 7 and 8.",
294b115df07SHaiyan Song        "EventCode": "0xa1",
295b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
296b115df07SHaiyan Song        "UMask": "0x80",
297b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
298b115df07SHaiyan Song        "EventName": "UOPS_DISPATCHED.PORT_7_8",
299b115df07SHaiyan Song        "SampleAfterValue": "2000003",
300b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on port 7 and 8"
301b115df07SHaiyan Song    },
302b115df07SHaiyan Song    {
303b115df07SHaiyan Song        "CollectPEBSRecord": "2",
304b115df07SHaiyan Song        "EventCode": "0xa2",
305b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
306b115df07SHaiyan Song        "UMask": "0x2",
307b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
308b115df07SHaiyan Song        "EventName": "RESOURCE_STALLS.SCOREBOARD",
309b115df07SHaiyan Song        "SampleAfterValue": "2000003",
310b115df07SHaiyan Song        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations."
311b115df07SHaiyan Song    },
312b115df07SHaiyan Song    {
313b115df07SHaiyan Song        "CollectPEBSRecord": "2",
314b115df07SHaiyan Song        "PublicDescription": "Counts allocation stall cycles caused by the store buffer (SB) being full. This counts cycles that the pipeline back-end blocked uop delivery from the front-end.",
315b115df07SHaiyan Song        "EventCode": "0xA2",
316b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
317b115df07SHaiyan Song        "UMask": "0x8",
318b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
319b115df07SHaiyan Song        "EventName": "RESOURCE_STALLS.SB",
320b115df07SHaiyan Song        "SampleAfterValue": "2000003",
321b115df07SHaiyan Song        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync)."
322b115df07SHaiyan Song    },
323b115df07SHaiyan Song    {
324b115df07SHaiyan Song        "CollectPEBSRecord": "2",
325b115df07SHaiyan Song        "EventCode": "0xA3",
326b115df07SHaiyan Song        "Counter": "0,1,2,3",
327b115df07SHaiyan Song        "UMask": "0x1",
328b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
329b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
330b115df07SHaiyan Song        "SampleAfterValue": "2000003",
331b115df07SHaiyan Song        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
332b115df07SHaiyan Song        "CounterMask": "1"
333b115df07SHaiyan Song    },
334b115df07SHaiyan Song    {
335b115df07SHaiyan Song        "CollectPEBSRecord": "2",
336b115df07SHaiyan Song        "EventCode": "0xA3",
337b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
338b115df07SHaiyan Song        "UMask": "0x4",
339b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
340b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
341b115df07SHaiyan Song        "SampleAfterValue": "2000003",
342b115df07SHaiyan Song        "BriefDescription": "Total execution stalls.",
343b115df07SHaiyan Song        "CounterMask": "4"
344b115df07SHaiyan Song    },
345b115df07SHaiyan Song    {
346b115df07SHaiyan Song        "CollectPEBSRecord": "2",
347b115df07SHaiyan Song        "EventCode": "0xA3",
348b115df07SHaiyan Song        "Counter": "0,1,2,3",
349b115df07SHaiyan Song        "UMask": "0x5",
350b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
351b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
352b115df07SHaiyan Song        "SampleAfterValue": "2000003",
353b115df07SHaiyan Song        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
354b115df07SHaiyan Song        "CounterMask": "5"
355b115df07SHaiyan Song    },
356b115df07SHaiyan Song    {
357b115df07SHaiyan Song        "CollectPEBSRecord": "2",
358b115df07SHaiyan Song        "EventCode": "0xA3",
359b115df07SHaiyan Song        "Counter": "0,1,2,3",
360b115df07SHaiyan Song        "UMask": "0x8",
361b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
362b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
363b115df07SHaiyan Song        "SampleAfterValue": "2000003",
364b115df07SHaiyan Song        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
365b115df07SHaiyan Song        "CounterMask": "8"
366b115df07SHaiyan Song    },
367b115df07SHaiyan Song    {
368b115df07SHaiyan Song        "CollectPEBSRecord": "2",
369b115df07SHaiyan Song        "EventCode": "0xA3",
370b115df07SHaiyan Song        "Counter": "0,1,2,3",
371b115df07SHaiyan Song        "UMask": "0xc",
372b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
373b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
374b115df07SHaiyan Song        "SampleAfterValue": "2000003",
375b115df07SHaiyan Song        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
376b115df07SHaiyan Song        "CounterMask": "12"
377b115df07SHaiyan Song    },
378b115df07SHaiyan Song    {
379b115df07SHaiyan Song        "CollectPEBSRecord": "2",
380b115df07SHaiyan Song        "EventCode": "0xA3",
381b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
382b115df07SHaiyan Song        "UMask": "0x10",
383b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
384b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
385b115df07SHaiyan Song        "SampleAfterValue": "2000003",
386b115df07SHaiyan Song        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
387b115df07SHaiyan Song        "CounterMask": "16"
388b115df07SHaiyan Song    },
389b115df07SHaiyan Song    {
390b115df07SHaiyan Song        "CollectPEBSRecord": "2",
391b115df07SHaiyan Song        "EventCode": "0xA3",
392b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
393b115df07SHaiyan Song        "UMask": "0x14",
394b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
395b115df07SHaiyan Song        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
396b115df07SHaiyan Song        "SampleAfterValue": "2000003",
397b115df07SHaiyan Song        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
398b115df07SHaiyan Song        "CounterMask": "20"
399b115df07SHaiyan Song    },
400b115df07SHaiyan Song    {
401b115df07SHaiyan Song        "CollectPEBSRecord": "2",
402b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
403b115df07SHaiyan Song        "EventCode": "0xa6",
404b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
405b115df07SHaiyan Song        "UMask": "0x2",
406b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
407b115df07SHaiyan Song        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
408b115df07SHaiyan Song        "SampleAfterValue": "2000003",
409b115df07SHaiyan Song        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty."
410b115df07SHaiyan Song    },
411b115df07SHaiyan Song    {
412b115df07SHaiyan Song        "CollectPEBSRecord": "2",
413b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
414b115df07SHaiyan Song        "EventCode": "0xa6",
415b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
416b115df07SHaiyan Song        "UMask": "0x4",
417b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
418b115df07SHaiyan Song        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
419b115df07SHaiyan Song        "SampleAfterValue": "2000003",
420b115df07SHaiyan Song        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty."
421b115df07SHaiyan Song    },
422b115df07SHaiyan Song    {
423b115df07SHaiyan Song        "CollectPEBSRecord": "2",
424b115df07SHaiyan Song        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
425b115df07SHaiyan Song        "EventCode": "0xA6",
426b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
427b115df07SHaiyan Song        "UMask": "0x40",
428b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
429b115df07SHaiyan Song        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
430b115df07SHaiyan Song        "SampleAfterValue": "2000003",
431b115df07SHaiyan Song        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
432b115df07SHaiyan Song        "CounterMask": "2"
433b115df07SHaiyan Song    },
434b115df07SHaiyan Song    {
435b115df07SHaiyan Song        "CollectPEBSRecord": "2",
436b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which no uops were executed on all ports and Reservation Station (RS) was not empty.",
437b115df07SHaiyan Song        "EventCode": "0xa6",
438b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
439b115df07SHaiyan Song        "UMask": "0x80",
440b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
441b115df07SHaiyan Song        "EventName": "EXE_ACTIVITY.EXE_BOUND_0_PORTS",
442b115df07SHaiyan Song        "SampleAfterValue": "2000003",
443b115df07SHaiyan Song        "BriefDescription": "Cycles where no uops were executed, the Reservation Station was not empty, the Store Buffer was full and there was no outstanding load."
444b115df07SHaiyan Song    },
445b115df07SHaiyan Song    {
446b115df07SHaiyan Song        "CollectPEBSRecord": "2",
447b115df07SHaiyan Song        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
448b115df07SHaiyan Song        "EventCode": "0xA8",
449b115df07SHaiyan Song        "Counter": "0,1,2,3",
450b115df07SHaiyan Song        "UMask": "0x1",
451b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
452b115df07SHaiyan Song        "EventName": "LSD.UOPS",
453b115df07SHaiyan Song        "SampleAfterValue": "2000003",
454b115df07SHaiyan Song        "BriefDescription": "Number of Uops delivered by the LSD."
455b115df07SHaiyan Song    },
456b115df07SHaiyan Song    {
457b115df07SHaiyan Song        "CollectPEBSRecord": "2",
458b115df07SHaiyan Song        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
459b115df07SHaiyan Song        "EventCode": "0xA8",
460b115df07SHaiyan Song        "Counter": "0,1,2,3",
461b115df07SHaiyan Song        "UMask": "0x1",
462b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
463b115df07SHaiyan Song        "EventName": "LSD.CYCLES_ACTIVE",
464b115df07SHaiyan Song        "SampleAfterValue": "2000003",
465b115df07SHaiyan Song        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
466b115df07SHaiyan Song        "CounterMask": "1"
467b115df07SHaiyan Song    },
468b115df07SHaiyan Song    {
469b115df07SHaiyan Song        "CollectPEBSRecord": "2",
470b115df07SHaiyan Song        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
471b115df07SHaiyan Song        "EventCode": "0xa8",
472b115df07SHaiyan Song        "Counter": "0,1,2,3",
473b115df07SHaiyan Song        "UMask": "0x1",
474b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
475b115df07SHaiyan Song        "EventName": "LSD.CYCLES_OK",
476b115df07SHaiyan Song        "SampleAfterValue": "2000003",
477b115df07SHaiyan Song        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
478b115df07SHaiyan Song        "CounterMask": "5"
479b115df07SHaiyan Song    },
480b115df07SHaiyan Song    {
481b115df07SHaiyan Song        "CollectPEBSRecord": "2",
482b115df07SHaiyan Song        "EventCode": "0xB1",
483b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
484b115df07SHaiyan Song        "UMask": "0x1",
485b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
486b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.THREAD",
487b115df07SHaiyan Song        "SampleAfterValue": "2000003",
488b115df07SHaiyan Song        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle."
489b115df07SHaiyan Song    },
490b115df07SHaiyan Song    {
491b115df07SHaiyan Song        "CollectPEBSRecord": "2",
492b115df07SHaiyan Song        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
493b115df07SHaiyan Song        "EventCode": "0xB1",
494b115df07SHaiyan Song        "Invert": "1",
495b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
496b115df07SHaiyan Song        "UMask": "0x1",
497b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
498b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
499b115df07SHaiyan Song        "SampleAfterValue": "2000003",
500b115df07SHaiyan Song        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
501b115df07SHaiyan Song        "CounterMask": "1"
502b115df07SHaiyan Song    },
503b115df07SHaiyan Song    {
504b115df07SHaiyan Song        "CollectPEBSRecord": "2",
505b115df07SHaiyan Song        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
506b115df07SHaiyan Song        "EventCode": "0xb1",
507b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
508b115df07SHaiyan Song        "UMask": "0x1",
509b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
510b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
511b115df07SHaiyan Song        "SampleAfterValue": "2000003",
512b115df07SHaiyan Song        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
513b115df07SHaiyan Song        "CounterMask": "1"
514b115df07SHaiyan Song    },
515b115df07SHaiyan Song    {
516b115df07SHaiyan Song        "CollectPEBSRecord": "2",
517b115df07SHaiyan Song        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
518b115df07SHaiyan Song        "EventCode": "0xb1",
519b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
520b115df07SHaiyan Song        "UMask": "0x1",
521b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
522b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
523b115df07SHaiyan Song        "SampleAfterValue": "2000003",
524b115df07SHaiyan Song        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
525b115df07SHaiyan Song        "CounterMask": "2"
526b115df07SHaiyan Song    },
527b115df07SHaiyan Song    {
528b115df07SHaiyan Song        "CollectPEBSRecord": "2",
529b115df07SHaiyan Song        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
530b115df07SHaiyan Song        "EventCode": "0xb1",
531b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
532b115df07SHaiyan Song        "UMask": "0x1",
533b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
534b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
535b115df07SHaiyan Song        "SampleAfterValue": "2000003",
536b115df07SHaiyan Song        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
537b115df07SHaiyan Song        "CounterMask": "3"
538b115df07SHaiyan Song    },
539b115df07SHaiyan Song    {
540b115df07SHaiyan Song        "CollectPEBSRecord": "2",
541b115df07SHaiyan Song        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
542b115df07SHaiyan Song        "EventCode": "0xb1",
543b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
544b115df07SHaiyan Song        "UMask": "0x1",
545b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
546b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
547b115df07SHaiyan Song        "SampleAfterValue": "2000003",
548b115df07SHaiyan Song        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
549b115df07SHaiyan Song        "CounterMask": "4"
550b115df07SHaiyan Song    },
551b115df07SHaiyan Song    {
552b115df07SHaiyan Song        "CollectPEBSRecord": "2",
553b115df07SHaiyan Song        "PublicDescription": "Counts the number of uops executed from any thread.",
554b115df07SHaiyan Song        "EventCode": "0xB1",
555b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
556b115df07SHaiyan Song        "UMask": "0x2",
557b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
558b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CORE",
559b115df07SHaiyan Song        "SampleAfterValue": "2000003",
560b115df07SHaiyan Song        "BriefDescription": "Number of uops executed on the core."
561b115df07SHaiyan Song    },
562b115df07SHaiyan Song    {
563b115df07SHaiyan Song        "CollectPEBSRecord": "2",
564b115df07SHaiyan Song        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
565b115df07SHaiyan Song        "EventCode": "0xB1",
566b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
567b115df07SHaiyan Song        "UMask": "0x2",
568b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
569b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
570b115df07SHaiyan Song        "SampleAfterValue": "2000003",
571b115df07SHaiyan Song        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
572b115df07SHaiyan Song        "CounterMask": "1"
573b115df07SHaiyan Song    },
574b115df07SHaiyan Song    {
575b115df07SHaiyan Song        "CollectPEBSRecord": "2",
576b115df07SHaiyan Song        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
577b115df07SHaiyan Song        "EventCode": "0xB1",
578b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
579b115df07SHaiyan Song        "UMask": "0x2",
580b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
581b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
582b115df07SHaiyan Song        "SampleAfterValue": "2000003",
583b115df07SHaiyan Song        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
584b115df07SHaiyan Song        "CounterMask": "2"
585b115df07SHaiyan Song    },
586b115df07SHaiyan Song    {
587b115df07SHaiyan Song        "CollectPEBSRecord": "2",
588b115df07SHaiyan Song        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
589b115df07SHaiyan Song        "EventCode": "0xB1",
590b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
591b115df07SHaiyan Song        "UMask": "0x2",
592b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
593b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
594b115df07SHaiyan Song        "SampleAfterValue": "2000003",
595b115df07SHaiyan Song        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
596b115df07SHaiyan Song        "CounterMask": "3"
597b115df07SHaiyan Song    },
598b115df07SHaiyan Song    {
599b115df07SHaiyan Song        "CollectPEBSRecord": "2",
600b115df07SHaiyan Song        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
601b115df07SHaiyan Song        "EventCode": "0xB1",
602b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
603b115df07SHaiyan Song        "UMask": "0x2",
604b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
605b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
606b115df07SHaiyan Song        "SampleAfterValue": "2000003",
607b115df07SHaiyan Song        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
608b115df07SHaiyan Song        "CounterMask": "4"
609b115df07SHaiyan Song    },
610b115df07SHaiyan Song    {
611b115df07SHaiyan Song        "CollectPEBSRecord": "2",
612b115df07SHaiyan Song        "PublicDescription": "Counts the number of x87 uops executed.",
613b115df07SHaiyan Song        "EventCode": "0xB1",
614b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
615b115df07SHaiyan Song        "UMask": "0x10",
616b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
617b115df07SHaiyan Song        "EventName": "UOPS_EXECUTED.X87",
618b115df07SHaiyan Song        "SampleAfterValue": "2000003",
619b115df07SHaiyan Song        "BriefDescription": "Counts the number of x87 uops dispatched."
620b115df07SHaiyan Song    },
621b115df07SHaiyan Song    {
622b115df07SHaiyan Song        "CollectPEBSRecord": "2",
623b115df07SHaiyan Song        "PublicDescription": "Counts the number of X86 instructions retired - an Architectural PerfMon event. Counting continues during hardware interrupts, traps, and inside interrupt handlers. Notes: INST_RETIRED.ANY is counted by a designated fixed counter freeing up programmable counters to count other events. INST_RETIRED.ANY_P is counted by a programmable counter.",
624b115df07SHaiyan Song        "EventCode": "0xC0",
625b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
626b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
627b115df07SHaiyan Song        "EventName": "INST_RETIRED.ANY_P",
628b115df07SHaiyan Song        "SampleAfterValue": "2000003",
629b115df07SHaiyan Song        "BriefDescription": "Number of instructions retired. General Counter - architectural event"
630b115df07SHaiyan Song    },
631b115df07SHaiyan Song    {
632b115df07SHaiyan Song        "CollectPEBSRecord": "2",
633b115df07SHaiyan Song        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
634b115df07SHaiyan Song        "EventCode": "0xC2",
635b115df07SHaiyan Song        "Invert": "1",
636b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
637b115df07SHaiyan Song        "UMask": "0x2",
638b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
639b115df07SHaiyan Song        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
640b115df07SHaiyan Song        "SampleAfterValue": "2000003",
641b115df07SHaiyan Song        "BriefDescription": "Cycles with less than 10 actually retired uops.",
642b115df07SHaiyan Song        "CounterMask": "10"
643b115df07SHaiyan Song    },
644b115df07SHaiyan Song    {
645b115df07SHaiyan Song        "CollectPEBSRecord": "2",
646b115df07SHaiyan Song        "PublicDescription": "Counts the retirement slots used each cycle.",
647b115df07SHaiyan Song        "EventCode": "0xc2",
648b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
649b115df07SHaiyan Song        "UMask": "0x2",
650b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
651b115df07SHaiyan Song        "EventName": "UOPS_RETIRED.SLOTS",
652b115df07SHaiyan Song        "SampleAfterValue": "2000003",
653b115df07SHaiyan Song        "BriefDescription": "Retirement slots used."
654b115df07SHaiyan Song    },
655b115df07SHaiyan Song    {
656b115df07SHaiyan Song        "CollectPEBSRecord": "2",
657b115df07SHaiyan Song        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
658b115df07SHaiyan Song        "EventCode": "0xC3",
659b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
660b115df07SHaiyan Song        "UMask": "0x1",
661b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
662b115df07SHaiyan Song        "EventName": "MACHINE_CLEARS.COUNT",
663b115df07SHaiyan Song        "SampleAfterValue": "100003",
664b115df07SHaiyan Song        "BriefDescription": "Number of machine clears (nukes) of any type.",
665b115df07SHaiyan Song        "CounterMask": "1",
666b115df07SHaiyan Song        "EdgeDetect": "1"
667b115df07SHaiyan Song    },
668b115df07SHaiyan Song    {
669b115df07SHaiyan Song        "CollectPEBSRecord": "2",
670b115df07SHaiyan Song        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
671b115df07SHaiyan Song        "EventCode": "0xC3",
672b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
673b115df07SHaiyan Song        "UMask": "0x4",
674b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
675b115df07SHaiyan Song        "EventName": "MACHINE_CLEARS.SMC",
676b115df07SHaiyan Song        "SampleAfterValue": "100003",
677b115df07SHaiyan Song        "BriefDescription": "Self-modifying code (SMC) detected."
678b115df07SHaiyan Song    },
679b115df07SHaiyan Song    {
680b115df07SHaiyan Song        "PEBS": "1",
681b115df07SHaiyan Song        "CollectPEBSRecord": "2",
682b115df07SHaiyan Song        "PublicDescription": "Counts all branch instructions retired.",
683b115df07SHaiyan Song        "EventCode": "0xC4",
684b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
685b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
686b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
687b115df07SHaiyan Song        "SampleAfterValue": "400009",
688b115df07SHaiyan Song        "BriefDescription": "All branch instructions retired."
689b115df07SHaiyan Song    },
690b115df07SHaiyan Song    {
691b115df07SHaiyan Song        "PEBS": "1",
692b115df07SHaiyan Song        "CollectPEBSRecord": "2",
693b115df07SHaiyan Song        "PublicDescription": "Counts taken conditional branch instructions retired.",
694b115df07SHaiyan Song        "EventCode": "0xc4",
695b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
696b115df07SHaiyan Song        "UMask": "0x1",
697b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
698b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.COND_TAKEN",
699b115df07SHaiyan Song        "SampleAfterValue": "400009",
700b115df07SHaiyan Song        "BriefDescription": "Taken conditional branch instructions retired."
701b115df07SHaiyan Song    },
702b115df07SHaiyan Song    {
703b115df07SHaiyan Song        "PEBS": "1",
704b115df07SHaiyan Song        "CollectPEBSRecord": "2",
705b115df07SHaiyan Song        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
706b115df07SHaiyan Song        "EventCode": "0xC4",
707b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
708b115df07SHaiyan Song        "UMask": "0x2",
709b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
710b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.NEAR_CALL",
711b115df07SHaiyan Song        "SampleAfterValue": "100007",
712b115df07SHaiyan Song        "BriefDescription": "Direct and indirect near call instructions retired."
713b115df07SHaiyan Song    },
714b115df07SHaiyan Song    {
715b115df07SHaiyan Song        "PEBS": "1",
716b115df07SHaiyan Song        "CollectPEBSRecord": "2",
717b115df07SHaiyan Song        "PublicDescription": "Counts return instructions retired.",
718b115df07SHaiyan Song        "EventCode": "0xC4",
719b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
720b115df07SHaiyan Song        "UMask": "0x8",
721b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
722b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
723b115df07SHaiyan Song        "SampleAfterValue": "100007",
724b115df07SHaiyan Song        "BriefDescription": "Return instructions retired."
725b115df07SHaiyan Song    },
726b115df07SHaiyan Song    {
727b115df07SHaiyan Song        "PEBS": "1",
728b115df07SHaiyan Song        "CollectPEBSRecord": "2",
729b115df07SHaiyan Song        "PublicDescription": "Counts not taken branch instructions retired.",
730b115df07SHaiyan Song        "EventCode": "0xC4",
731b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
732b115df07SHaiyan Song        "UMask": "0x10",
733b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
734b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
735b115df07SHaiyan Song        "SampleAfterValue": "400009",
736b115df07SHaiyan Song        "BriefDescription": "Not taken branch instructions retired."
737b115df07SHaiyan Song    },
738b115df07SHaiyan Song    {
739b115df07SHaiyan Song        "PEBS": "1",
740b115df07SHaiyan Song        "CollectPEBSRecord": "2",
741b115df07SHaiyan Song        "PublicDescription": "Counts conditional branch instructions retired.",
742b115df07SHaiyan Song        "EventCode": "0xc4",
743b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
744b115df07SHaiyan Song        "UMask": "0x11",
745b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
746b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.COND",
747b115df07SHaiyan Song        "SampleAfterValue": "400009",
748b115df07SHaiyan Song        "BriefDescription": "Conditional branch instructions retired."
749b115df07SHaiyan Song    },
750b115df07SHaiyan Song    {
751b115df07SHaiyan Song        "PEBS": "1",
752b115df07SHaiyan Song        "CollectPEBSRecord": "2",
753b115df07SHaiyan Song        "PublicDescription": "Counts taken branch instructions retired.",
754b115df07SHaiyan Song        "EventCode": "0xC4",
755b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
756b115df07SHaiyan Song        "UMask": "0x20",
757b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
758b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
759b115df07SHaiyan Song        "SampleAfterValue": "400009",
760b115df07SHaiyan Song        "BriefDescription": "Taken branch instructions retired."
761b115df07SHaiyan Song    },
762b115df07SHaiyan Song    {
763b115df07SHaiyan Song        "PEBS": "1",
764b115df07SHaiyan Song        "CollectPEBSRecord": "2",
765b115df07SHaiyan Song        "PublicDescription": "Counts far branch instructions retired.",
766b115df07SHaiyan Song        "EventCode": "0xC4",
767b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
768b115df07SHaiyan Song        "UMask": "0x40",
769b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
770b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
771b115df07SHaiyan Song        "SampleAfterValue": "100007",
772b115df07SHaiyan Song        "BriefDescription": "Far branch instructions retired."
773b115df07SHaiyan Song    },
774b115df07SHaiyan Song    {
775b115df07SHaiyan Song        "PEBS": "1",
776b115df07SHaiyan Song        "CollectPEBSRecord": "2",
777b115df07SHaiyan Song        "PublicDescription": "Counts all indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
778b115df07SHaiyan Song        "EventCode": "0xc4",
779b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
780b115df07SHaiyan Song        "UMask": "0x80",
781b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
782b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.INDIRECT",
783b115df07SHaiyan Song        "SampleAfterValue": "100003",
784b115df07SHaiyan Song        "BriefDescription": "All indirect branch instructions retired (excluding RETs. TSX aborts are considered indirect branch)."
785b115df07SHaiyan Song    },
786b115df07SHaiyan Song    {
787b115df07SHaiyan Song        "PEBS": "1",
788b115df07SHaiyan Song        "CollectPEBSRecord": "2",
789b115df07SHaiyan Song        "PublicDescription": "Counts all the retired branch instructions that were mispredicted by the processor. A branch misprediction occurs when the processor incorrectly predicts the destination of the branch.  When the misprediction is discovered at execution, all the instructions executed in the wrong (speculative) path must be discarded, and the processor must start fetching from the correct path.",
790b115df07SHaiyan Song        "EventCode": "0xC5",
791b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
792b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
793b115df07SHaiyan Song        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
794b115df07SHaiyan Song        "SampleAfterValue": "400009",
795b115df07SHaiyan Song        "BriefDescription": "All mispredicted branch instructions retired.",
796b115df07SHaiyan Song        "Data_LA": "1"
797b115df07SHaiyan Song    },
798b115df07SHaiyan Song    {
799b115df07SHaiyan Song        "PEBS": "1",
800b115df07SHaiyan Song        "CollectPEBSRecord": "2",
801b115df07SHaiyan Song        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
802b115df07SHaiyan Song        "EventCode": "0xc5",
803b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
804b115df07SHaiyan Song        "UMask": "0x1",
805b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
806b115df07SHaiyan Song        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
807b115df07SHaiyan Song        "SampleAfterValue": "400009",
808b115df07SHaiyan Song        "BriefDescription": "number of branch instructions retired that were mispredicted and taken. Non PEBS",
809b115df07SHaiyan Song        "Data_LA": "1"
810b115df07SHaiyan Song    },
811b115df07SHaiyan Song    {
812b115df07SHaiyan Song        "PEBS": "1",
813b115df07SHaiyan Song        "CollectPEBSRecord": "2",
814b115df07SHaiyan Song        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
815b115df07SHaiyan Song        "EventCode": "0xc5",
816b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
817b115df07SHaiyan Song        "UMask": "0x11",
818b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
819b115df07SHaiyan Song        "EventName": "BR_MISP_RETIRED.COND",
820b115df07SHaiyan Song        "SampleAfterValue": "400009",
821b115df07SHaiyan Song        "BriefDescription": "Mispredicted conditional branch instructions retired.",
822b115df07SHaiyan Song        "Data_LA": "1"
823b115df07SHaiyan Song    },
824b115df07SHaiyan Song    {
825b115df07SHaiyan Song        "PEBS": "1",
826b115df07SHaiyan Song        "CollectPEBSRecord": "2",
827b115df07SHaiyan Song        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
828b115df07SHaiyan Song        "EventCode": "0xC5",
829b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
830b115df07SHaiyan Song        "UMask": "0x20",
831b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
832b115df07SHaiyan Song        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
833b115df07SHaiyan Song        "SampleAfterValue": "400009",
834b115df07SHaiyan Song        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
835b115df07SHaiyan Song        "Data_LA": "1"
836b115df07SHaiyan Song    },
837b115df07SHaiyan Song    {
838b115df07SHaiyan Song        "PEBS": "1",
839b115df07SHaiyan Song        "CollectPEBSRecord": "2",
840b115df07SHaiyan Song        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
841b115df07SHaiyan Song        "EventCode": "0xC5",
842b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
843b115df07SHaiyan Song        "UMask": "0x80",
844b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
845b115df07SHaiyan Song        "EventName": "BR_MISP_RETIRED.INDIRECT",
846b115df07SHaiyan Song        "SampleAfterValue": "100003",
847b115df07SHaiyan Song        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
848b115df07SHaiyan Song        "Data_LA": "1"
849b115df07SHaiyan Song    },
850b115df07SHaiyan Song    {
851b115df07SHaiyan Song        "CollectPEBSRecord": "2",
852b115df07SHaiyan Song        "PublicDescription": "Increments when an entry is added to the Last Branch Record (LBR) array (or removed from the array in case of RETURNs in call stack mode). The event requires LBR enable via IA32_DEBUGCTL MSR and branch type selection via MSR_LBR_SELECT.",
853b115df07SHaiyan Song        "EventCode": "0xcc",
854b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
855b115df07SHaiyan Song        "UMask": "0x20",
856b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
857b115df07SHaiyan Song        "EventName": "MISC_RETIRED.LBR_INSERTS",
858b115df07SHaiyan Song        "SampleAfterValue": "2000003",
859b115df07SHaiyan Song        "BriefDescription": "Increments whenever there is an update to the LBR array."
860b115df07SHaiyan Song    },
861b115df07SHaiyan Song    {
862b115df07SHaiyan Song        "PublicDescription": "Counts number of retired PAUSE instructions (that do not end up with a VMExit to the VMM; TSX aborted Instructions may be counted).",
863b115df07SHaiyan Song        "EventCode": "0xcc",
864b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
865b115df07SHaiyan Song        "UMask": "0x40",
866b115df07SHaiyan Song        "EventName": "MISC_RETIRED.PAUSE_INST",
867b115df07SHaiyan Song        "SampleAfterValue": "2000003",
868b115df07SHaiyan Song        "BriefDescription": "Number of retired PAUSE instructions."
869b115df07SHaiyan Song    },
870b115df07SHaiyan Song    {
871b115df07SHaiyan Song        "CollectPEBSRecord": "2",
872b115df07SHaiyan Song        "PublicDescription": "Counts the number of times the front-end is resteered when it finds a branch instruction in a fetch line. This occurs for the first time a branch instruction is fetched or when the branch is not tracked by the BPU (Branch Prediction Unit) anymore.",
873b115df07SHaiyan Song        "EventCode": "0xE6",
874b115df07SHaiyan Song        "Counter": "0,1,2,3",
875b115df07SHaiyan Song        "UMask": "0x1",
876b115df07SHaiyan Song        "PEBScounters": "0,1,2,3",
877b115df07SHaiyan Song        "EventName": "BACLEARS.ANY",
878b115df07SHaiyan Song        "SampleAfterValue": "100003",
879b115df07SHaiyan Song        "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."
880b115df07SHaiyan Song    },
881b115df07SHaiyan Song    {
882b115df07SHaiyan Song        "CollectPEBSRecord": "2",
883b115df07SHaiyan Song        "PublicDescription": "This event distributes cycle counts between active hyperthreads, i.e., those in C0.  A hyperthread becomes inactive when it executes the HLT or MWAIT instructions.  If all other hyperthreads are inactive (or disabled or do not exist), all counts are attributed to this hyperthread. To obtain the full count when the Core is active, sum the counts from each hyperthread.",
884b115df07SHaiyan Song        "EventCode": "0xec",
885b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
886b115df07SHaiyan Song        "UMask": "0x2",
887b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
888b115df07SHaiyan Song        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
889b115df07SHaiyan Song        "SampleAfterValue": "2000003",
890b115df07SHaiyan Song        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core."
891b115df07SHaiyan Song    }
892b115df07SHaiyan Song]