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    {
162c77f36aSIan Rogers        "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.",
172c77f36aSIan Rogers        "CollectPEBSRecord": "2",
182c77f36aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
192c77f36aSIan Rogers        "EventCode": "0xc1",
202c77f36aSIan Rogers        "EventName": "ASSISTS.ANY",
212c77f36aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
222c77f36aSIan Rogers        "PublicDescription": "Counts the number of occurrences where a microcode assist is invoked by hardware Examples include AD (page Access Dirty), FP and AVX related assists.",
232c77f36aSIan Rogers        "SampleAfterValue": "100003",
242c77f36aSIan Rogers        "Speculative": "1",
252c77f36aSIan Rogers        "UMask": "0x7"
262c77f36aSIan Rogers    },
272c77f36aSIan Rogers    {
28dd7415ceSIan Rogers        "BriefDescription": "All branch instructions retired.",
29dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
30dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
31dd7415ceSIan Rogers        "EventCode": "0xc4",
32dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
3371fbc431SJin Yao        "PEBS": "1",
34b115df07SHaiyan Song        "PEBScounters": "0,1,2,3,4,5,6,7",
35dd7415ceSIan Rogers        "PublicDescription": "Counts all branch instructions retired.",
36dd7415ceSIan Rogers        "SampleAfterValue": "400009"
37b115df07SHaiyan Song    },
38b115df07SHaiyan Song    {
39dd7415ceSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
40b115df07SHaiyan Song        "CollectPEBSRecord": "2",
41b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
42dd7415ceSIan Rogers        "EventCode": "0xc4",
43dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.COND",
44dd7415ceSIan Rogers        "PEBS": "1",
4571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
46dd7415ceSIan Rogers        "PublicDescription": "Counts conditional branch instructions retired.",
47dd7415ceSIan Rogers        "SampleAfterValue": "400009",
48dd7415ceSIan Rogers        "UMask": "0x11"
49b115df07SHaiyan Song    },
50b115df07SHaiyan Song    {
5171fbc431SJin Yao        "BriefDescription": "Not taken branch instructions retired.",
52b115df07SHaiyan Song        "CollectPEBSRecord": "2",
53b115df07SHaiyan Song        "Counter": "0,1,2,3,4,5,6,7",
54b115df07SHaiyan Song        "EventCode": "0xc4",
55b115df07SHaiyan Song        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
5671fbc431SJin Yao        "PEBS": "1",
5771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
5871fbc431SJin Yao        "PublicDescription": "Counts not taken branch instructions retired.",
59b115df07SHaiyan Song        "SampleAfterValue": "400009",
6071fbc431SJin Yao        "UMask": "0x10"
61b115df07SHaiyan Song    },
62b115df07SHaiyan Song    {
63dd7415ceSIan Rogers        "BriefDescription": "Taken conditional branch instructions retired.",
6471fbc431SJin Yao        "CollectPEBSRecord": "2",
6571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
66b115df07SHaiyan Song        "EventCode": "0xc4",
67dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.COND_TAKEN",
6871fbc431SJin Yao        "PEBS": "1",
6971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
70dd7415ceSIan Rogers        "PublicDescription": "Counts taken conditional branch instructions retired.",
7171fbc431SJin Yao        "SampleAfterValue": "400009",
7271fbc431SJin Yao        "UMask": "0x1"
73b115df07SHaiyan Song    },
74b115df07SHaiyan Song    {
7571fbc431SJin Yao        "BriefDescription": "Far branch instructions retired.",
7671fbc431SJin Yao        "CollectPEBSRecord": "2",
7771fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
7871fbc431SJin Yao        "EventCode": "0xc4",
7971fbc431SJin Yao        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
8071fbc431SJin Yao        "PEBS": "1",
8171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
8271fbc431SJin Yao        "PublicDescription": "Counts far branch instructions retired.",
8371fbc431SJin Yao        "SampleAfterValue": "100007",
8471fbc431SJin Yao        "UMask": "0x40"
8571fbc431SJin Yao    },
8671fbc431SJin Yao    {
87dd7415ceSIan Rogers        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
8871fbc431SJin Yao        "CollectPEBSRecord": "2",
8971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
9071fbc431SJin Yao        "EventCode": "0xc4",
91dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.INDIRECT",
9271fbc431SJin Yao        "PEBS": "1",
9371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
94dd7415ceSIan Rogers        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
95dd7415ceSIan Rogers        "SampleAfterValue": "100003",
96dd7415ceSIan Rogers        "UMask": "0x80"
9771fbc431SJin Yao    },
9871fbc431SJin Yao    {
9971fbc431SJin Yao        "BriefDescription": "Direct and indirect near call instructions retired.",
10071fbc431SJin Yao        "CollectPEBSRecord": "2",
10171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
10271fbc431SJin Yao        "EventCode": "0xc4",
10371fbc431SJin Yao        "EventName": "BR_INST_RETIRED.NEAR_CALL",
10471fbc431SJin Yao        "PEBS": "1",
10571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
10671fbc431SJin Yao        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
10771fbc431SJin Yao        "SampleAfterValue": "100007",
10871fbc431SJin Yao        "UMask": "0x2"
10971fbc431SJin Yao    },
11071fbc431SJin Yao    {
111dd7415ceSIan Rogers        "BriefDescription": "Return instructions retired.",
11271fbc431SJin Yao        "CollectPEBSRecord": "2",
11371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
11471fbc431SJin Yao        "EventCode": "0xc4",
115dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
11671fbc431SJin Yao        "PEBS": "1",
11771fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
118dd7415ceSIan Rogers        "PublicDescription": "Counts return instructions retired.",
119dd7415ceSIan Rogers        "SampleAfterValue": "100007",
120dd7415ceSIan Rogers        "UMask": "0x8"
12171fbc431SJin Yao    },
12271fbc431SJin Yao    {
123dd7415ceSIan Rogers        "BriefDescription": "Taken branch instructions retired.",
12471fbc431SJin Yao        "CollectPEBSRecord": "2",
12571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
126dd7415ceSIan Rogers        "EventCode": "0xc4",
127dd7415ceSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
128dd7415ceSIan Rogers        "PEBS": "1",
12971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
130dd7415ceSIan Rogers        "PublicDescription": "Counts taken branch instructions retired.",
131dd7415ceSIan Rogers        "SampleAfterValue": "400009",
132dd7415ceSIan Rogers        "UMask": "0x20"
133dd7415ceSIan Rogers    },
134dd7415ceSIan Rogers    {
135dd7415ceSIan Rogers        "BriefDescription": "All mispredicted branch instructions retired.",
136dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
137dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
138dd7415ceSIan Rogers        "EventCode": "0xc5",
139dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
140dd7415ceSIan Rogers        "PEBS": "1",
141dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
142dd7415ceSIan 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.",
143dd7415ceSIan Rogers        "SampleAfterValue": "50021"
144dd7415ceSIan Rogers    },
145dd7415ceSIan Rogers    {
146dd7415ceSIan Rogers        "BriefDescription": "Mispredicted 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",
151dd7415ceSIan Rogers        "PEBS": "1",
152dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
153dd7415ceSIan Rogers        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
154dd7415ceSIan Rogers        "SampleAfterValue": "50021",
155dd7415ceSIan Rogers        "UMask": "0x11"
156dd7415ceSIan Rogers    },
157dd7415ceSIan Rogers    {
158dd7415ceSIan Rogers        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
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_NTAKEN",
163dd7415ceSIan Rogers        "PEBS": "1",
164dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
165dd7415ceSIan Rogers        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
166dd7415ceSIan Rogers        "SampleAfterValue": "50021",
167dd7415ceSIan Rogers        "UMask": "0x10"
168dd7415ceSIan Rogers    },
169dd7415ceSIan Rogers    {
170dd7415ceSIan Rogers        "BriefDescription": "number of branch instructions retired that were mispredicted and taken. Non PEBS",
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.COND_TAKEN",
175dd7415ceSIan Rogers        "PEBS": "1",
176dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
177dd7415ceSIan Rogers        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
178dd7415ceSIan Rogers        "SampleAfterValue": "50021",
17971fbc431SJin Yao        "UMask": "0x1"
18071fbc431SJin Yao    },
18171fbc431SJin Yao    {
182dd7415ceSIan Rogers        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
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",
187dd7415ceSIan Rogers        "PEBS": "1",
188dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
189dd7415ceSIan Rogers        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
190dd7415ceSIan Rogers        "SampleAfterValue": "50021",
191dd7415ceSIan Rogers        "UMask": "0x80"
192dd7415ceSIan Rogers    },
193dd7415ceSIan Rogers    {
194dd7415ceSIan Rogers        "BriefDescription": "Mispredicted indirect CALL instructions retired.",
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.INDIRECT_CALL",
199dd7415ceSIan Rogers        "PEBS": "1",
200dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
201dd7415ceSIan Rogers        "PublicDescription": "Counts retired mispredicted indirect (near taken) CALL instructions, including both register and memory indirect.",
202dd7415ceSIan Rogers        "SampleAfterValue": "50021",
203dd7415ceSIan Rogers        "UMask": "0x2"
204dd7415ceSIan Rogers    },
205dd7415ceSIan Rogers    {
206dd7415ceSIan Rogers        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
207dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
208dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
209dd7415ceSIan Rogers        "EventCode": "0xc5",
210dd7415ceSIan Rogers        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
211dd7415ceSIan Rogers        "PEBS": "1",
212dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
213dd7415ceSIan Rogers        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
214dd7415ceSIan Rogers        "SampleAfterValue": "50021",
215dd7415ceSIan Rogers        "UMask": "0x20"
216dd7415ceSIan Rogers    },
217dd7415ceSIan Rogers    {
21871fbc431SJin Yao        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
21971fbc431SJin Yao        "CollectPEBSRecord": "2",
22071fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
22171fbc431SJin Yao        "EventCode": "0xec",
22271fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
22371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
22471fbc431SJin 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.",
22571fbc431SJin Yao        "SampleAfterValue": "2000003",
22671fbc431SJin Yao        "Speculative": "1",
22771fbc431SJin Yao        "UMask": "0x2"
22871fbc431SJin Yao    },
22971fbc431SJin Yao    {
23071fbc431SJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
23171fbc431SJin Yao        "CollectPEBSRecord": "2",
23271fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
23371fbc431SJin Yao        "EventCode": "0x3C",
23471fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
23571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
23671fbc431SJin Yao        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
23771fbc431SJin Yao        "SampleAfterValue": "25003",
23871fbc431SJin Yao        "Speculative": "1",
23971fbc431SJin Yao        "UMask": "0x2"
24071fbc431SJin Yao    },
24171fbc431SJin Yao    {
242dd7415ceSIan Rogers        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
243dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
244dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
245dd7415ceSIan Rogers        "EventCode": "0x3c",
246dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
247dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
248dd7415ceSIan 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.",
249dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
250dd7415ceSIan Rogers        "Speculative": "1",
251dd7415ceSIan Rogers        "UMask": "0x8"
252dd7415ceSIan Rogers    },
253dd7415ceSIan Rogers    {
254dd7415ceSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
255dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
256dd7415ceSIan Rogers        "Counter": "Fixed counter 2",
257dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
258dd7415ceSIan Rogers        "PEBScounters": "34",
259dd7415ceSIan 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.",
260dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
261dd7415ceSIan Rogers        "Speculative": "1",
262dd7415ceSIan Rogers        "UMask": "0x3"
263dd7415ceSIan Rogers    },
264dd7415ceSIan Rogers    {
265dd7415ceSIan Rogers        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
266dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
267dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
268dd7415ceSIan Rogers        "EventCode": "0x3C",
269dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
270dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
271dd7415ceSIan Rogers        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
272dd7415ceSIan Rogers        "SampleAfterValue": "25003",
273dd7415ceSIan Rogers        "Speculative": "1",
274dd7415ceSIan Rogers        "UMask": "0x1"
275dd7415ceSIan Rogers    },
276dd7415ceSIan Rogers    {
277dd7415ceSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
278dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
279dd7415ceSIan Rogers        "Counter": "Fixed counter 1",
280dd7415ceSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
281dd7415ceSIan Rogers        "PEBScounters": "33",
282dd7415ceSIan 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.",
283dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
284dd7415ceSIan Rogers        "Speculative": "1",
285dd7415ceSIan Rogers        "UMask": "0x2"
286dd7415ceSIan Rogers    },
287dd7415ceSIan Rogers    {
28871fbc431SJin Yao        "BriefDescription": "Thread cycles when thread is not in halt state",
28971fbc431SJin Yao        "CollectPEBSRecord": "2",
29071fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
29171fbc431SJin Yao        "EventCode": "0x3C",
29271fbc431SJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
29371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
29471fbc431SJin 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.",
29571fbc431SJin Yao        "SampleAfterValue": "2000003",
29671fbc431SJin Yao        "Speculative": "1"
29771fbc431SJin Yao    },
29871fbc431SJin Yao    {
299dd7415ceSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
30071fbc431SJin Yao        "CollectPEBSRecord": "2",
301dd7415ceSIan Rogers        "Counter": "0,1,2,3",
302dd7415ceSIan Rogers        "CounterMask": "8",
303dd7415ceSIan Rogers        "EventCode": "0xA3",
304dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
305dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
306dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
307dd7415ceSIan Rogers        "Speculative": "1",
308dd7415ceSIan Rogers        "UMask": "0x8"
30971fbc431SJin Yao    },
31071fbc431SJin Yao    {
311dd7415ceSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
31271fbc431SJin Yao        "CollectPEBSRecord": "2",
313dd7415ceSIan Rogers        "Counter": "0,1,2,3",
314dd7415ceSIan Rogers        "CounterMask": "1",
315dd7415ceSIan Rogers        "EventCode": "0xA3",
316dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
317dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
318dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
31971fbc431SJin Yao        "Speculative": "1",
32071fbc431SJin Yao        "UMask": "0x1"
32171fbc431SJin Yao    },
32271fbc431SJin Yao    {
323dd7415ceSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
32471fbc431SJin Yao        "CollectPEBSRecord": "2",
32571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
326dd7415ceSIan Rogers        "CounterMask": "16",
327dd7415ceSIan Rogers        "EventCode": "0xA3",
328dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
32971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
330dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
331dd7415ceSIan Rogers        "Speculative": "1",
332dd7415ceSIan Rogers        "UMask": "0x10"
33371fbc431SJin Yao    },
33471fbc431SJin Yao    {
335dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
336dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
337dd7415ceSIan Rogers        "Counter": "0,1,2,3",
338dd7415ceSIan Rogers        "CounterMask": "12",
339dd7415ceSIan Rogers        "EventCode": "0xA3",
340dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
341dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
342dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
343dd7415ceSIan Rogers        "Speculative": "1",
344dd7415ceSIan Rogers        "UMask": "0xc"
345dd7415ceSIan Rogers    },
346dd7415ceSIan Rogers    {
347dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
348dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
349dd7415ceSIan Rogers        "Counter": "0,1,2,3",
350dd7415ceSIan Rogers        "CounterMask": "5",
351dd7415ceSIan Rogers        "EventCode": "0xa3",
352dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
353dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
354dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
355dd7415ceSIan Rogers        "Speculative": "1",
356dd7415ceSIan Rogers        "UMask": "0x5"
357dd7415ceSIan Rogers    },
358dd7415ceSIan Rogers    {
359dd7415ceSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
36071fbc431SJin Yao        "CollectPEBSRecord": "2",
36171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
362dd7415ceSIan Rogers        "CounterMask": "20",
363dd7415ceSIan Rogers        "EventCode": "0xa3",
364dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
36571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
366dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
367dd7415ceSIan Rogers        "Speculative": "1",
368dd7415ceSIan Rogers        "UMask": "0x14"
369dd7415ceSIan Rogers    },
370dd7415ceSIan Rogers    {
371dd7415ceSIan Rogers        "BriefDescription": "Total execution stalls.",
372dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
373dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
374dd7415ceSIan Rogers        "CounterMask": "4",
375dd7415ceSIan Rogers        "EventCode": "0xa3",
376dd7415ceSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
377dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
378dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
379dd7415ceSIan Rogers        "Speculative": "1",
380dd7415ceSIan Rogers        "UMask": "0x4"
381dd7415ceSIan Rogers    },
382dd7415ceSIan Rogers    {
383dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 1 uop is 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.1_PORTS_UTIL",
388dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
389dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
390dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
391dd7415ceSIan Rogers        "Speculative": "1",
392dd7415ceSIan Rogers        "UMask": "0x2"
393dd7415ceSIan Rogers    },
394dd7415ceSIan Rogers    {
395dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 2 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.2_PORTS_UTIL",
400dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
401dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
402dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
403dd7415ceSIan Rogers        "Speculative": "1",
404dd7415ceSIan Rogers        "UMask": "0x4"
405dd7415ceSIan Rogers    },
406dd7415ceSIan Rogers    {
407dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 3 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.3_PORTS_UTIL",
412dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
413dd7415ceSIan Rogers        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
414dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
415dd7415ceSIan Rogers        "Speculative": "1",
416dd7415ceSIan Rogers        "UMask": "0x8"
417dd7415ceSIan Rogers    },
418dd7415ceSIan Rogers    {
419dd7415ceSIan Rogers        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
420dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
421dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
422dd7415ceSIan Rogers        "EventCode": "0xa6",
423dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
424dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
425dd7415ceSIan Rogers        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
426dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
427dd7415ceSIan Rogers        "Speculative": "1",
428dd7415ceSIan Rogers        "UMask": "0x10"
429dd7415ceSIan Rogers    },
430dd7415ceSIan Rogers    {
431dd7415ceSIan Rogers        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
432dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
433dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
434dd7415ceSIan Rogers        "CounterMask": "2",
435dd7415ceSIan Rogers        "EventCode": "0xA6",
436dd7415ceSIan Rogers        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
437dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
438dd7415ceSIan Rogers        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
439dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
440dd7415ceSIan Rogers        "Speculative": "1",
441dd7415ceSIan Rogers        "UMask": "0x40"
442dd7415ceSIan Rogers    },
443dd7415ceSIan Rogers    {
444dd7415ceSIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
445dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
446dd7415ceSIan Rogers        "Counter": "0,1,2,3",
447dd7415ceSIan Rogers        "EventCode": "0x87",
448dd7415ceSIan Rogers        "EventName": "ILD_STALL.LCP",
449dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
450dd7415ceSIan 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.",
451dd7415ceSIan Rogers        "SampleAfterValue": "500009",
452dd7415ceSIan Rogers        "Speculative": "1",
453dd7415ceSIan Rogers        "UMask": "0x1"
454dd7415ceSIan Rogers    },
455dd7415ceSIan Rogers    {
456*a5043ed9SIan Rogers        "BriefDescription": "Instruction decoders utilized in a cycle",
457*a5043ed9SIan Rogers        "CollectPEBSRecord": "2",
458*a5043ed9SIan Rogers        "Counter": "0,1,2,3",
459*a5043ed9SIan Rogers        "EventCode": "0x55",
460*a5043ed9SIan Rogers        "EventName": "INST_DECODED.DECODERS",
461*a5043ed9SIan Rogers        "PEBScounters": "0,1,2,3",
462*a5043ed9SIan Rogers        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
463*a5043ed9SIan Rogers        "SampleAfterValue": "2000003",
464*a5043ed9SIan Rogers        "Speculative": "1",
465*a5043ed9SIan Rogers        "UMask": "0x1"
466*a5043ed9SIan Rogers    },
467*a5043ed9SIan Rogers    {
468dd7415ceSIan Rogers        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
469dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
470dd7415ceSIan Rogers        "Counter": "Fixed counter 0",
471dd7415ceSIan Rogers        "EventName": "INST_RETIRED.ANY",
472dd7415ceSIan Rogers        "PEBS": "1",
473dd7415ceSIan Rogers        "PEBScounters": "32",
474dd7415ceSIan 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.",
475dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
476dd7415ceSIan Rogers        "UMask": "0x1"
477dd7415ceSIan Rogers    },
478dd7415ceSIan Rogers    {
479dd7415ceSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
480dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
481dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
482dd7415ceSIan Rogers        "EventCode": "0xc0",
483dd7415ceSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
484dd7415ceSIan Rogers        "PEBS": "1",
485dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
486dd7415ceSIan 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.",
487dd7415ceSIan Rogers        "SampleAfterValue": "2000003"
488dd7415ceSIan Rogers    },
489dd7415ceSIan Rogers    {
490dd7415ceSIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
491dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
492dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
493dd7415ceSIan Rogers        "EventCode": "0xc0",
494dd7415ceSIan Rogers        "EventName": "INST_RETIRED.NOP",
495dd7415ceSIan Rogers        "PEBS": "1",
496dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
49771fbc431SJin Yao        "SampleAfterValue": "2000003",
49871fbc431SJin Yao        "UMask": "0x2"
49971fbc431SJin Yao    },
50071fbc431SJin Yao    {
501dd7415ceSIan Rogers        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution",
502dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
503dd7415ceSIan Rogers        "Counter": "Fixed counter 0",
504dd7415ceSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
505dd7415ceSIan Rogers        "PEBS": "1",
506dd7415ceSIan Rogers        "PEBScounters": "32",
507dd7415ceSIan 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.",
508dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
509dd7415ceSIan Rogers        "UMask": "0x1"
510dd7415ceSIan Rogers    },
511dd7415ceSIan Rogers    {
512dd7415ceSIan Rogers        "BriefDescription": "Cycles without actually retired instructions.",
513dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
514dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
515dd7415ceSIan Rogers        "CounterMask": "1",
516dd7415ceSIan Rogers        "EventCode": "0xc0",
517dd7415ceSIan Rogers        "EventName": "INST_RETIRED.STALL_CYCLES",
518dd7415ceSIan Rogers        "Invert": "1",
519dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
520dd7415ceSIan Rogers        "PublicDescription": "This event counts cycles without actually retired instructions.",
521dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
522dd7415ceSIan Rogers        "Speculative": "1",
523dd7415ceSIan Rogers        "UMask": "0x1"
524dd7415ceSIan Rogers    },
525dd7415ceSIan Rogers    {
526dd7415ceSIan Rogers        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
527dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
528dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
529dd7415ceSIan Rogers        "CounterMask": "1",
530dd7415ceSIan Rogers        "EventCode": "0x0D",
531dd7415ceSIan Rogers        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
532dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
533dd7415ceSIan Rogers        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
534dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
535dd7415ceSIan Rogers        "Speculative": "1",
536dd7415ceSIan Rogers        "UMask": "0x3"
537dd7415ceSIan Rogers    },
538dd7415ceSIan Rogers    {
539dd7415ceSIan Rogers        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
540dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
541dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
542dd7415ceSIan Rogers        "EventCode": "0x0d",
543dd7415ceSIan Rogers        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
544dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
545dd7415ceSIan Rogers        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
546dd7415ceSIan Rogers        "SampleAfterValue": "500009",
547dd7415ceSIan Rogers        "Speculative": "1",
548dd7415ceSIan Rogers        "UMask": "0x80"
549dd7415ceSIan Rogers    },
550dd7415ceSIan Rogers    {
551dd7415ceSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
552dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
553dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
554dd7415ceSIan Rogers        "EventCode": "0x0D",
555dd7415ceSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
556dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
557dd7415ceSIan Rogers        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
558dd7415ceSIan Rogers        "SampleAfterValue": "500009",
559dd7415ceSIan Rogers        "Speculative": "1",
560dd7415ceSIan Rogers        "UMask": "0x1"
561dd7415ceSIan Rogers    },
562dd7415ceSIan Rogers    {
563dd7415ceSIan Rogers        "BriefDescription": "TMA slots where uops got dropped",
564dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
565dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
566dd7415ceSIan Rogers        "EventCode": "0x0d",
567dd7415ceSIan Rogers        "EventName": "INT_MISC.UOP_DROPPING",
568dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
569dd7415ceSIan Rogers        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
570dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
571dd7415ceSIan Rogers        "Speculative": "1",
572dd7415ceSIan Rogers        "UMask": "0x10"
573dd7415ceSIan Rogers    },
574dd7415ceSIan Rogers    {
575dd7415ceSIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
576dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
577dd7415ceSIan Rogers        "Counter": "0,1,2,3",
578dd7415ceSIan Rogers        "EventCode": "0x03",
579dd7415ceSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
580dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
581dd7415ceSIan 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.",
582dd7415ceSIan Rogers        "SampleAfterValue": "100003",
583dd7415ceSIan Rogers        "Speculative": "1",
584dd7415ceSIan Rogers        "UMask": "0x8"
585dd7415ceSIan Rogers    },
586dd7415ceSIan Rogers    {
587dd7415ceSIan Rogers        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
588dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
589dd7415ceSIan Rogers        "Counter": "0,1,2,3",
590dd7415ceSIan Rogers        "EventCode": "0x03",
591dd7415ceSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
592dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
593dd7415ceSIan 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.",
594dd7415ceSIan Rogers        "SampleAfterValue": "100003",
595dd7415ceSIan Rogers        "Speculative": "1",
596dd7415ceSIan Rogers        "UMask": "0x2"
597dd7415ceSIan Rogers    },
598dd7415ceSIan Rogers    {
599dd7415ceSIan Rogers        "BriefDescription": "False dependencies due to partial compare on address.",
600dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
601dd7415ceSIan Rogers        "Counter": "0,1,2,3",
602dd7415ceSIan Rogers        "EventCode": "0x07",
603dd7415ceSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
604dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
605dd7415ceSIan Rogers        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies due to partial compare on address.",
606dd7415ceSIan Rogers        "SampleAfterValue": "100003",
607dd7415ceSIan Rogers        "Speculative": "1",
608dd7415ceSIan Rogers        "UMask": "0x1"
609dd7415ceSIan Rogers    },
610dd7415ceSIan Rogers    {
611dd7415ceSIan Rogers        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
612dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
613dd7415ceSIan Rogers        "Counter": "0,1,2,3",
614dd7415ceSIan Rogers        "EventCode": "0x4c",
615dd7415ceSIan Rogers        "EventName": "LOAD_HIT_PREFETCH.SWPF",
616dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
617dd7415ceSIan 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.",
618dd7415ceSIan Rogers        "SampleAfterValue": "100003",
619dd7415ceSIan Rogers        "Speculative": "1",
620dd7415ceSIan Rogers        "UMask": "0x1"
621dd7415ceSIan Rogers    },
622dd7415ceSIan Rogers    {
623dd7415ceSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
624dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
625dd7415ceSIan Rogers        "Counter": "0,1,2,3",
626dd7415ceSIan Rogers        "CounterMask": "1",
627dd7415ceSIan Rogers        "EventCode": "0xA8",
628dd7415ceSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
629dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
630dd7415ceSIan Rogers        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
631dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
632dd7415ceSIan Rogers        "Speculative": "1",
633dd7415ceSIan Rogers        "UMask": "0x1"
634dd7415ceSIan Rogers    },
635dd7415ceSIan Rogers    {
63671fbc431SJin Yao        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
63771fbc431SJin Yao        "CollectPEBSRecord": "2",
63871fbc431SJin Yao        "Counter": "0,1,2,3",
63971fbc431SJin Yao        "CounterMask": "5",
64071fbc431SJin Yao        "EventCode": "0xa8",
64171fbc431SJin Yao        "EventName": "LSD.CYCLES_OK",
64271fbc431SJin Yao        "PEBScounters": "0,1,2,3",
64371fbc431SJin Yao        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
64471fbc431SJin Yao        "SampleAfterValue": "2000003",
64571fbc431SJin Yao        "Speculative": "1",
64671fbc431SJin Yao        "UMask": "0x1"
64771fbc431SJin Yao    },
64871fbc431SJin Yao    {
649dd7415ceSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
650dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
651dd7415ceSIan Rogers        "Counter": "0,1,2,3",
652dd7415ceSIan Rogers        "EventCode": "0xa8",
653dd7415ceSIan Rogers        "EventName": "LSD.UOPS",
654dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
655dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
656dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
657dd7415ceSIan Rogers        "Speculative": "1",
658dd7415ceSIan Rogers        "UMask": "0x1"
659dd7415ceSIan Rogers    },
660dd7415ceSIan Rogers    {
661dd7415ceSIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
66271fbc431SJin Yao        "CollectPEBSRecord": "2",
66371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
664dd7415ceSIan Rogers        "CounterMask": "1",
665dd7415ceSIan Rogers        "EdgeDetect": "1",
666dd7415ceSIan Rogers        "EventCode": "0xc3",
667dd7415ceSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
66871fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
669dd7415ceSIan Rogers        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
670dd7415ceSIan Rogers        "SampleAfterValue": "100003",
671dd7415ceSIan Rogers        "Speculative": "1",
672dd7415ceSIan Rogers        "UMask": "0x1"
673dd7415ceSIan Rogers    },
674dd7415ceSIan Rogers    {
675dd7415ceSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
676dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
677dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
678dd7415ceSIan Rogers        "EventCode": "0xc3",
679dd7415ceSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
680dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
681dd7415ceSIan Rogers        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
682dd7415ceSIan Rogers        "SampleAfterValue": "100003",
683dd7415ceSIan Rogers        "Speculative": "1",
684dd7415ceSIan Rogers        "UMask": "0x4"
685dd7415ceSIan Rogers    },
686dd7415ceSIan Rogers    {
687dd7415ceSIan Rogers        "BriefDescription": "Increments whenever there is an update to the LBR array.",
688dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
689dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
690dd7415ceSIan Rogers        "EventCode": "0xcc",
691dd7415ceSIan Rogers        "EventName": "MISC_RETIRED.LBR_INSERTS",
692dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
693dd7415ceSIan 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.",
694dd7415ceSIan Rogers        "SampleAfterValue": "100003",
695dd7415ceSIan Rogers        "UMask": "0x20"
696dd7415ceSIan Rogers    },
697dd7415ceSIan Rogers    {
698dd7415ceSIan Rogers        "BriefDescription": "Number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
699dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
700dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
701dd7415ceSIan Rogers        "EventCode": "0xcc",
702dd7415ceSIan Rogers        "EventName": "MISC_RETIRED.PAUSE_INST",
703dd7415ceSIan Rogers        "PublicDescription": "Counts number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
704dd7415ceSIan Rogers        "SampleAfterValue": "100003",
705dd7415ceSIan Rogers        "UMask": "0x40"
706dd7415ceSIan Rogers    },
707dd7415ceSIan Rogers    {
708dd7415ceSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
709dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
710dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
711dd7415ceSIan Rogers        "EventCode": "0xa2",
712dd7415ceSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
713dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
714dd7415ceSIan 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.",
715dd7415ceSIan Rogers        "SampleAfterValue": "100003",
71671fbc431SJin Yao        "Speculative": "1",
71771fbc431SJin Yao        "UMask": "0x8"
71871fbc431SJin Yao    },
71971fbc431SJin Yao    {
720dd7415ceSIan Rogers        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
72171fbc431SJin Yao        "CollectPEBSRecord": "2",
72271fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
723dd7415ceSIan Rogers        "EventCode": "0xa2",
724dd7415ceSIan Rogers        "EventName": "RESOURCE_STALLS.SCOREBOARD",
72571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
726dd7415ceSIan Rogers        "SampleAfterValue": "100003",
72771fbc431SJin Yao        "Speculative": "1",
728dd7415ceSIan Rogers        "UMask": "0x2"
72971fbc431SJin Yao    },
73071fbc431SJin Yao    {
731dd7415ceSIan Rogers        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
73271fbc431SJin Yao        "CollectPEBSRecord": "2",
73371fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
734dd7415ceSIan Rogers        "EventCode": "0x5e",
735dd7415ceSIan Rogers        "EventName": "RS_EVENTS.EMPTY_CYCLES",
73671fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
737dd7415ceSIan 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)",
73871fbc431SJin Yao        "SampleAfterValue": "1000003",
73971fbc431SJin Yao        "Speculative": "1",
74071fbc431SJin Yao        "UMask": "0x1"
74171fbc431SJin Yao    },
74271fbc431SJin Yao    {
743dd7415ceSIan Rogers        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
74471fbc431SJin Yao        "CollectPEBSRecord": "2",
74571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
74671fbc431SJin Yao        "CounterMask": "1",
747dd7415ceSIan Rogers        "EdgeDetect": "1",
748dd7415ceSIan Rogers        "EventCode": "0x5E",
749dd7415ceSIan Rogers        "EventName": "RS_EVENTS.EMPTY_END",
75071fbc431SJin Yao        "Invert": "1",
75171fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
752dd7415ceSIan 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)",
753dd7415ceSIan Rogers        "SampleAfterValue": "100003",
754dd7415ceSIan Rogers        "Speculative": "1",
755dd7415ceSIan Rogers        "UMask": "0x1"
756dd7415ceSIan Rogers    },
757dd7415ceSIan Rogers    {
758fb76811aSIan Rogers        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
759fb76811aSIan Rogers        "CollectPEBSRecord": "2",
760fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
761fb76811aSIan Rogers        "EventCode": "0xa4",
762fb76811aSIan Rogers        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
763fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
764fb76811aSIan 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.",
765fb76811aSIan Rogers        "SampleAfterValue": "10000003",
766fb76811aSIan Rogers        "Speculative": "1",
767fb76811aSIan Rogers        "UMask": "0x2"
768fb76811aSIan Rogers    },
769fb76811aSIan Rogers    {
770fb76811aSIan Rogers        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
771fb76811aSIan Rogers        "CollectPEBSRecord": "2",
772fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
773fb76811aSIan Rogers        "EventCode": "0xa4",
774fb76811aSIan Rogers        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
775fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
776fb76811aSIan 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.",
777fb76811aSIan Rogers        "SampleAfterValue": "10000003",
778fb76811aSIan Rogers        "Speculative": "1",
779fb76811aSIan Rogers        "UMask": "0x8"
780fb76811aSIan Rogers    },
781fb76811aSIan Rogers    {
782fb76811aSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
783fb76811aSIan Rogers        "CollectPEBSRecord": "2",
784fb76811aSIan Rogers        "Counter": "Fixed counter 3",
785fb76811aSIan Rogers        "EventName": "TOPDOWN.SLOTS",
786fb76811aSIan Rogers        "PEBScounters": "35",
787fb76811aSIan 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).",
788fb76811aSIan Rogers        "SampleAfterValue": "10000003",
789fb76811aSIan Rogers        "Speculative": "1",
790fb76811aSIan Rogers        "UMask": "0x4"
791fb76811aSIan Rogers    },
792fb76811aSIan Rogers    {
793fb76811aSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
794fb76811aSIan Rogers        "CollectPEBSRecord": "2",
795fb76811aSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
796fb76811aSIan Rogers        "EventCode": "0xa4",
797fb76811aSIan Rogers        "EventName": "TOPDOWN.SLOTS_P",
798fb76811aSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
799fb76811aSIan 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.",
800fb76811aSIan Rogers        "SampleAfterValue": "10000003",
801fb76811aSIan Rogers        "Speculative": "1",
802fb76811aSIan Rogers        "UMask": "0x1"
803fb76811aSIan Rogers    },
804fb76811aSIan Rogers    {
805dd7415ceSIan Rogers        "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
806dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
807dd7415ceSIan Rogers        "Counter": "0,1,2,3",
808dd7415ceSIan Rogers        "EventCode": "0x56",
809dd7415ceSIan Rogers        "EventName": "UOPS_DECODED.DEC0",
810dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3",
811dd7415ceSIan Rogers        "PublicDescription": "Uops exclusively fetched by decoder 0",
81271fbc431SJin Yao        "SampleAfterValue": "1000003",
81371fbc431SJin Yao        "Speculative": "1",
81471fbc431SJin Yao        "UMask": "0x1"
81571fbc431SJin Yao    },
81671fbc431SJin Yao    {
817dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 0",
81871fbc431SJin Yao        "CollectPEBSRecord": "2",
81971fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
820dd7415ceSIan Rogers        "EventCode": "0xa1",
821dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_0",
82271fbc431SJin Yao        "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 port 0.",
824dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
825dd7415ceSIan Rogers        "Speculative": "1",
826dd7415ceSIan Rogers        "UMask": "0x1"
827dd7415ceSIan Rogers    },
828dd7415ceSIan Rogers    {
829dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 1",
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_1",
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 port 1.",
836dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
837dd7415ceSIan Rogers        "Speculative": "1",
838dd7415ceSIan Rogers        "UMask": "0x2"
839dd7415ceSIan Rogers    },
840dd7415ceSIan Rogers    {
841dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 2 and 3",
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_2_3",
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 ports 2 and 3.",
848dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
849dd7415ceSIan Rogers        "Speculative": "1",
850dd7415ceSIan Rogers        "UMask": "0x4"
851dd7415ceSIan Rogers    },
852dd7415ceSIan Rogers    {
853dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 4 and 9",
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_4_9",
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 ports 5 and 9.",
860dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
861dd7415ceSIan Rogers        "Speculative": "1",
862dd7415ceSIan Rogers        "UMask": "0x10"
863dd7415ceSIan Rogers    },
864dd7415ceSIan Rogers    {
865dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 5",
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_5",
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 port 5.",
872dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
873dd7415ceSIan Rogers        "Speculative": "1",
874dd7415ceSIan Rogers        "UMask": "0x20"
875dd7415ceSIan Rogers    },
876dd7415ceSIan Rogers    {
877dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 6",
878dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
879dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
880dd7415ceSIan Rogers        "EventCode": "0xa1",
881dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_6",
882dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
883dd7415ceSIan 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.",
884dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
885dd7415ceSIan Rogers        "Speculative": "1",
886dd7415ceSIan Rogers        "UMask": "0x40"
887dd7415ceSIan Rogers    },
888dd7415ceSIan Rogers    {
889dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on port 7 and 8",
890dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
891dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
892dd7415ceSIan Rogers        "EventCode": "0xa1",
893dd7415ceSIan Rogers        "EventName": "UOPS_DISPATCHED.PORT_7_8",
894dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
895dd7415ceSIan 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.",
896dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
897dd7415ceSIan Rogers        "Speculative": "1",
898dd7415ceSIan Rogers        "UMask": "0x80"
899dd7415ceSIan Rogers    },
900dd7415ceSIan Rogers    {
901dd7415ceSIan Rogers        "BriefDescription": "Number of uops executed on the core.",
902dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
903dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
904dd7415ceSIan Rogers        "EventCode": "0xB1",
905dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE",
906dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
907dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops executed from any thread.",
90871fbc431SJin Yao        "SampleAfterValue": "2000003",
90971fbc431SJin Yao        "Speculative": "1",
91071fbc431SJin Yao        "UMask": "0x2"
91171fbc431SJin Yao    },
91271fbc431SJin Yao    {
91371fbc431SJin Yao        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
91471fbc431SJin Yao        "CollectPEBSRecord": "2",
91571fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
91671fbc431SJin Yao        "CounterMask": "1",
91771fbc431SJin Yao        "EventCode": "0xB1",
91871fbc431SJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
91971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
92071fbc431SJin Yao        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
92171fbc431SJin Yao        "SampleAfterValue": "2000003",
92271fbc431SJin Yao        "Speculative": "1",
92371fbc431SJin Yao        "UMask": "0x2"
92471fbc431SJin Yao    },
92571fbc431SJin Yao    {
926dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
92771fbc431SJin Yao        "CollectPEBSRecord": "2",
92871fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
929dd7415ceSIan Rogers        "CounterMask": "2",
930dd7415ceSIan Rogers        "EventCode": "0xB1",
931dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
93271fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
933dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
934dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
935dd7415ceSIan Rogers        "Speculative": "1",
936dd7415ceSIan Rogers        "UMask": "0x2"
93771fbc431SJin Yao    },
93871fbc431SJin Yao    {
939dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
94071fbc431SJin Yao        "CollectPEBSRecord": "2",
94171fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
942dd7415ceSIan Rogers        "CounterMask": "3",
943dd7415ceSIan Rogers        "EventCode": "0xB1",
944dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
94571fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
946dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
947dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
948dd7415ceSIan Rogers        "Speculative": "1",
949dd7415ceSIan Rogers        "UMask": "0x2"
950dd7415ceSIan Rogers    },
951dd7415ceSIan Rogers    {
952dd7415ceSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
953dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
954dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
955dd7415ceSIan Rogers        "CounterMask": "4",
956dd7415ceSIan Rogers        "EventCode": "0xB1",
957dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
958dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
959dd7415ceSIan Rogers        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
960dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
961dd7415ceSIan Rogers        "Speculative": "1",
962dd7415ceSIan Rogers        "UMask": "0x2"
963dd7415ceSIan Rogers    },
964dd7415ceSIan Rogers    {
965dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
966dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
967dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
968dd7415ceSIan Rogers        "CounterMask": "1",
969dd7415ceSIan Rogers        "EventCode": "0xb1",
970dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
971dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
972dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
973dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
974dd7415ceSIan Rogers        "Speculative": "1",
975dd7415ceSIan Rogers        "UMask": "0x1"
976dd7415ceSIan Rogers    },
977dd7415ceSIan Rogers    {
978dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
979dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
980dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
981dd7415ceSIan Rogers        "CounterMask": "2",
982dd7415ceSIan Rogers        "EventCode": "0xb1",
983dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
984dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
985dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
986dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
987dd7415ceSIan Rogers        "Speculative": "1",
988dd7415ceSIan Rogers        "UMask": "0x1"
989dd7415ceSIan Rogers    },
990dd7415ceSIan Rogers    {
991dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
992dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
993dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
994dd7415ceSIan Rogers        "CounterMask": "3",
995dd7415ceSIan Rogers        "EventCode": "0xb1",
996dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
997dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
998dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
999dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1000dd7415ceSIan Rogers        "Speculative": "1",
1001dd7415ceSIan Rogers        "UMask": "0x1"
1002dd7415ceSIan Rogers    },
1003dd7415ceSIan Rogers    {
1004dd7415ceSIan Rogers        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
1005dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1006dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1007dd7415ceSIan Rogers        "CounterMask": "4",
1008dd7415ceSIan Rogers        "EventCode": "0xb1",
1009dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
1010dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1011dd7415ceSIan Rogers        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
1012dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1013dd7415ceSIan Rogers        "Speculative": "1",
1014dd7415ceSIan Rogers        "UMask": "0x1"
1015dd7415ceSIan Rogers    },
1016dd7415ceSIan Rogers    {
1017dd7415ceSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
1018dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1019dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1020dd7415ceSIan Rogers        "CounterMask": "1",
1021dd7415ceSIan Rogers        "EventCode": "0xB1",
1022dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
1023dd7415ceSIan Rogers        "Invert": "1",
1024dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1025dd7415ceSIan Rogers        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
1026dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1027dd7415ceSIan Rogers        "Speculative": "1",
1028dd7415ceSIan Rogers        "UMask": "0x1"
1029dd7415ceSIan Rogers    },
1030dd7415ceSIan Rogers    {
1031dd7415ceSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
1032dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1033dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1034dd7415ceSIan Rogers        "EventCode": "0xb1",
1035dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
1036dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1037dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1038dd7415ceSIan Rogers        "Speculative": "1",
1039dd7415ceSIan Rogers        "UMask": "0x1"
1040dd7415ceSIan Rogers    },
1041dd7415ceSIan Rogers    {
1042dd7415ceSIan Rogers        "BriefDescription": "Counts the number of x87 uops dispatched.",
1043dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1044dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1045dd7415ceSIan Rogers        "EventCode": "0xB1",
1046dd7415ceSIan Rogers        "EventName": "UOPS_EXECUTED.X87",
1047dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1048dd7415ceSIan Rogers        "PublicDescription": "Counts the number of x87 uops executed.",
1049dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
105071fbc431SJin Yao        "Speculative": "1",
105171fbc431SJin Yao        "UMask": "0x10"
105271fbc431SJin Yao    },
105371fbc431SJin Yao    {
1054dd7415ceSIan Rogers        "BriefDescription": "Uops that RAT issues to RS",
105571fbc431SJin Yao        "CollectPEBSRecord": "2",
105671fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1057dd7415ceSIan Rogers        "EventCode": "0x0e",
1058dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
105971fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1060dd7415ceSIan Rogers        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
106171fbc431SJin Yao        "SampleAfterValue": "2000003",
106271fbc431SJin Yao        "Speculative": "1",
106371fbc431SJin Yao        "UMask": "0x1"
106471fbc431SJin Yao    },
106571fbc431SJin Yao    {
1066dd7415ceSIan Rogers        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
106771fbc431SJin Yao        "CollectPEBSRecord": "2",
106871fbc431SJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1069dd7415ceSIan Rogers        "CounterMask": "1",
1070dd7415ceSIan Rogers        "EventCode": "0x0E",
1071dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
1072dd7415ceSIan Rogers        "Invert": "1",
107371fbc431SJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1074dd7415ceSIan 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.",
1075dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1076dd7415ceSIan Rogers        "Speculative": "1",
1077dd7415ceSIan Rogers        "UMask": "0x1"
1078dd7415ceSIan Rogers    },
1079dd7415ceSIan Rogers    {
1080dd7415ceSIan Rogers        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
1081dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1082dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1083dd7415ceSIan Rogers        "EventCode": "0x0e",
1084dd7415ceSIan Rogers        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
1085dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1086dd7415ceSIan 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.",
1087dd7415ceSIan Rogers        "SampleAfterValue": "100003",
1088dd7415ceSIan Rogers        "Speculative": "1",
1089dd7415ceSIan Rogers        "UMask": "0x2"
1090dd7415ceSIan Rogers    },
1091dd7415ceSIan Rogers    {
1092dd7415ceSIan Rogers        "BriefDescription": "Retirement slots used.",
1093dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1094dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1095dd7415ceSIan Rogers        "EventCode": "0xc2",
1096dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.SLOTS",
1097dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1098dd7415ceSIan Rogers        "PublicDescription": "Counts the retirement slots used each cycle.",
1099dd7415ceSIan Rogers        "SampleAfterValue": "2000003",
1100dd7415ceSIan Rogers        "UMask": "0x2"
1101dd7415ceSIan Rogers    },
1102dd7415ceSIan Rogers    {
1103dd7415ceSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1104dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1105dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1106dd7415ceSIan Rogers        "CounterMask": "1",
1107dd7415ceSIan Rogers        "EventCode": "0xc2",
1108dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1109dd7415ceSIan Rogers        "Invert": "1",
1110dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1111dd7415ceSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
1112dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1113dd7415ceSIan Rogers        "Speculative": "1",
1114dd7415ceSIan Rogers        "UMask": "0x2"
1115dd7415ceSIan Rogers    },
1116dd7415ceSIan Rogers    {
1117dd7415ceSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1118dd7415ceSIan Rogers        "CollectPEBSRecord": "2",
1119dd7415ceSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
1120dd7415ceSIan Rogers        "CounterMask": "10",
1121dd7415ceSIan Rogers        "EventCode": "0xc2",
1122dd7415ceSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
1123dd7415ceSIan Rogers        "Invert": "1",
1124dd7415ceSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
1125dd7415ceSIan Rogers        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
1126dd7415ceSIan Rogers        "SampleAfterValue": "1000003",
1127dd7415ceSIan Rogers        "UMask": "0x2"
1128b115df07SHaiyan Song    }
1129b115df07SHaiyan Song]
1130