1b115df07SHaiyan Song[
2b115df07SHaiyan Song    {
3dd7415ceSIan Rogers        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations.",
4b115df07SHaiyan Song        "CollectPEBSRecord": "2",
5b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
6dd7415ceSIan Rogers        "CounterMask": "1",
7dd7415ceSIan Rogers        "EventCode": "0x14",
8dd7415ceSIan Rogers        "EventName": "ARITH.DIVIDER_ACTIVE",
9dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
10dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
11dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
12dd7415ceSIan Rogers        "Speculative": "1",
13dd7415ceSIan Rogers        "UMask": "0x9"
14dd7415ceSIan Rogers    },
15dd7415ceSIan Rogers    {
16dd7415ceSIan Rogers        "BriefDescription": "All branch instructions retired.",
17dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
18dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
19dd7415ceSIan Rogers        "EventCode": "0xc4",
20dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
2171fbc431SJin Yao        "PEBS": "1",
22b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
23dd7415ceSIan Rogers        "PublicDescription": "Counts all branch instructions retired.",
24dd7415ceSIan Rogers        "SampleAfterValue": "400009"
25b115df07SHaiyan Song    },
26b115df07SHaiyan Song    {
27dd7415ceSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
28b115df07SHaiyan Song        "CollectPEBSRecord": "2",
29b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
30dd7415ceSIan Rogers        "EventCode": "0xc4",
31dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.COND",
32dd7415ceSIan Rogers        "PEBS": "1",
3371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
34dd7415ceSIan Rogers        "PublicDescription": "Counts conditional branch instructions retired.",
35dd7415ceSIan Rogers        "SampleAfterValue": "400009",
36dd7415ceSIan Rogers        "UMask": "0x11"
37b115df07SHaiyan Song    },
38b115df07SHaiyan Song    {
3971fbc431SJin Yao        "BriefDescription": "Not taken branch instructions retired.",
40b115df07SHaiyan Song        "CollectPEBSRecord": "2",
41b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
42b115df07SHaiyan Song        "EventCode": "0xc4",
43b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
4471fbc431SJin Yao        "PEBS": "1",
4571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
4671fbc431SJin Yao        "PublicDescription": "Counts not taken branch instructions retired.",
47b115df07SHaiyan Song        "SampleAfterValue": "400009",
4871fbc431SJin Yao        "UMask": "0x10"
49b115df07SHaiyan Song    },
50b115df07SHaiyan Song    {
51dd7415ceSIan Rogers        "BriefDescription": "Taken conditional branch instructions retired.",
5271fbc431SJin Yao        "CollectPEBSRecord": "2",
5371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
54b115df07SHaiyan Song        "EventCode": "0xc4",
55dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.COND_TAKEN",
5671fbc431SJin Yao        "PEBS": "1",
5771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
58dd7415ceSIan Rogers        "PublicDescription": "Counts taken conditional branch instructions retired.",
5971fbc431SJin Yao        "SampleAfterValue": "400009",
6071fbc431SJin Yao        "UMask": "0x1"
61b115df07SHaiyan Song    },
62b115df07SHaiyan Song    {
6371fbc431SJin Yao        "BriefDescription": "Far branch instructions retired.",
6471fbc431SJin Yao        "CollectPEBSRecord": "2",
6571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
6671fbc431SJin Yao        "EventCode": "0xc4",
6771fbc431SJin Yao        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
6871fbc431SJin Yao        "PEBS": "1",
6971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
7071fbc431SJin Yao        "PublicDescription": "Counts far branch instructions retired.",
7171fbc431SJin Yao        "SampleAfterValue": "100007",
7271fbc431SJin Yao        "UMask": "0x40"
7371fbc431SJin Yao    },
7471fbc431SJin Yao    {
75dd7415ceSIan Rogers        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
7671fbc431SJin Yao        "CollectPEBSRecord": "2",
7771fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
7871fbc431SJin Yao        "EventCode": "0xc4",
79dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.INDIRECT",
8071fbc431SJin Yao        "PEBS": "1",
8171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
82dd7415ceSIan Rogers        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
83dd7415ceSIan Rogers        "SampleAfterValue": "100003",
84dd7415ceSIan Rogers        "UMask": "0x80"
8571fbc431SJin Yao    },
8671fbc431SJin Yao    {
8771fbc431SJin Yao        "BriefDescription": "Direct and indirect near call instructions retired.",
8871fbc431SJin Yao        "CollectPEBSRecord": "2",
8971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
9071fbc431SJin Yao        "EventCode": "0xc4",
9171fbc431SJin Yao        "EventName": "BR_INST_RETIRED.NEAR_CALL",
9271fbc431SJin Yao        "PEBS": "1",
9371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
9471fbc431SJin Yao        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
9571fbc431SJin Yao        "SampleAfterValue": "100007",
9671fbc431SJin Yao        "UMask": "0x2"
9771fbc431SJin Yao    },
9871fbc431SJin Yao    {
99dd7415ceSIan Rogers        "BriefDescription": "Return instructions retired.",
10071fbc431SJin Yao        "CollectPEBSRecord": "2",
10171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
10271fbc431SJin Yao        "EventCode": "0xc4",
103dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
10471fbc431SJin Yao        "PEBS": "1",
10571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
106dd7415ceSIan Rogers        "PublicDescription": "Counts return instructions retired.",
107dd7415ceSIan Rogers        "SampleAfterValue": "100007",
108dd7415ceSIan Rogers        "UMask": "0x8"
10971fbc431SJin Yao    },
11071fbc431SJin Yao    {
111dd7415ceSIan Rogers        "BriefDescription": "Taken branch instructions retired.",
11271fbc431SJin Yao        "CollectPEBSRecord": "2",
11371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
114dd7415ceSIan Rogers        "EventCode": "0xc4",
115dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
116dd7415ceSIan Rogers        "PEBS": "1",
11771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
118dd7415ceSIan Rogers        "PublicDescription": "Counts taken branch instructions retired.",
119dd7415ceSIan Rogers        "SampleAfterValue": "400009",
120dd7415ceSIan Rogers        "UMask": "0x20"
121dd7415ceSIan Rogers    },
122dd7415ceSIan Rogers    {
123dd7415ceSIan Rogers        "BriefDescription": "All mispredicted branch instructions retired.",
124dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
125dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
126dd7415ceSIan Rogers        "EventCode": "0xc5",
127dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
128dd7415ceSIan Rogers        "PEBS": "1",
129dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
130dd7415ceSIan Rogers        "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.",
131dd7415ceSIan Rogers        "SampleAfterValue": "50021"
132dd7415ceSIan Rogers    },
133dd7415ceSIan Rogers    {
134dd7415ceSIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
135dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
136dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
137dd7415ceSIan Rogers        "EventCode": "0xc5",
138dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.COND",
139dd7415ceSIan Rogers        "PEBS": "1",
140dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
141dd7415ceSIan Rogers        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
142dd7415ceSIan Rogers        "SampleAfterValue": "50021",
143dd7415ceSIan Rogers        "UMask": "0x11"
144dd7415ceSIan Rogers    },
145dd7415ceSIan Rogers    {
146dd7415ceSIan Rogers        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
147dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
148dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
149dd7415ceSIan Rogers        "EventCode": "0xc5",
150dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_NTAKEN",
151dd7415ceSIan Rogers        "PEBS": "1",
152dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
153dd7415ceSIan Rogers        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
154dd7415ceSIan Rogers        "SampleAfterValue": "50021",
155dd7415ceSIan Rogers        "UMask": "0x10"
156dd7415ceSIan Rogers    },
157dd7415ceSIan Rogers    {
158dd7415ceSIan Rogers        "BriefDescription": "number of branch instructions retired that were mispredicted and taken. Non PEBS",
159dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
160dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
161dd7415ceSIan Rogers        "EventCode": "0xc5",
162dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
163dd7415ceSIan Rogers        "PEBS": "1",
164dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
165dd7415ceSIan Rogers        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
166dd7415ceSIan Rogers        "SampleAfterValue": "50021",
16771fbc431SJin Yao        "UMask": "0x1"
16871fbc431SJin Yao    },
16971fbc431SJin Yao    {
170dd7415ceSIan Rogers        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
171dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
172dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
173dd7415ceSIan Rogers        "EventCode": "0xc5",
174dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT",
175dd7415ceSIan Rogers        "PEBS": "1",
176dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
177dd7415ceSIan Rogers        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
178dd7415ceSIan Rogers        "SampleAfterValue": "50021",
179dd7415ceSIan Rogers        "UMask": "0x80"
180dd7415ceSIan Rogers    },
181dd7415ceSIan Rogers    {
182dd7415ceSIan Rogers        "BriefDescription": "Mispredicted indirect CALL instructions retired.",
183dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
184dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
185dd7415ceSIan Rogers        "EventCode": "0xc5",
186dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
187dd7415ceSIan Rogers        "PEBS": "1",
188dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
189dd7415ceSIan Rogers        "PublicDescription": "Counts retired mispredicted indirect (near taken) CALL instructions, including both register and memory indirect.",
190dd7415ceSIan Rogers        "SampleAfterValue": "50021",
191dd7415ceSIan Rogers        "UMask": "0x2"
192dd7415ceSIan Rogers    },
193dd7415ceSIan Rogers    {
194dd7415ceSIan Rogers        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
195dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
196dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
197dd7415ceSIan Rogers        "EventCode": "0xc5",
198dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
199dd7415ceSIan Rogers        "PEBS": "1",
200dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
201dd7415ceSIan Rogers        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
202dd7415ceSIan Rogers        "SampleAfterValue": "50021",
203dd7415ceSIan Rogers        "UMask": "0x20"
204dd7415ceSIan Rogers    },
205dd7415ceSIan Rogers    {
20671fbc431SJin Yao        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
20771fbc431SJin Yao        "CollectPEBSRecord": "2",
20871fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
20971fbc431SJin Yao        "EventCode": "0xec",
21071fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
21171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
21271fbc431SJin Yao        "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.",
21371fbc431SJin Yao        "SampleAfterValue": "2000003",
21471fbc431SJin Yao        "Speculative": "1",
21571fbc431SJin Yao        "UMask": "0x2"
21671fbc431SJin Yao    },
21771fbc431SJin Yao    {
21871fbc431SJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
21971fbc431SJin Yao        "CollectPEBSRecord": "2",
22071fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
22171fbc431SJin Yao        "EventCode": "0x3C",
22271fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
22371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
22471fbc431SJin Yao        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
22571fbc431SJin Yao        "SampleAfterValue": "25003",
22671fbc431SJin Yao        "Speculative": "1",
22771fbc431SJin Yao        "UMask": "0x2"
22871fbc431SJin Yao    },
22971fbc431SJin Yao    {
230dd7415ceSIan Rogers        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
231dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
232dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
233dd7415ceSIan Rogers        "EventCode": "0x3c",
234dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
235dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
236dd7415ceSIan Rogers        "PublicDescription": "This event distributes Core crystal clock cycle counts between active hyperthreads, i.e., those in C0 sleep-state. A hyperthread becomes inactive when it executes the HLT or MWAIT instructions. If one thread is active in a core, all counts are attributed to this hyperthread. To obtain the full count when the Core is active, sum the counts from each hyperthread.",
237dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
238dd7415ceSIan Rogers        "Speculative": "1",
239dd7415ceSIan Rogers        "UMask": "0x8"
240dd7415ceSIan Rogers    },
241dd7415ceSIan Rogers    {
242dd7415ceSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
243dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
244dd7415ceSIan Rogers        "Counter": "Fixed counter 2",
245dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
246dd7415ceSIan Rogers        "PEBScounters": "34",
247dd7415ceSIan Rogers        "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 eight 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.",
248dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
249dd7415ceSIan Rogers        "Speculative": "1",
250dd7415ceSIan Rogers        "UMask": "0x3"
251dd7415ceSIan Rogers    },
252dd7415ceSIan Rogers    {
253dd7415ceSIan Rogers        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
254dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
255dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
256dd7415ceSIan Rogers        "EventCode": "0x3C",
257dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
258dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
259dd7415ceSIan Rogers        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
260dd7415ceSIan Rogers        "SampleAfterValue": "25003",
261dd7415ceSIan Rogers        "Speculative": "1",
262dd7415ceSIan Rogers        "UMask": "0x1"
263dd7415ceSIan Rogers    },
264dd7415ceSIan Rogers    {
265dd7415ceSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
266dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
267dd7415ceSIan Rogers        "Counter": "Fixed counter 1",
268dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
269dd7415ceSIan Rogers        "PEBScounters": "33",
270dd7415ceSIan Rogers        "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 eight programmable counters available for other events.",
271dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
272dd7415ceSIan Rogers        "Speculative": "1",
273dd7415ceSIan Rogers        "UMask": "0x2"
274dd7415ceSIan Rogers    },
275dd7415ceSIan Rogers    {
27671fbc431SJin Yao        "BriefDescription": "Thread cycles when thread is not in halt state",
27771fbc431SJin Yao        "CollectPEBSRecord": "2",
27871fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
27971fbc431SJin Yao        "EventCode": "0x3C",
28071fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
28171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
28271fbc431SJin Yao        "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.",
28371fbc431SJin Yao        "SampleAfterValue": "2000003",
28471fbc431SJin Yao        "Speculative": "1"
28571fbc431SJin Yao    },
28671fbc431SJin Yao    {
287dd7415ceSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
28871fbc431SJin Yao        "CollectPEBSRecord": "2",
289dd7415ceSIan Rogers        "Counter": "0,1,2,3",
290dd7415ceSIan Rogers        "CounterMask": "8",
291dd7415ceSIan Rogers        "EventCode": "0xA3",
292dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
293dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
294dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
295dd7415ceSIan Rogers        "Speculative": "1",
296dd7415ceSIan Rogers        "UMask": "0x8"
29771fbc431SJin Yao    },
29871fbc431SJin Yao    {
299dd7415ceSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
30071fbc431SJin Yao        "CollectPEBSRecord": "2",
301dd7415ceSIan Rogers        "Counter": "0,1,2,3",
302dd7415ceSIan Rogers        "CounterMask": "1",
303dd7415ceSIan Rogers        "EventCode": "0xA3",
304dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
305dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
306dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
30771fbc431SJin Yao        "Speculative": "1",
30871fbc431SJin Yao        "UMask": "0x1"
30971fbc431SJin Yao    },
31071fbc431SJin Yao    {
311dd7415ceSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
31271fbc431SJin Yao        "CollectPEBSRecord": "2",
31371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
314dd7415ceSIan Rogers        "CounterMask": "16",
315dd7415ceSIan Rogers        "EventCode": "0xA3",
316dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
31771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
318dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
319dd7415ceSIan Rogers        "Speculative": "1",
320dd7415ceSIan Rogers        "UMask": "0x10"
32171fbc431SJin Yao    },
32271fbc431SJin Yao    {
323dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
324dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
325dd7415ceSIan Rogers        "Counter": "0,1,2,3",
326dd7415ceSIan Rogers        "CounterMask": "12",
327dd7415ceSIan Rogers        "EventCode": "0xA3",
328dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
329dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
330dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
331dd7415ceSIan Rogers        "Speculative": "1",
332dd7415ceSIan Rogers        "UMask": "0xc"
333dd7415ceSIan Rogers    },
334dd7415ceSIan Rogers    {
335dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
336dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
337dd7415ceSIan Rogers        "Counter": "0,1,2,3",
338dd7415ceSIan Rogers        "CounterMask": "5",
339dd7415ceSIan Rogers        "EventCode": "0xa3",
340dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
341dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
342dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
343dd7415ceSIan Rogers        "Speculative": "1",
344dd7415ceSIan Rogers        "UMask": "0x5"
345dd7415ceSIan Rogers    },
346dd7415ceSIan Rogers    {
347dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
34871fbc431SJin Yao        "CollectPEBSRecord": "2",
34971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
350dd7415ceSIan Rogers        "CounterMask": "20",
351dd7415ceSIan Rogers        "EventCode": "0xa3",
352dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
35371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
354dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
355dd7415ceSIan Rogers        "Speculative": "1",
356dd7415ceSIan Rogers        "UMask": "0x14"
357dd7415ceSIan Rogers    },
358dd7415ceSIan Rogers    {
359dd7415ceSIan Rogers        "BriefDescription": "Total execution stalls.",
360dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
361dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
362dd7415ceSIan Rogers        "CounterMask": "4",
363dd7415ceSIan Rogers        "EventCode": "0xa3",
364dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
365dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
366dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
367dd7415ceSIan Rogers        "Speculative": "1",
368dd7415ceSIan Rogers        "UMask": "0x4"
369dd7415ceSIan Rogers    },
370dd7415ceSIan Rogers    {
371dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
372dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
373dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
374dd7415ceSIan Rogers        "EventCode": "0xa6",
375dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
376dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
377dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
378dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
379dd7415ceSIan Rogers        "Speculative": "1",
380dd7415ceSIan Rogers        "UMask": "0x2"
381dd7415ceSIan Rogers    },
382dd7415ceSIan Rogers    {
383dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
384dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
385dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
386dd7415ceSIan Rogers        "EventCode": "0xa6",
387dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
388dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
389dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
390dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
391dd7415ceSIan Rogers        "Speculative": "1",
392dd7415ceSIan Rogers        "UMask": "0x4"
393dd7415ceSIan Rogers    },
394dd7415ceSIan Rogers    {
395dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
396dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
397dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
398dd7415ceSIan Rogers        "EventCode": "0xa6",
399dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
400dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
401dd7415ceSIan Rogers        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
402dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
403dd7415ceSIan Rogers        "Speculative": "1",
404dd7415ceSIan Rogers        "UMask": "0x8"
405dd7415ceSIan Rogers    },
406dd7415ceSIan Rogers    {
407dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
408dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
409dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
410dd7415ceSIan Rogers        "EventCode": "0xa6",
411dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
412dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
413dd7415ceSIan Rogers        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
414dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
415dd7415ceSIan Rogers        "Speculative": "1",
416dd7415ceSIan Rogers        "UMask": "0x10"
417dd7415ceSIan Rogers    },
418dd7415ceSIan Rogers    {
419dd7415ceSIan Rogers        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
420dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
421dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
422dd7415ceSIan Rogers        "CounterMask": "2",
423dd7415ceSIan Rogers        "EventCode": "0xA6",
424dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
425dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
426dd7415ceSIan Rogers        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
427dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
428dd7415ceSIan Rogers        "Speculative": "1",
429dd7415ceSIan Rogers        "UMask": "0x40"
430dd7415ceSIan Rogers    },
431dd7415ceSIan Rogers    {
432dd7415ceSIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
433dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
434dd7415ceSIan Rogers        "Counter": "0,1,2,3",
435dd7415ceSIan Rogers        "EventCode": "0x87",
436dd7415ceSIan Rogers        "EventName": "ILD_STALL.LCP",
437dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
438dd7415ceSIan Rogers        "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.",
439dd7415ceSIan Rogers        "SampleAfterValue": "500009",
440dd7415ceSIan Rogers        "Speculative": "1",
441dd7415ceSIan Rogers        "UMask": "0x1"
442dd7415ceSIan Rogers    },
443dd7415ceSIan Rogers    {
444dd7415ceSIan Rogers        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
445dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
446dd7415ceSIan Rogers        "Counter": "Fixed counter 0",
447dd7415ceSIan Rogers        "EventName": "INST_RETIRED.ANY",
448dd7415ceSIan Rogers        "PEBS": "1",
449dd7415ceSIan Rogers        "PEBScounters": "32",
450dd7415ceSIan Rogers        "PublicDescription": "Counts the number of 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.",
451dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
452dd7415ceSIan Rogers        "UMask": "0x1"
453dd7415ceSIan Rogers    },
454dd7415ceSIan Rogers    {
455dd7415ceSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
456dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
457dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
458dd7415ceSIan Rogers        "EventCode": "0xc0",
459dd7415ceSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
460dd7415ceSIan Rogers        "PEBS": "1",
461dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
462dd7415ceSIan Rogers        "PublicDescription": "Counts the number of 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.",
463dd7415ceSIan Rogers        "SampleAfterValue": "2000003"
464dd7415ceSIan Rogers    },
465dd7415ceSIan Rogers    {
466dd7415ceSIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
467dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
468dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
469dd7415ceSIan Rogers        "EventCode": "0xc0",
470dd7415ceSIan Rogers        "EventName": "INST_RETIRED.NOP",
471dd7415ceSIan Rogers        "PEBS": "1",
472dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
47371fbc431SJin Yao        "SampleAfterValue": "2000003",
47471fbc431SJin Yao        "UMask": "0x2"
47571fbc431SJin Yao    },
47671fbc431SJin Yao    {
477dd7415ceSIan Rogers        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution",
478dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
479dd7415ceSIan Rogers        "Counter": "Fixed counter 0",
480dd7415ceSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
481dd7415ceSIan Rogers        "PEBS": "1",
482dd7415ceSIan Rogers        "PEBScounters": "32",
483dd7415ceSIan Rogers        "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.",
484dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
485dd7415ceSIan Rogers        "UMask": "0x1"
486dd7415ceSIan Rogers    },
487dd7415ceSIan Rogers    {
488dd7415ceSIan Rogers        "BriefDescription": "Cycles without actually retired instructions.",
489dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
490dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
491dd7415ceSIan Rogers        "CounterMask": "1",
492dd7415ceSIan Rogers        "EventCode": "0xc0",
493dd7415ceSIan Rogers        "EventName": "INST_RETIRED.STALL_CYCLES",
494dd7415ceSIan Rogers        "Invert": "1",
495dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
496dd7415ceSIan Rogers        "PublicDescription": "This event counts cycles without actually retired instructions.",
497dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
498dd7415ceSIan Rogers        "Speculative": "1",
499dd7415ceSIan Rogers        "UMask": "0x1"
500dd7415ceSIan Rogers    },
501dd7415ceSIan Rogers    {
502dd7415ceSIan Rogers        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
503dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
504dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
505dd7415ceSIan Rogers        "CounterMask": "1",
506dd7415ceSIan Rogers        "EventCode": "0x0D",
507dd7415ceSIan Rogers        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
508dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
509dd7415ceSIan Rogers        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
510dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
511dd7415ceSIan Rogers        "Speculative": "1",
512dd7415ceSIan Rogers        "UMask": "0x3"
513dd7415ceSIan Rogers    },
514dd7415ceSIan Rogers    {
515dd7415ceSIan Rogers        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
516dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
517dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
518dd7415ceSIan Rogers        "EventCode": "0x0d",
519dd7415ceSIan Rogers        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
520dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
521dd7415ceSIan Rogers        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
522dd7415ceSIan Rogers        "SampleAfterValue": "500009",
523dd7415ceSIan Rogers        "Speculative": "1",
524dd7415ceSIan Rogers        "UMask": "0x80"
525dd7415ceSIan Rogers    },
526dd7415ceSIan Rogers    {
527dd7415ceSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
528dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
529dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
530dd7415ceSIan Rogers        "EventCode": "0x0D",
531dd7415ceSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
532dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
533dd7415ceSIan Rogers        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
534dd7415ceSIan Rogers        "SampleAfterValue": "500009",
535dd7415ceSIan Rogers        "Speculative": "1",
536dd7415ceSIan Rogers        "UMask": "0x1"
537dd7415ceSIan Rogers    },
538dd7415ceSIan Rogers    {
539dd7415ceSIan Rogers        "BriefDescription": "TMA slots where uops got dropped",
540dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
541dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
542dd7415ceSIan Rogers        "EventCode": "0x0d",
543dd7415ceSIan Rogers        "EventName": "INT_MISC.UOP_DROPPING",
544dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
545dd7415ceSIan Rogers        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
546dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
547dd7415ceSIan Rogers        "Speculative": "1",
548dd7415ceSIan Rogers        "UMask": "0x10"
549dd7415ceSIan Rogers    },
550dd7415ceSIan Rogers    {
551dd7415ceSIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
552dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
553dd7415ceSIan Rogers        "Counter": "0,1,2,3",
554dd7415ceSIan Rogers        "EventCode": "0x03",
555dd7415ceSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
556dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
557dd7415ceSIan Rogers        "PublicDescription": "Counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
558dd7415ceSIan Rogers        "SampleAfterValue": "100003",
559dd7415ceSIan Rogers        "Speculative": "1",
560dd7415ceSIan Rogers        "UMask": "0x8"
561dd7415ceSIan Rogers    },
562dd7415ceSIan Rogers    {
563dd7415ceSIan Rogers        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
564dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
565dd7415ceSIan Rogers        "Counter": "0,1,2,3",
566dd7415ceSIan Rogers        "EventCode": "0x03",
567dd7415ceSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
568dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
569dd7415ceSIan Rogers        "PublicDescription": "Counts the number of times where store forwarding was prevented for a load operation. The most common case is a load blocked due to the address of memory access (partially) overlapping with a preceding uncompleted store. Note: See the table of not supported store forwards in the Optimization Guide.",
570dd7415ceSIan Rogers        "SampleAfterValue": "100003",
571dd7415ceSIan Rogers        "Speculative": "1",
572dd7415ceSIan Rogers        "UMask": "0x2"
573dd7415ceSIan Rogers    },
574dd7415ceSIan Rogers    {
575dd7415ceSIan Rogers        "BriefDescription": "False dependencies due to partial compare on address.",
576dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
577dd7415ceSIan Rogers        "Counter": "0,1,2,3",
578dd7415ceSIan Rogers        "EventCode": "0x07",
579dd7415ceSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
580dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
581dd7415ceSIan Rogers        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies due to partial compare on address.",
582dd7415ceSIan Rogers        "SampleAfterValue": "100003",
583dd7415ceSIan Rogers        "Speculative": "1",
584dd7415ceSIan Rogers        "UMask": "0x1"
585dd7415ceSIan Rogers    },
586dd7415ceSIan Rogers    {
587dd7415ceSIan Rogers        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
588dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
589dd7415ceSIan Rogers        "Counter": "0,1,2,3",
590dd7415ceSIan Rogers        "EventCode": "0x4c",
591dd7415ceSIan Rogers        "EventName": "LOAD_HIT_PREFETCH.SWPF",
592dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
593dd7415ceSIan Rogers        "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.",
594dd7415ceSIan Rogers        "SampleAfterValue": "100003",
595dd7415ceSIan Rogers        "Speculative": "1",
596dd7415ceSIan Rogers        "UMask": "0x1"
597dd7415ceSIan Rogers    },
598dd7415ceSIan Rogers    {
599dd7415ceSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
600dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
601dd7415ceSIan Rogers        "Counter": "0,1,2,3",
602dd7415ceSIan Rogers        "CounterMask": "1",
603dd7415ceSIan Rogers        "EventCode": "0xA8",
604dd7415ceSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
605dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
606dd7415ceSIan Rogers        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
607dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
608dd7415ceSIan Rogers        "Speculative": "1",
609dd7415ceSIan Rogers        "UMask": "0x1"
610dd7415ceSIan Rogers    },
611dd7415ceSIan Rogers    {
61271fbc431SJin Yao        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
61371fbc431SJin Yao        "CollectPEBSRecord": "2",
61471fbc431SJin Yao        "Counter": "0,1,2,3",
61571fbc431SJin Yao        "CounterMask": "5",
61671fbc431SJin Yao        "EventCode": "0xa8",
61771fbc431SJin Yao        "EventName": "LSD.CYCLES_OK",
61871fbc431SJin Yao        "PEBScounters": "0,1,2,3",
61971fbc431SJin Yao        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
62071fbc431SJin Yao        "SampleAfterValue": "2000003",
62171fbc431SJin Yao        "Speculative": "1",
62271fbc431SJin Yao        "UMask": "0x1"
62371fbc431SJin Yao    },
62471fbc431SJin Yao    {
625dd7415ceSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
626dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
627dd7415ceSIan Rogers        "Counter": "0,1,2,3",
628dd7415ceSIan Rogers        "EventCode": "0xa8",
629dd7415ceSIan Rogers        "EventName": "LSD.UOPS",
630dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
631dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
632dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
633dd7415ceSIan Rogers        "Speculative": "1",
634dd7415ceSIan Rogers        "UMask": "0x1"
635dd7415ceSIan Rogers    },
636dd7415ceSIan Rogers    {
637dd7415ceSIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
63871fbc431SJin Yao        "CollectPEBSRecord": "2",
63971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
640dd7415ceSIan Rogers        "CounterMask": "1",
641dd7415ceSIan Rogers        "EdgeDetect": "1",
642dd7415ceSIan Rogers        "EventCode": "0xc3",
643dd7415ceSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
64471fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
645dd7415ceSIan Rogers        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
646dd7415ceSIan Rogers        "SampleAfterValue": "100003",
647dd7415ceSIan Rogers        "Speculative": "1",
648dd7415ceSIan Rogers        "UMask": "0x1"
649dd7415ceSIan Rogers    },
650dd7415ceSIan Rogers    {
651dd7415ceSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
652dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
653dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
654dd7415ceSIan Rogers        "EventCode": "0xc3",
655dd7415ceSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
656dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
657dd7415ceSIan Rogers        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
658dd7415ceSIan Rogers        "SampleAfterValue": "100003",
659dd7415ceSIan Rogers        "Speculative": "1",
660dd7415ceSIan Rogers        "UMask": "0x4"
661dd7415ceSIan Rogers    },
662dd7415ceSIan Rogers    {
663dd7415ceSIan Rogers        "BriefDescription": "Increments whenever there is an update to the LBR array.",
664dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
665dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
666dd7415ceSIan Rogers        "EventCode": "0xcc",
667dd7415ceSIan Rogers        "EventName": "MISC_RETIRED.LBR_INSERTS",
668dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
669dd7415ceSIan Rogers        "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 to be enabled properly.",
670dd7415ceSIan Rogers        "SampleAfterValue": "100003",
671dd7415ceSIan Rogers        "UMask": "0x20"
672dd7415ceSIan Rogers    },
673dd7415ceSIan Rogers    {
674dd7415ceSIan Rogers        "BriefDescription": "Number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
675dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
676dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
677dd7415ceSIan Rogers        "EventCode": "0xcc",
678dd7415ceSIan Rogers        "EventName": "MISC_RETIRED.PAUSE_INST",
679dd7415ceSIan Rogers        "PublicDescription": "Counts number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
680dd7415ceSIan Rogers        "SampleAfterValue": "100003",
681dd7415ceSIan Rogers        "UMask": "0x40"
682dd7415ceSIan Rogers    },
683dd7415ceSIan Rogers    {
684dd7415ceSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
685dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
686dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
687dd7415ceSIan Rogers        "EventCode": "0xa2",
688dd7415ceSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
689dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
690dd7415ceSIan Rogers        "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.",
691dd7415ceSIan Rogers        "SampleAfterValue": "100003",
69271fbc431SJin Yao        "Speculative": "1",
69371fbc431SJin Yao        "UMask": "0x8"
69471fbc431SJin Yao    },
69571fbc431SJin Yao    {
696dd7415ceSIan Rogers        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
69771fbc431SJin Yao        "CollectPEBSRecord": "2",
69871fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
699dd7415ceSIan Rogers        "EventCode": "0xa2",
700dd7415ceSIan Rogers        "EventName": "RESOURCE_STALLS.SCOREBOARD",
70171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
702dd7415ceSIan Rogers        "SampleAfterValue": "100003",
70371fbc431SJin Yao        "Speculative": "1",
704dd7415ceSIan Rogers        "UMask": "0x2"
70571fbc431SJin Yao    },
70671fbc431SJin Yao    {
707dd7415ceSIan Rogers        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
70871fbc431SJin Yao        "CollectPEBSRecord": "2",
70971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
710dd7415ceSIan Rogers        "EventCode": "0x5e",
711dd7415ceSIan Rogers        "EventName": "RS_EVENTS.EMPTY_CYCLES",
71271fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
713dd7415ceSIan Rogers        "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)",
71471fbc431SJin Yao        "SampleAfterValue": "1000003",
71571fbc431SJin Yao        "Speculative": "1",
71671fbc431SJin Yao        "UMask": "0x1"
71771fbc431SJin Yao    },
71871fbc431SJin Yao    {
719dd7415ceSIan Rogers        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
72071fbc431SJin Yao        "CollectPEBSRecord": "2",
72171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
72271fbc431SJin Yao        "CounterMask": "1",
723dd7415ceSIan Rogers        "EdgeDetect": "1",
724dd7415ceSIan Rogers        "EventCode": "0x5E",
725dd7415ceSIan Rogers        "EventName": "RS_EVENTS.EMPTY_END",
72671fbc431SJin Yao        "Invert": "1",
72771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
728dd7415ceSIan Rogers        "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)",
729dd7415ceSIan Rogers        "SampleAfterValue": "100003",
730dd7415ceSIan Rogers        "Speculative": "1",
731dd7415ceSIan Rogers        "UMask": "0x1"
732dd7415ceSIan Rogers    },
733dd7415ceSIan Rogers    {
734*fb76811aSIan Rogers        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
735*fb76811aSIan Rogers        "CollectPEBSRecord": "2",
736*fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
737*fb76811aSIan Rogers        "EventCode": "0xa4",
738*fb76811aSIan Rogers        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
739*fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
740*fb76811aSIan Rogers        "PublicDescription": "Counts the number of Top-down Microarchitecture Analysis (TMA) method's  slots where no micro-operations were being issued from front-end to back-end of the machine due to lack of back-end resources.",
741*fb76811aSIan Rogers        "SampleAfterValue": "10000003",
742*fb76811aSIan Rogers        "Speculative": "1",
743*fb76811aSIan Rogers        "UMask": "0x2"
744*fb76811aSIan Rogers    },
745*fb76811aSIan Rogers    {
746*fb76811aSIan Rogers        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
747*fb76811aSIan Rogers        "CollectPEBSRecord": "2",
748*fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
749*fb76811aSIan Rogers        "EventCode": "0xa4",
750*fb76811aSIan Rogers        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
751*fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
752*fb76811aSIan Rogers        "PublicDescription": "Number of TMA slots that were wasted due to incorrect speculation by branch mispredictions. This event estimates number of operations that were issued but not retired from the specualtive path as well as the out-of-order engine recovery past a branch misprediction.",
753*fb76811aSIan Rogers        "SampleAfterValue": "10000003",
754*fb76811aSIan Rogers        "Speculative": "1",
755*fb76811aSIan Rogers        "UMask": "0x8"
756*fb76811aSIan Rogers    },
757*fb76811aSIan Rogers    {
758*fb76811aSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
759*fb76811aSIan Rogers        "CollectPEBSRecord": "2",
760*fb76811aSIan Rogers        "Counter": "Fixed counter 3",
761*fb76811aSIan Rogers        "EventName": "TOPDOWN.SLOTS",
762*fb76811aSIan Rogers        "PEBScounters": "35",
763*fb76811aSIan Rogers        "PublicDescription": "Number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method (TMA). The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core. Software can use this event as the denominator for the top-level metrics of the TMA method. This architectural event is counted on a designated fixed counter (Fixed Counter 3).",
764*fb76811aSIan Rogers        "SampleAfterValue": "10000003",
765*fb76811aSIan Rogers        "Speculative": "1",
766*fb76811aSIan Rogers        "UMask": "0x4"
767*fb76811aSIan Rogers    },
768*fb76811aSIan Rogers    {
769*fb76811aSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
770*fb76811aSIan Rogers        "CollectPEBSRecord": "2",
771*fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
772*fb76811aSIan Rogers        "EventCode": "0xa4",
773*fb76811aSIan Rogers        "EventName": "TOPDOWN.SLOTS_P",
774*fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
775*fb76811aSIan Rogers        "PublicDescription": "Counts the number of available slots for an unhalted logical processor. The event increments by machine-width of the narrowest pipeline as employed by the Top-down Microarchitecture Analysis method. The count is distributed among unhalted logical processors (hyper-threads) who share the same physical core.",
776*fb76811aSIan Rogers        "SampleAfterValue": "10000003",
777*fb76811aSIan Rogers        "Speculative": "1",
778*fb76811aSIan Rogers        "UMask": "0x1"
779*fb76811aSIan Rogers    },
780*fb76811aSIan Rogers    {
781dd7415ceSIan Rogers        "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
782dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
783dd7415ceSIan Rogers        "Counter": "0,1,2,3",
784dd7415ceSIan Rogers        "EventCode": "0x56",
785dd7415ceSIan Rogers        "EventName": "UOPS_DECODED.DEC0",
786dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
787dd7415ceSIan Rogers        "PublicDescription": "Uops exclusively fetched by decoder 0",
78871fbc431SJin Yao        "SampleAfterValue": "1000003",
78971fbc431SJin Yao        "Speculative": "1",
79071fbc431SJin Yao        "UMask": "0x1"
79171fbc431SJin Yao    },
79271fbc431SJin Yao    {
793dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 0",
79471fbc431SJin Yao        "CollectPEBSRecord": "2",
79571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
796dd7415ceSIan Rogers        "EventCode": "0xa1",
797dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_0",
79871fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
799dd7415ceSIan Rogers        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 0.",
800dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
801dd7415ceSIan Rogers        "Speculative": "1",
802dd7415ceSIan Rogers        "UMask": "0x1"
803dd7415ceSIan Rogers    },
804dd7415ceSIan Rogers    {
805dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 1",
806dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
807dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
808dd7415ceSIan Rogers        "EventCode": "0xa1",
809dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_1",
810dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
811dd7415ceSIan Rogers        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 1.",
812dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
813dd7415ceSIan Rogers        "Speculative": "1",
814dd7415ceSIan Rogers        "UMask": "0x2"
815dd7415ceSIan Rogers    },
816dd7415ceSIan Rogers    {
817dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 2 and 3",
818dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
819dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
820dd7415ceSIan Rogers        "EventCode": "0xa1",
821dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_2_3",
822dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
823dd7415ceSIan Rogers        "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.",
824dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
825dd7415ceSIan Rogers        "Speculative": "1",
826dd7415ceSIan Rogers        "UMask": "0x4"
827dd7415ceSIan Rogers    },
828dd7415ceSIan Rogers    {
829dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 4 and 9",
830dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
831dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
832dd7415ceSIan Rogers        "EventCode": "0xa1",
833dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_4_9",
834dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
835dd7415ceSIan Rogers        "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.",
836dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
837dd7415ceSIan Rogers        "Speculative": "1",
838dd7415ceSIan Rogers        "UMask": "0x10"
839dd7415ceSIan Rogers    },
840dd7415ceSIan Rogers    {
841dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 5",
842dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
843dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
844dd7415ceSIan Rogers        "EventCode": "0xa1",
845dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_5",
846dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
847dd7415ceSIan Rogers        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 5.",
848dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
849dd7415ceSIan Rogers        "Speculative": "1",
850dd7415ceSIan Rogers        "UMask": "0x20"
851dd7415ceSIan Rogers    },
852dd7415ceSIan Rogers    {
853dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 6",
854dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
855dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
856dd7415ceSIan Rogers        "EventCode": "0xa1",
857dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_6",
858dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
859dd7415ceSIan Rogers        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 6.",
860dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
861dd7415ceSIan Rogers        "Speculative": "1",
862dd7415ceSIan Rogers        "UMask": "0x40"
863dd7415ceSIan Rogers    },
864dd7415ceSIan Rogers    {
865dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 7 and 8",
866dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
867dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
868dd7415ceSIan Rogers        "EventCode": "0xa1",
869dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_7_8",
870dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
871dd7415ceSIan Rogers        "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.",
872dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
873dd7415ceSIan Rogers        "Speculative": "1",
874dd7415ceSIan Rogers        "UMask": "0x80"
875dd7415ceSIan Rogers    },
876dd7415ceSIan Rogers    {
877dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on the core.",
878dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
879dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
880dd7415ceSIan Rogers        "EventCode": "0xB1",
881dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE",
882dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
883dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops executed from any thread.",
88471fbc431SJin Yao        "SampleAfterValue": "2000003",
88571fbc431SJin Yao        "Speculative": "1",
88671fbc431SJin Yao        "UMask": "0x2"
88771fbc431SJin Yao    },
88871fbc431SJin Yao    {
88971fbc431SJin Yao        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
89071fbc431SJin Yao        "CollectPEBSRecord": "2",
89171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
89271fbc431SJin Yao        "CounterMask": "1",
89371fbc431SJin Yao        "EventCode": "0xB1",
89471fbc431SJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
89571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
89671fbc431SJin Yao        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
89771fbc431SJin Yao        "SampleAfterValue": "2000003",
89871fbc431SJin Yao        "Speculative": "1",
89971fbc431SJin Yao        "UMask": "0x2"
90071fbc431SJin Yao    },
90171fbc431SJin Yao    {
902dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
90371fbc431SJin Yao        "CollectPEBSRecord": "2",
90471fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
905dd7415ceSIan Rogers        "CounterMask": "2",
906dd7415ceSIan Rogers        "EventCode": "0xB1",
907dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
90871fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
909dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
910dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
911dd7415ceSIan Rogers        "Speculative": "1",
912dd7415ceSIan Rogers        "UMask": "0x2"
91371fbc431SJin Yao    },
91471fbc431SJin Yao    {
915dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
91671fbc431SJin Yao        "CollectPEBSRecord": "2",
91771fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
918dd7415ceSIan Rogers        "CounterMask": "3",
919dd7415ceSIan Rogers        "EventCode": "0xB1",
920dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
92171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
922dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
923dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
924dd7415ceSIan Rogers        "Speculative": "1",
925dd7415ceSIan Rogers        "UMask": "0x2"
926dd7415ceSIan Rogers    },
927dd7415ceSIan Rogers    {
928dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
929dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
930dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
931dd7415ceSIan Rogers        "CounterMask": "4",
932dd7415ceSIan Rogers        "EventCode": "0xB1",
933dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
934dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
935dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
936dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
937dd7415ceSIan Rogers        "Speculative": "1",
938dd7415ceSIan Rogers        "UMask": "0x2"
939dd7415ceSIan Rogers    },
940dd7415ceSIan Rogers    {
941dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
942dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
943dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
944dd7415ceSIan Rogers        "CounterMask": "1",
945dd7415ceSIan Rogers        "EventCode": "0xb1",
946dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
947dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
948dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
949dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
950dd7415ceSIan Rogers        "Speculative": "1",
951dd7415ceSIan Rogers        "UMask": "0x1"
952dd7415ceSIan Rogers    },
953dd7415ceSIan Rogers    {
954dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
955dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
956dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
957dd7415ceSIan Rogers        "CounterMask": "2",
958dd7415ceSIan Rogers        "EventCode": "0xb1",
959dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
960dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
961dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
962dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
963dd7415ceSIan Rogers        "Speculative": "1",
964dd7415ceSIan Rogers        "UMask": "0x1"
965dd7415ceSIan Rogers    },
966dd7415ceSIan Rogers    {
967dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
968dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
969dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
970dd7415ceSIan Rogers        "CounterMask": "3",
971dd7415ceSIan Rogers        "EventCode": "0xb1",
972dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
973dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
974dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
975dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
976dd7415ceSIan Rogers        "Speculative": "1",
977dd7415ceSIan Rogers        "UMask": "0x1"
978dd7415ceSIan Rogers    },
979dd7415ceSIan Rogers    {
980dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
981dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
982dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
983dd7415ceSIan Rogers        "CounterMask": "4",
984dd7415ceSIan Rogers        "EventCode": "0xb1",
985dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
986dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
987dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
988dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
989dd7415ceSIan Rogers        "Speculative": "1",
990dd7415ceSIan Rogers        "UMask": "0x1"
991dd7415ceSIan Rogers    },
992dd7415ceSIan Rogers    {
993dd7415ceSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
994dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
995dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
996dd7415ceSIan Rogers        "CounterMask": "1",
997dd7415ceSIan Rogers        "EventCode": "0xB1",
998dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
999dd7415ceSIan Rogers        "Invert": "1",
1000dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1001dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
1002dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1003dd7415ceSIan Rogers        "Speculative": "1",
1004dd7415ceSIan Rogers        "UMask": "0x1"
1005dd7415ceSIan Rogers    },
1006dd7415ceSIan Rogers    {
1007dd7415ceSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
1008dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1009dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1010dd7415ceSIan Rogers        "EventCode": "0xb1",
1011dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
1012dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1013dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1014dd7415ceSIan Rogers        "Speculative": "1",
1015dd7415ceSIan Rogers        "UMask": "0x1"
1016dd7415ceSIan Rogers    },
1017dd7415ceSIan Rogers    {
1018dd7415ceSIan Rogers        "BriefDescription": "Counts the number of x87 uops dispatched.",
1019dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1020dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1021dd7415ceSIan Rogers        "EventCode": "0xB1",
1022dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.X87",
1023dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1024dd7415ceSIan Rogers        "PublicDescription": "Counts the number of x87 uops executed.",
1025dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
102671fbc431SJin Yao        "Speculative": "1",
102771fbc431SJin Yao        "UMask": "0x10"
102871fbc431SJin Yao    },
102971fbc431SJin Yao    {
1030dd7415ceSIan Rogers        "BriefDescription": "Uops that RAT issues to RS",
103171fbc431SJin Yao        "CollectPEBSRecord": "2",
103271fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1033dd7415ceSIan Rogers        "EventCode": "0x0e",
1034dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
103571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1036dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
103771fbc431SJin Yao        "SampleAfterValue": "2000003",
103871fbc431SJin Yao        "Speculative": "1",
103971fbc431SJin Yao        "UMask": "0x1"
104071fbc431SJin Yao    },
104171fbc431SJin Yao    {
1042dd7415ceSIan Rogers        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
104371fbc431SJin Yao        "CollectPEBSRecord": "2",
104471fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1045dd7415ceSIan Rogers        "CounterMask": "1",
1046dd7415ceSIan Rogers        "EventCode": "0x0E",
1047dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
1048dd7415ceSIan Rogers        "Invert": "1",
104971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1050dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which the Resource Allocation Table (RAT) does not issue any Uops to the reservation station (RS) for the current thread.",
1051dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1052dd7415ceSIan Rogers        "Speculative": "1",
1053dd7415ceSIan Rogers        "UMask": "0x1"
1054dd7415ceSIan Rogers    },
1055dd7415ceSIan Rogers    {
1056dd7415ceSIan Rogers        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
1057dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1058dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1059dd7415ceSIan Rogers        "EventCode": "0x0e",
1060dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
1061dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1062dd7415ceSIan Rogers        "PublicDescription": "Counts the number of Blend Uops issued by the Resource Allocation Table (RAT) to the reservation station (RS) in order to preserve upper bits of vector registers. Starting with the Skylake microarchitecture, these Blend uops are needed since every Intel SSE instruction executed in Dirty Upper State needs to preserve bits 128-255 of the destination register. For more information, refer to Mixing Intel AVX and Intel SSE Code section of the Optimization Guide.",
1063dd7415ceSIan Rogers        "SampleAfterValue": "100003",
1064dd7415ceSIan Rogers        "Speculative": "1",
1065dd7415ceSIan Rogers        "UMask": "0x2"
1066dd7415ceSIan Rogers    },
1067dd7415ceSIan Rogers    {
1068dd7415ceSIan Rogers        "BriefDescription": "Retirement slots used.",
1069dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1070dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1071dd7415ceSIan Rogers        "EventCode": "0xc2",
1072dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.SLOTS",
1073dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1074dd7415ceSIan Rogers        "PublicDescription": "Counts the retirement slots used each cycle.",
1075dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1076dd7415ceSIan Rogers        "UMask": "0x2"
1077dd7415ceSIan Rogers    },
1078dd7415ceSIan Rogers    {
1079dd7415ceSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1080dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1081dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1082dd7415ceSIan Rogers        "CounterMask": "1",
1083dd7415ceSIan Rogers        "EventCode": "0xc2",
1084dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1085dd7415ceSIan Rogers        "Invert": "1",
1086dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1087dd7415ceSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
1088dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1089dd7415ceSIan Rogers        "Speculative": "1",
1090dd7415ceSIan Rogers        "UMask": "0x2"
1091dd7415ceSIan Rogers    },
1092dd7415ceSIan Rogers    {
1093dd7415ceSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1094dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1095dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1096dd7415ceSIan Rogers        "CounterMask": "10",
1097dd7415ceSIan Rogers        "EventCode": "0xc2",
1098dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
1099dd7415ceSIan Rogers        "Invert": "1",
1100dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1101dd7415ceSIan Rogers        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
1102dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1103dd7415ceSIan Rogers        "UMask": "0x2"
1104b115df07SHaiyan Song    }
1105b115df07SHaiyan Song]