1cdb29a8fSJin Yao[
2cdb29a8fSJin Yao    {
3cdb29a8fSJin Yao        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations.",
4cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
5cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
6cdb29a8fSJin Yao        "CounterMask": "1",
7cdb29a8fSJin Yao        "EventCode": "0x14",
8cdb29a8fSJin Yao        "EventName": "ARITH.DIVIDER_ACTIVE",
9cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
10cdb29a8fSJin Yao        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
11cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
12cdb29a8fSJin Yao        "Speculative": "1",
13cdb29a8fSJin Yao        "UMask": "0x9"
14cdb29a8fSJin Yao    },
15cdb29a8fSJin Yao    {
16*cbeee6caSIan Rogers        "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.",
17*cbeee6caSIan Rogers        "CollectPEBSRecord": "2",
18*cbeee6caSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
19*cbeee6caSIan Rogers        "EventCode": "0xc1",
20*cbeee6caSIan Rogers        "EventName": "ASSISTS.ANY",
21*cbeee6caSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
22*cbeee6caSIan 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.",
23*cbeee6caSIan Rogers        "SampleAfterValue": "100003",
24*cbeee6caSIan Rogers        "Speculative": "1",
25*cbeee6caSIan Rogers        "UMask": "0x7"
26*cbeee6caSIan Rogers    },
27*cbeee6caSIan Rogers    {
2809625cffSIan Rogers        "BriefDescription": "All branch instructions retired.",
29cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
30cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
3109625cffSIan Rogers        "EventCode": "0xc4",
3209625cffSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
3309625cffSIan Rogers        "PEBS": "1",
34cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
3509625cffSIan Rogers        "PublicDescription": "Counts all branch instructions retired.",
3609625cffSIan Rogers        "SampleAfterValue": "400009"
37cdb29a8fSJin Yao    },
38cdb29a8fSJin Yao    {
3909625cffSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
40cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
41cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
4209625cffSIan Rogers        "EventCode": "0xc4",
4309625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND",
4409625cffSIan Rogers        "PEBS": "1",
45cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
4609625cffSIan Rogers        "PublicDescription": "Counts conditional branch instructions retired.",
4709625cffSIan Rogers        "SampleAfterValue": "400009",
4809625cffSIan Rogers        "UMask": "0x11"
4909625cffSIan Rogers    },
5009625cffSIan Rogers    {
5109625cffSIan Rogers        "BriefDescription": "Not taken branch instructions retired.",
5209625cffSIan Rogers        "CollectPEBSRecord": "2",
5309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
5409625cffSIan Rogers        "EventCode": "0xc4",
5509625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
5609625cffSIan Rogers        "PEBS": "1",
5709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
5809625cffSIan Rogers        "PublicDescription": "Counts not taken branch instructions retired.",
5909625cffSIan Rogers        "SampleAfterValue": "400009",
6009625cffSIan Rogers        "UMask": "0x10"
6109625cffSIan Rogers    },
6209625cffSIan Rogers    {
6309625cffSIan Rogers        "BriefDescription": "Taken conditional branch instructions retired.",
6409625cffSIan Rogers        "CollectPEBSRecord": "2",
6509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
6609625cffSIan Rogers        "EventCode": "0xc4",
6709625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND_TAKEN",
6809625cffSIan Rogers        "PEBS": "1",
6909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
7009625cffSIan Rogers        "PublicDescription": "Counts taken conditional branch instructions retired.",
7109625cffSIan Rogers        "SampleAfterValue": "400009",
72cdb29a8fSJin Yao        "UMask": "0x1"
73cdb29a8fSJin Yao    },
74cdb29a8fSJin Yao    {
7509625cffSIan Rogers        "BriefDescription": "Far branch instructions retired.",
7609625cffSIan Rogers        "CollectPEBSRecord": "2",
7709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
7809625cffSIan Rogers        "EventCode": "0xc4",
7909625cffSIan Rogers        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
8009625cffSIan Rogers        "PEBS": "1",
8109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
8209625cffSIan Rogers        "PublicDescription": "Counts far branch instructions retired.",
8309625cffSIan Rogers        "SampleAfterValue": "100007",
8409625cffSIan Rogers        "UMask": "0x40"
8509625cffSIan Rogers    },
8609625cffSIan Rogers    {
8709625cffSIan Rogers        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
8809625cffSIan Rogers        "CollectPEBSRecord": "2",
8909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
9009625cffSIan Rogers        "EventCode": "0xc4",
9109625cffSIan Rogers        "EventName": "BR_INST_RETIRED.INDIRECT",
9209625cffSIan Rogers        "PEBS": "1",
9309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
9409625cffSIan Rogers        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
9509625cffSIan Rogers        "SampleAfterValue": "100003",
9609625cffSIan Rogers        "UMask": "0x80"
9709625cffSIan Rogers    },
9809625cffSIan Rogers    {
9909625cffSIan Rogers        "BriefDescription": "Direct and indirect near call instructions retired.",
10009625cffSIan Rogers        "CollectPEBSRecord": "2",
10109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
10209625cffSIan Rogers        "EventCode": "0xc4",
10309625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL",
10409625cffSIan Rogers        "PEBS": "1",
10509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
10609625cffSIan Rogers        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
10709625cffSIan Rogers        "SampleAfterValue": "100007",
10809625cffSIan Rogers        "UMask": "0x2"
10909625cffSIan Rogers    },
11009625cffSIan Rogers    {
11109625cffSIan Rogers        "BriefDescription": "Return instructions retired.",
11209625cffSIan Rogers        "CollectPEBSRecord": "2",
11309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
11409625cffSIan Rogers        "EventCode": "0xc4",
11509625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
11609625cffSIan Rogers        "PEBS": "1",
11709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
11809625cffSIan Rogers        "PublicDescription": "Counts return instructions retired.",
11909625cffSIan Rogers        "SampleAfterValue": "100007",
12009625cffSIan Rogers        "UMask": "0x8"
12109625cffSIan Rogers    },
12209625cffSIan Rogers    {
12309625cffSIan Rogers        "BriefDescription": "Taken branch instructions retired.",
12409625cffSIan Rogers        "CollectPEBSRecord": "2",
12509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
12609625cffSIan Rogers        "EventCode": "0xc4",
12709625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
12809625cffSIan Rogers        "PEBS": "1",
12909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
13009625cffSIan Rogers        "PublicDescription": "Counts taken branch instructions retired.",
13109625cffSIan Rogers        "SampleAfterValue": "400009",
13209625cffSIan Rogers        "UMask": "0x20"
13309625cffSIan Rogers    },
13409625cffSIan Rogers    {
13509625cffSIan Rogers        "BriefDescription": "All mispredicted branch instructions retired.",
13609625cffSIan Rogers        "CollectPEBSRecord": "2",
13709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
13809625cffSIan Rogers        "EventCode": "0xc5",
13909625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
14009625cffSIan Rogers        "PEBS": "1",
14109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
14209625cffSIan 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.",
14309625cffSIan Rogers        "SampleAfterValue": "50021"
14409625cffSIan Rogers    },
14509625cffSIan Rogers    {
14609625cffSIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
14709625cffSIan Rogers        "CollectPEBSRecord": "2",
14809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
14909625cffSIan Rogers        "EventCode": "0xc5",
15009625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND",
15109625cffSIan Rogers        "PEBS": "1",
15209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
15309625cffSIan Rogers        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
15409625cffSIan Rogers        "SampleAfterValue": "50021",
15509625cffSIan Rogers        "UMask": "0x11"
15609625cffSIan Rogers    },
15709625cffSIan Rogers    {
15809625cffSIan Rogers        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
15909625cffSIan Rogers        "CollectPEBSRecord": "2",
16009625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
16109625cffSIan Rogers        "EventCode": "0xc5",
16209625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_NTAKEN",
16309625cffSIan Rogers        "PEBS": "1",
16409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
16509625cffSIan Rogers        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
16609625cffSIan Rogers        "SampleAfterValue": "50021",
16709625cffSIan Rogers        "UMask": "0x10"
16809625cffSIan Rogers    },
16909625cffSIan Rogers    {
17009625cffSIan Rogers        "BriefDescription": "number of branch instructions retired that were mispredicted and taken. Non PEBS",
17109625cffSIan Rogers        "CollectPEBSRecord": "2",
17209625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
17309625cffSIan Rogers        "EventCode": "0xc5",
17409625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
17509625cffSIan Rogers        "PEBS": "1",
17609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
17709625cffSIan Rogers        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
17809625cffSIan Rogers        "SampleAfterValue": "50021",
17909625cffSIan Rogers        "UMask": "0x1"
18009625cffSIan Rogers    },
18109625cffSIan Rogers    {
18209625cffSIan Rogers        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
18309625cffSIan Rogers        "CollectPEBSRecord": "2",
18409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
18509625cffSIan Rogers        "EventCode": "0xc5",
18609625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT",
18709625cffSIan Rogers        "PEBS": "1",
18809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
18909625cffSIan Rogers        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
19009625cffSIan Rogers        "SampleAfterValue": "50021",
19109625cffSIan Rogers        "UMask": "0x80"
19209625cffSIan Rogers    },
19309625cffSIan Rogers    {
19409625cffSIan Rogers        "BriefDescription": "Mispredicted indirect CALL instructions retired.",
19509625cffSIan Rogers        "CollectPEBSRecord": "2",
19609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
19709625cffSIan Rogers        "EventCode": "0xc5",
19809625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
19909625cffSIan Rogers        "PEBS": "1",
20009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
20109625cffSIan Rogers        "PublicDescription": "Counts retired mispredicted indirect (near taken) calls, including both register and memory indirect.",
20209625cffSIan Rogers        "SampleAfterValue": "50021",
20309625cffSIan Rogers        "UMask": "0x2"
20409625cffSIan Rogers    },
20509625cffSIan Rogers    {
20609625cffSIan Rogers        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
20709625cffSIan Rogers        "CollectPEBSRecord": "2",
20809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
20909625cffSIan Rogers        "EventCode": "0xc5",
21009625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
21109625cffSIan Rogers        "PEBS": "1",
21209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
21309625cffSIan Rogers        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
21409625cffSIan Rogers        "SampleAfterValue": "50021",
21509625cffSIan Rogers        "UMask": "0x20"
21609625cffSIan Rogers    },
21709625cffSIan Rogers    {
21809625cffSIan Rogers        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
21909625cffSIan Rogers        "CollectPEBSRecord": "2",
22009625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
22109625cffSIan Rogers        "EventCode": "0xec",
22209625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
22309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
22409625cffSIan Rogers        "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.",
22509625cffSIan Rogers        "SampleAfterValue": "2000003",
22609625cffSIan Rogers        "Speculative": "1",
22709625cffSIan Rogers        "UMask": "0x2"
22809625cffSIan Rogers    },
22909625cffSIan Rogers    {
230cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
231cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
232cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
233cdb29a8fSJin Yao        "EventCode": "0x3C",
234cdb29a8fSJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
235cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
236cdb29a8fSJin Yao        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
237cdb29a8fSJin Yao        "SampleAfterValue": "25003",
238cdb29a8fSJin Yao        "Speculative": "1",
239cdb29a8fSJin Yao        "UMask": "0x2"
240cdb29a8fSJin Yao    },
241cdb29a8fSJin Yao    {
242cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
243cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
244cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
245cdb29a8fSJin Yao        "EventCode": "0x3c",
246cdb29a8fSJin Yao        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
247cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
248cdb29a8fSJin Yao        "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.",
249cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
250cdb29a8fSJin Yao        "Speculative": "1",
251cdb29a8fSJin Yao        "UMask": "0x8"
252cdb29a8fSJin Yao    },
253cdb29a8fSJin Yao    {
25409625cffSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
25509625cffSIan Rogers        "CollectPEBSRecord": "2",
25609625cffSIan Rogers        "Counter": "Fixed counter 2",
25709625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
25809625cffSIan Rogers        "PEBScounters": "34",
25909625cffSIan 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.",
26009625cffSIan Rogers        "SampleAfterValue": "2000003",
26109625cffSIan Rogers        "Speculative": "1",
26209625cffSIan Rogers        "UMask": "0x3"
26309625cffSIan Rogers    },
26409625cffSIan Rogers    {
26509625cffSIan Rogers        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
26609625cffSIan Rogers        "CollectPEBSRecord": "2",
26709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
26809625cffSIan Rogers        "EventCode": "0x3C",
26909625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
27009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
27109625cffSIan Rogers        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
27209625cffSIan Rogers        "SampleAfterValue": "25003",
27309625cffSIan Rogers        "Speculative": "1",
27409625cffSIan Rogers        "UMask": "0x1"
27509625cffSIan Rogers    },
27609625cffSIan Rogers    {
27709625cffSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
27809625cffSIan Rogers        "CollectPEBSRecord": "2",
27909625cffSIan Rogers        "Counter": "Fixed counter 1",
28009625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
28109625cffSIan Rogers        "PEBScounters": "33",
28209625cffSIan 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.",
28309625cffSIan Rogers        "SampleAfterValue": "2000003",
28409625cffSIan Rogers        "Speculative": "1",
28509625cffSIan Rogers        "UMask": "0x2"
28609625cffSIan Rogers    },
28709625cffSIan Rogers    {
28809625cffSIan Rogers        "BriefDescription": "Thread cycles when thread is not in halt state",
28909625cffSIan Rogers        "CollectPEBSRecord": "2",
29009625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
29109625cffSIan Rogers        "EventCode": "0x3C",
29209625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
29309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
29409625cffSIan Rogers        "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.",
29509625cffSIan Rogers        "SampleAfterValue": "2000003",
29609625cffSIan Rogers        "Speculative": "1"
29709625cffSIan Rogers    },
29809625cffSIan Rogers    {
29909625cffSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
30009625cffSIan Rogers        "CollectPEBSRecord": "2",
30109625cffSIan Rogers        "Counter": "0,1,2,3",
30209625cffSIan Rogers        "CounterMask": "8",
30309625cffSIan Rogers        "EventCode": "0xA3",
30409625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
30509625cffSIan Rogers        "PEBScounters": "0,1,2,3",
30609625cffSIan Rogers        "SampleAfterValue": "1000003",
30709625cffSIan Rogers        "Speculative": "1",
30809625cffSIan Rogers        "UMask": "0x8"
30909625cffSIan Rogers    },
31009625cffSIan Rogers    {
31109625cffSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
31209625cffSIan Rogers        "CollectPEBSRecord": "2",
31309625cffSIan Rogers        "Counter": "0,1,2,3",
31409625cffSIan Rogers        "CounterMask": "1",
31509625cffSIan Rogers        "EventCode": "0xA3",
31609625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
31709625cffSIan Rogers        "PEBScounters": "0,1,2,3",
31809625cffSIan Rogers        "SampleAfterValue": "1000003",
31909625cffSIan Rogers        "Speculative": "1",
32009625cffSIan Rogers        "UMask": "0x1"
32109625cffSIan Rogers    },
32209625cffSIan Rogers    {
32309625cffSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
32409625cffSIan Rogers        "CollectPEBSRecord": "2",
32509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
32609625cffSIan Rogers        "CounterMask": "16",
32709625cffSIan Rogers        "EventCode": "0xA3",
32809625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
32909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
33009625cffSIan Rogers        "SampleAfterValue": "1000003",
33109625cffSIan Rogers        "Speculative": "1",
33209625cffSIan Rogers        "UMask": "0x10"
33309625cffSIan Rogers    },
33409625cffSIan Rogers    {
33509625cffSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
33609625cffSIan Rogers        "CollectPEBSRecord": "2",
33709625cffSIan Rogers        "Counter": "0,1,2,3",
33809625cffSIan Rogers        "CounterMask": "12",
33909625cffSIan Rogers        "EventCode": "0xA3",
34009625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
34109625cffSIan Rogers        "PEBScounters": "0,1,2,3",
34209625cffSIan Rogers        "SampleAfterValue": "1000003",
34309625cffSIan Rogers        "Speculative": "1",
34409625cffSIan Rogers        "UMask": "0xc"
34509625cffSIan Rogers    },
34609625cffSIan Rogers    {
34709625cffSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
34809625cffSIan Rogers        "CollectPEBSRecord": "2",
34909625cffSIan Rogers        "Counter": "0,1,2,3",
35009625cffSIan Rogers        "CounterMask": "5",
35109625cffSIan Rogers        "EventCode": "0xa3",
35209625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
35309625cffSIan Rogers        "PEBScounters": "0,1,2,3",
35409625cffSIan Rogers        "SampleAfterValue": "1000003",
35509625cffSIan Rogers        "Speculative": "1",
35609625cffSIan Rogers        "UMask": "0x5"
35709625cffSIan Rogers    },
35809625cffSIan Rogers    {
35909625cffSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
36009625cffSIan Rogers        "CollectPEBSRecord": "2",
36109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
36209625cffSIan Rogers        "CounterMask": "20",
36309625cffSIan Rogers        "EventCode": "0xa3",
36409625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
36509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
36609625cffSIan Rogers        "SampleAfterValue": "1000003",
36709625cffSIan Rogers        "Speculative": "1",
36809625cffSIan Rogers        "UMask": "0x14"
36909625cffSIan Rogers    },
37009625cffSIan Rogers    {
37109625cffSIan Rogers        "BriefDescription": "Total execution stalls.",
37209625cffSIan Rogers        "CollectPEBSRecord": "2",
37309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
37409625cffSIan Rogers        "CounterMask": "4",
37509625cffSIan Rogers        "EventCode": "0xa3",
37609625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
37709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
37809625cffSIan Rogers        "SampleAfterValue": "1000003",
37909625cffSIan Rogers        "Speculative": "1",
38009625cffSIan Rogers        "UMask": "0x4"
38109625cffSIan Rogers    },
38209625cffSIan Rogers    {
38309625cffSIan Rogers        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
38409625cffSIan Rogers        "CollectPEBSRecord": "2",
38509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
38609625cffSIan Rogers        "EventCode": "0xa6",
38709625cffSIan Rogers        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
38809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
38909625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
39009625cffSIan Rogers        "SampleAfterValue": "2000003",
39109625cffSIan Rogers        "Speculative": "1",
39209625cffSIan Rogers        "UMask": "0x2"
39309625cffSIan Rogers    },
39409625cffSIan Rogers    {
39509625cffSIan Rogers        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
39609625cffSIan Rogers        "CollectPEBSRecord": "2",
39709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
39809625cffSIan Rogers        "EventCode": "0xa6",
39909625cffSIan Rogers        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
40009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
40109625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
40209625cffSIan Rogers        "SampleAfterValue": "2000003",
40309625cffSIan Rogers        "Speculative": "1",
40409625cffSIan Rogers        "UMask": "0x4"
40509625cffSIan Rogers    },
40609625cffSIan Rogers    {
40709625cffSIan Rogers        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
40809625cffSIan Rogers        "CollectPEBSRecord": "2",
40909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
41009625cffSIan Rogers        "EventCode": "0xa6",
41109625cffSIan Rogers        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
41209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
41309625cffSIan Rogers        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
41409625cffSIan Rogers        "SampleAfterValue": "2000003",
41509625cffSIan Rogers        "Speculative": "1",
41609625cffSIan Rogers        "UMask": "0x8"
41709625cffSIan Rogers    },
41809625cffSIan Rogers    {
41909625cffSIan Rogers        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
42009625cffSIan Rogers        "CollectPEBSRecord": "2",
42109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
42209625cffSIan Rogers        "EventCode": "0xa6",
42309625cffSIan Rogers        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
42409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
42509625cffSIan Rogers        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
42609625cffSIan Rogers        "SampleAfterValue": "2000003",
42709625cffSIan Rogers        "Speculative": "1",
42809625cffSIan Rogers        "UMask": "0x10"
42909625cffSIan Rogers    },
43009625cffSIan Rogers    {
43109625cffSIan Rogers        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
43209625cffSIan Rogers        "CollectPEBSRecord": "2",
43309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
43409625cffSIan Rogers        "CounterMask": "2",
43509625cffSIan Rogers        "EventCode": "0xA6",
43609625cffSIan Rogers        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
43709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
43809625cffSIan Rogers        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
43909625cffSIan Rogers        "SampleAfterValue": "1000003",
44009625cffSIan Rogers        "Speculative": "1",
44109625cffSIan Rogers        "UMask": "0x40"
44209625cffSIan Rogers    },
44309625cffSIan Rogers    {
44409625cffSIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
44509625cffSIan Rogers        "CollectPEBSRecord": "2",
44609625cffSIan Rogers        "Counter": "0,1,2,3",
44709625cffSIan Rogers        "EventCode": "0x87",
44809625cffSIan Rogers        "EventName": "ILD_STALL.LCP",
44909625cffSIan Rogers        "PEBScounters": "0,1,2,3",
45009625cffSIan 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.",
45109625cffSIan Rogers        "SampleAfterValue": "500009",
45209625cffSIan Rogers        "Speculative": "1",
45309625cffSIan Rogers        "UMask": "0x1"
45409625cffSIan Rogers    },
45509625cffSIan Rogers    {
45609625cffSIan Rogers        "BriefDescription": "Instruction decoders utilized in a cycle",
45709625cffSIan Rogers        "CollectPEBSRecord": "2",
45809625cffSIan Rogers        "Counter": "0,1,2,3",
45909625cffSIan Rogers        "EventCode": "0x55",
46009625cffSIan Rogers        "EventName": "INST_DECODED.DECODERS",
46109625cffSIan Rogers        "PEBScounters": "0,1,2,3",
46209625cffSIan Rogers        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
46309625cffSIan Rogers        "SampleAfterValue": "2000003",
46409625cffSIan Rogers        "Speculative": "1",
46509625cffSIan Rogers        "UMask": "0x1"
46609625cffSIan Rogers    },
46709625cffSIan Rogers    {
46809625cffSIan Rogers        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
46909625cffSIan Rogers        "CollectPEBSRecord": "2",
47009625cffSIan Rogers        "Counter": "Fixed counter 0",
47109625cffSIan Rogers        "EventName": "INST_RETIRED.ANY",
47209625cffSIan Rogers        "PEBS": "1",
47309625cffSIan Rogers        "PEBScounters": "32",
47409625cffSIan 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.",
47509625cffSIan Rogers        "SampleAfterValue": "2000003",
47609625cffSIan Rogers        "UMask": "0x1"
47709625cffSIan Rogers    },
47809625cffSIan Rogers    {
47909625cffSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
48009625cffSIan Rogers        "CollectPEBSRecord": "2",
48109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
48209625cffSIan Rogers        "EventCode": "0xc0",
48309625cffSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
48409625cffSIan Rogers        "PEBS": "1",
48509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
48609625cffSIan 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.",
48709625cffSIan Rogers        "SampleAfterValue": "2000003"
48809625cffSIan Rogers    },
48909625cffSIan Rogers    {
49009625cffSIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
49109625cffSIan Rogers        "CollectPEBSRecord": "2",
49209625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
49309625cffSIan Rogers        "EventCode": "0xc0",
49409625cffSIan Rogers        "EventName": "INST_RETIRED.NOP",
49509625cffSIan Rogers        "PEBS": "1",
49609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
49709625cffSIan Rogers        "SampleAfterValue": "2000003",
49809625cffSIan Rogers        "UMask": "0x2"
49909625cffSIan Rogers    },
50009625cffSIan Rogers    {
50109625cffSIan Rogers        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution",
50209625cffSIan Rogers        "CollectPEBSRecord": "2",
50309625cffSIan Rogers        "Counter": "Fixed counter 0",
50409625cffSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
50509625cffSIan Rogers        "PEBS": "1",
50609625cffSIan Rogers        "PEBScounters": "32",
50709625cffSIan 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.",
50809625cffSIan Rogers        "SampleAfterValue": "2000003",
50909625cffSIan Rogers        "UMask": "0x1"
51009625cffSIan Rogers    },
51109625cffSIan Rogers    {
51209625cffSIan Rogers        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
51309625cffSIan Rogers        "CollectPEBSRecord": "2",
51409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
51509625cffSIan Rogers        "CounterMask": "1",
51609625cffSIan Rogers        "EventCode": "0x0D",
51709625cffSIan Rogers        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
51809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
51909625cffSIan Rogers        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
52009625cffSIan Rogers        "SampleAfterValue": "2000003",
52109625cffSIan Rogers        "Speculative": "1",
52209625cffSIan Rogers        "UMask": "0x3"
52309625cffSIan Rogers    },
52409625cffSIan Rogers    {
52509625cffSIan Rogers        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
52609625cffSIan Rogers        "CollectPEBSRecord": "2",
52709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
52809625cffSIan Rogers        "EventCode": "0x0d",
52909625cffSIan Rogers        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
53009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
53109625cffSIan Rogers        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
53209625cffSIan Rogers        "SampleAfterValue": "500009",
53309625cffSIan Rogers        "Speculative": "1",
53409625cffSIan Rogers        "UMask": "0x80"
53509625cffSIan Rogers    },
53609625cffSIan Rogers    {
53709625cffSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
53809625cffSIan Rogers        "CollectPEBSRecord": "2",
53909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
54009625cffSIan Rogers        "EventCode": "0x0D",
54109625cffSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
54209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
54309625cffSIan Rogers        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
54409625cffSIan Rogers        "SampleAfterValue": "500009",
54509625cffSIan Rogers        "Speculative": "1",
54609625cffSIan Rogers        "UMask": "0x1"
54709625cffSIan Rogers    },
54809625cffSIan Rogers    {
54909625cffSIan Rogers        "BriefDescription": "TMA slots where uops got dropped",
55009625cffSIan Rogers        "CollectPEBSRecord": "2",
55109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
55209625cffSIan Rogers        "EventCode": "0x0d",
55309625cffSIan Rogers        "EventName": "INT_MISC.UOP_DROPPING",
55409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
55509625cffSIan Rogers        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
55609625cffSIan Rogers        "SampleAfterValue": "1000003",
55709625cffSIan Rogers        "Speculative": "1",
55809625cffSIan Rogers        "UMask": "0x10"
55909625cffSIan Rogers    },
56009625cffSIan Rogers    {
56109625cffSIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
56209625cffSIan Rogers        "CollectPEBSRecord": "2",
56309625cffSIan Rogers        "Counter": "0,1,2,3",
56409625cffSIan Rogers        "EventCode": "0x03",
56509625cffSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
56609625cffSIan Rogers        "PEBScounters": "0,1,2,3",
56709625cffSIan 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.",
56809625cffSIan Rogers        "SampleAfterValue": "100003",
56909625cffSIan Rogers        "Speculative": "1",
57009625cffSIan Rogers        "UMask": "0x8"
57109625cffSIan Rogers    },
57209625cffSIan Rogers    {
57309625cffSIan Rogers        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
57409625cffSIan Rogers        "CollectPEBSRecord": "2",
57509625cffSIan Rogers        "Counter": "0,1,2,3",
57609625cffSIan Rogers        "EventCode": "0x03",
57709625cffSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
57809625cffSIan Rogers        "PEBScounters": "0,1,2,3",
57909625cffSIan 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.",
58009625cffSIan Rogers        "SampleAfterValue": "100003",
58109625cffSIan Rogers        "Speculative": "1",
58209625cffSIan Rogers        "UMask": "0x2"
58309625cffSIan Rogers    },
58409625cffSIan Rogers    {
58509625cffSIan Rogers        "BriefDescription": "False dependencies due to partial compare on address.",
58609625cffSIan Rogers        "CollectPEBSRecord": "2",
58709625cffSIan Rogers        "Counter": "0,1,2,3",
58809625cffSIan Rogers        "EventCode": "0x07",
58909625cffSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
59009625cffSIan Rogers        "PEBScounters": "0,1,2,3",
59109625cffSIan Rogers        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies due to partial compare on address.",
59209625cffSIan Rogers        "SampleAfterValue": "100003",
59309625cffSIan Rogers        "Speculative": "1",
59409625cffSIan Rogers        "UMask": "0x1"
59509625cffSIan Rogers    },
59609625cffSIan Rogers    {
597cdb29a8fSJin Yao        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
598cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
599cdb29a8fSJin Yao        "Counter": "0,1,2,3",
600cdb29a8fSJin Yao        "EventCode": "0x4c",
601cdb29a8fSJin Yao        "EventName": "LOAD_HIT_PREFETCH.SWPF",
602cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
603cdb29a8fSJin Yao        "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.",
604cdb29a8fSJin Yao        "SampleAfterValue": "100003",
605cdb29a8fSJin Yao        "Speculative": "1",
606cdb29a8fSJin Yao        "UMask": "0x1"
607cdb29a8fSJin Yao    },
608cdb29a8fSJin Yao    {
60909625cffSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
61009625cffSIan Rogers        "CollectPEBSRecord": "2",
61109625cffSIan Rogers        "Counter": "0,1,2,3",
61209625cffSIan Rogers        "CounterMask": "1",
61309625cffSIan Rogers        "EventCode": "0xA8",
61409625cffSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
61509625cffSIan Rogers        "PEBScounters": "0,1,2,3",
61609625cffSIan Rogers        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
61709625cffSIan Rogers        "SampleAfterValue": "2000003",
61809625cffSIan Rogers        "Speculative": "1",
61909625cffSIan Rogers        "UMask": "0x1"
62009625cffSIan Rogers    },
62109625cffSIan Rogers    {
62209625cffSIan Rogers        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
62309625cffSIan Rogers        "CollectPEBSRecord": "2",
62409625cffSIan Rogers        "Counter": "0,1,2,3",
62509625cffSIan Rogers        "CounterMask": "5",
62609625cffSIan Rogers        "EventCode": "0xa8",
62709625cffSIan Rogers        "EventName": "LSD.CYCLES_OK",
62809625cffSIan Rogers        "PEBScounters": "0,1,2,3",
62909625cffSIan Rogers        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
63009625cffSIan Rogers        "SampleAfterValue": "2000003",
63109625cffSIan Rogers        "Speculative": "1",
63209625cffSIan Rogers        "UMask": "0x1"
63309625cffSIan Rogers    },
63409625cffSIan Rogers    {
63509625cffSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
63609625cffSIan Rogers        "CollectPEBSRecord": "2",
63709625cffSIan Rogers        "Counter": "0,1,2,3",
63809625cffSIan Rogers        "EventCode": "0xa8",
63909625cffSIan Rogers        "EventName": "LSD.UOPS",
64009625cffSIan Rogers        "PEBScounters": "0,1,2,3",
64109625cffSIan Rogers        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
64209625cffSIan Rogers        "SampleAfterValue": "2000003",
64309625cffSIan Rogers        "Speculative": "1",
64409625cffSIan Rogers        "UMask": "0x1"
64509625cffSIan Rogers    },
64609625cffSIan Rogers    {
64709625cffSIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
64809625cffSIan Rogers        "CollectPEBSRecord": "2",
64909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
65009625cffSIan Rogers        "CounterMask": "1",
65109625cffSIan Rogers        "EdgeDetect": "1",
65209625cffSIan Rogers        "EventCode": "0xc3",
65309625cffSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
65409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
65509625cffSIan Rogers        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
65609625cffSIan Rogers        "SampleAfterValue": "100003",
65709625cffSIan Rogers        "Speculative": "1",
65809625cffSIan Rogers        "UMask": "0x1"
65909625cffSIan Rogers    },
66009625cffSIan Rogers    {
66109625cffSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
66209625cffSIan Rogers        "CollectPEBSRecord": "2",
66309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
66409625cffSIan Rogers        "EventCode": "0xc3",
66509625cffSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
66609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
66709625cffSIan Rogers        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
66809625cffSIan Rogers        "SampleAfterValue": "100003",
66909625cffSIan Rogers        "Speculative": "1",
67009625cffSIan Rogers        "UMask": "0x4"
67109625cffSIan Rogers    },
67209625cffSIan Rogers    {
67309625cffSIan Rogers        "BriefDescription": "Increments whenever there is an update to the LBR array.",
67409625cffSIan Rogers        "CollectPEBSRecord": "2",
67509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
67609625cffSIan Rogers        "EventCode": "0xcc",
67709625cffSIan Rogers        "EventName": "MISC_RETIRED.LBR_INSERTS",
67809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
67909625cffSIan 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.",
68009625cffSIan Rogers        "SampleAfterValue": "100003",
68109625cffSIan Rogers        "UMask": "0x20"
68209625cffSIan Rogers    },
68309625cffSIan Rogers    {
68409625cffSIan Rogers        "BriefDescription": "Number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
68509625cffSIan Rogers        "CollectPEBSRecord": "2",
68609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
68709625cffSIan Rogers        "EventCode": "0xcc",
68809625cffSIan Rogers        "EventName": "MISC_RETIRED.PAUSE_INST",
68909625cffSIan Rogers        "PublicDescription": "Counts number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
69009625cffSIan Rogers        "SampleAfterValue": "100003",
69109625cffSIan Rogers        "UMask": "0x40"
69209625cffSIan Rogers    },
69309625cffSIan Rogers    {
69409625cffSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
69509625cffSIan Rogers        "CollectPEBSRecord": "2",
69609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
69709625cffSIan Rogers        "EventCode": "0xa2",
69809625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
69909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
70009625cffSIan 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.",
70109625cffSIan Rogers        "SampleAfterValue": "100003",
70209625cffSIan Rogers        "Speculative": "1",
70309625cffSIan Rogers        "UMask": "0x8"
70409625cffSIan Rogers    },
70509625cffSIan Rogers    {
70609625cffSIan Rogers        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
70709625cffSIan Rogers        "CollectPEBSRecord": "2",
70809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
70909625cffSIan Rogers        "EventCode": "0xa2",
71009625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SCOREBOARD",
71109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
71209625cffSIan Rogers        "SampleAfterValue": "100003",
71309625cffSIan Rogers        "Speculative": "1",
71409625cffSIan Rogers        "UMask": "0x2"
71509625cffSIan Rogers    },
71609625cffSIan Rogers    {
717cdb29a8fSJin Yao        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
718cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
719cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
720cdb29a8fSJin Yao        "EventCode": "0x5e",
721cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_CYCLES",
722cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
723cdb29a8fSJin Yao        "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)",
724cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
725cdb29a8fSJin Yao        "Speculative": "1",
726cdb29a8fSJin Yao        "UMask": "0x1"
727cdb29a8fSJin Yao    },
728cdb29a8fSJin Yao    {
729cdb29a8fSJin Yao        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
730cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
731cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
732cdb29a8fSJin Yao        "CounterMask": "1",
733cdb29a8fSJin Yao        "EdgeDetect": "1",
734cdb29a8fSJin Yao        "EventCode": "0x5E",
735cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_END",
736cdb29a8fSJin Yao        "Invert": "1",
737cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
738cdb29a8fSJin Yao        "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)",
739cdb29a8fSJin Yao        "SampleAfterValue": "100003",
740cdb29a8fSJin Yao        "Speculative": "1",
741cdb29a8fSJin Yao        "UMask": "0x1"
742cdb29a8fSJin Yao    },
743cdb29a8fSJin Yao    {
744f25db21bSIan Rogers        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
745f25db21bSIan Rogers        "CollectPEBSRecord": "2",
746f25db21bSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
747f25db21bSIan Rogers        "EventCode": "0xa4",
748f25db21bSIan Rogers        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
749f25db21bSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
750f25db21bSIan 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.",
751f25db21bSIan Rogers        "SampleAfterValue": "10000003",
752f25db21bSIan Rogers        "Speculative": "1",
753f25db21bSIan Rogers        "UMask": "0x2"
754f25db21bSIan Rogers    },
755f25db21bSIan Rogers    {
756f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
757f25db21bSIan Rogers        "CollectPEBSRecord": "2",
758f25db21bSIan Rogers        "Counter": "Fixed counter 3",
759f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS",
760f25db21bSIan Rogers        "PEBScounters": "35",
761f25db21bSIan 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).",
762f25db21bSIan Rogers        "SampleAfterValue": "10000003",
763f25db21bSIan Rogers        "Speculative": "1",
764f25db21bSIan Rogers        "UMask": "0x4"
765f25db21bSIan Rogers    },
766f25db21bSIan Rogers    {
767f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
768f25db21bSIan Rogers        "CollectPEBSRecord": "2",
769f25db21bSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
770f25db21bSIan Rogers        "EventCode": "0xa4",
771f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS_P",
772f25db21bSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
773f25db21bSIan 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.",
774f25db21bSIan Rogers        "SampleAfterValue": "10000003",
775f25db21bSIan Rogers        "Speculative": "1",
776f25db21bSIan Rogers        "UMask": "0x1"
777f25db21bSIan Rogers    },
778f25db21bSIan Rogers    {
77909625cffSIan Rogers        "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
780cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
781cdb29a8fSJin Yao        "Counter": "0,1,2,3",
78209625cffSIan Rogers        "EventCode": "0x56",
78309625cffSIan Rogers        "EventName": "UOPS_DECODED.DEC0",
784cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
78509625cffSIan Rogers        "PublicDescription": "Uops exclusively fetched by decoder 0",
78609625cffSIan Rogers        "SampleAfterValue": "1000003",
787cdb29a8fSJin Yao        "Speculative": "1",
788cdb29a8fSJin Yao        "UMask": "0x1"
789cdb29a8fSJin Yao    },
790cdb29a8fSJin Yao    {
791cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 0",
792cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
793cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
794cdb29a8fSJin Yao        "EventCode": "0xa1",
795cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_0",
796cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
797cdb29a8fSJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 0.",
798cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
799cdb29a8fSJin Yao        "Speculative": "1",
800cdb29a8fSJin Yao        "UMask": "0x1"
801cdb29a8fSJin Yao    },
802cdb29a8fSJin Yao    {
803cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 1",
804cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
805cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
806cdb29a8fSJin Yao        "EventCode": "0xa1",
807cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_1",
808cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
809cdb29a8fSJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 1.",
810cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
811cdb29a8fSJin Yao        "Speculative": "1",
812cdb29a8fSJin Yao        "UMask": "0x2"
813cdb29a8fSJin Yao    },
814cdb29a8fSJin Yao    {
815cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 2 and 3",
816cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
817cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
818cdb29a8fSJin Yao        "EventCode": "0xa1",
819cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_2_3",
820cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
821cdb29a8fSJin Yao        "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.",
822cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
823cdb29a8fSJin Yao        "Speculative": "1",
824cdb29a8fSJin Yao        "UMask": "0x4"
825cdb29a8fSJin Yao    },
826cdb29a8fSJin Yao    {
827cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 4 and 9",
828cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
829cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
830cdb29a8fSJin Yao        "EventCode": "0xa1",
831cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_4_9",
832cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
833cdb29a8fSJin Yao        "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.",
834cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
835cdb29a8fSJin Yao        "Speculative": "1",
836cdb29a8fSJin Yao        "UMask": "0x10"
837cdb29a8fSJin Yao    },
838cdb29a8fSJin Yao    {
839cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 5",
840cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
841cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
842cdb29a8fSJin Yao        "EventCode": "0xa1",
843cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_5",
844cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
845cdb29a8fSJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 5.",
846cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
847cdb29a8fSJin Yao        "Speculative": "1",
848cdb29a8fSJin Yao        "UMask": "0x20"
849cdb29a8fSJin Yao    },
850cdb29a8fSJin Yao    {
851cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 6",
852cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
853cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
854cdb29a8fSJin Yao        "EventCode": "0xa1",
855cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_6",
856cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
857cdb29a8fSJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 6.",
858cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
859cdb29a8fSJin Yao        "Speculative": "1",
860cdb29a8fSJin Yao        "UMask": "0x40"
861cdb29a8fSJin Yao    },
862cdb29a8fSJin Yao    {
863cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 7 and 8",
864cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
865cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
866cdb29a8fSJin Yao        "EventCode": "0xa1",
867cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_7_8",
868cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
869cdb29a8fSJin Yao        "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.",
870cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
871cdb29a8fSJin Yao        "Speculative": "1",
872cdb29a8fSJin Yao        "UMask": "0x80"
873cdb29a8fSJin Yao    },
874cdb29a8fSJin Yao    {
87509625cffSIan Rogers        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
876cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
877cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
878cdb29a8fSJin Yao        "CounterMask": "1",
879cdb29a8fSJin Yao        "EventCode": "0xB1",
88009625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
881cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
88209625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
883cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
884cdb29a8fSJin Yao        "Speculative": "1",
88509625cffSIan Rogers        "UMask": "0x2"
88609625cffSIan Rogers    },
88709625cffSIan Rogers    {
88809625cffSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
88909625cffSIan Rogers        "CollectPEBSRecord": "2",
89009625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
89109625cffSIan Rogers        "CounterMask": "2",
89209625cffSIan Rogers        "EventCode": "0xB1",
89309625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
89409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
89509625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
89609625cffSIan Rogers        "SampleAfterValue": "2000003",
89709625cffSIan Rogers        "Speculative": "1",
89809625cffSIan Rogers        "UMask": "0x2"
89909625cffSIan Rogers    },
90009625cffSIan Rogers    {
90109625cffSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
90209625cffSIan Rogers        "CollectPEBSRecord": "2",
90309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
90409625cffSIan Rogers        "CounterMask": "3",
90509625cffSIan Rogers        "EventCode": "0xB1",
90609625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
90709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
90809625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
90909625cffSIan Rogers        "SampleAfterValue": "2000003",
91009625cffSIan Rogers        "Speculative": "1",
91109625cffSIan Rogers        "UMask": "0x2"
91209625cffSIan Rogers    },
91309625cffSIan Rogers    {
91409625cffSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
91509625cffSIan Rogers        "CollectPEBSRecord": "2",
91609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
91709625cffSIan Rogers        "CounterMask": "4",
91809625cffSIan Rogers        "EventCode": "0xB1",
91909625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
92009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
92109625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
92209625cffSIan Rogers        "SampleAfterValue": "2000003",
92309625cffSIan Rogers        "Speculative": "1",
92409625cffSIan Rogers        "UMask": "0x2"
925cdb29a8fSJin Yao    },
926cdb29a8fSJin Yao    {
927cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
928cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
929cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
930cdb29a8fSJin Yao        "CounterMask": "1",
931cdb29a8fSJin Yao        "EventCode": "0xb1",
932cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
933cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
934cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
935cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
936cdb29a8fSJin Yao        "Speculative": "1",
937cdb29a8fSJin Yao        "UMask": "0x1"
938cdb29a8fSJin Yao    },
939cdb29a8fSJin Yao    {
940cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
941cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
942cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
943cdb29a8fSJin Yao        "CounterMask": "2",
944cdb29a8fSJin Yao        "EventCode": "0xb1",
945cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
946cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
947cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
948cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
949cdb29a8fSJin Yao        "Speculative": "1",
950cdb29a8fSJin Yao        "UMask": "0x1"
951cdb29a8fSJin Yao    },
952cdb29a8fSJin Yao    {
953cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
954cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
955cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
956cdb29a8fSJin Yao        "CounterMask": "3",
957cdb29a8fSJin Yao        "EventCode": "0xb1",
958cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
959cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
960cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
961cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
962cdb29a8fSJin Yao        "Speculative": "1",
963cdb29a8fSJin Yao        "UMask": "0x1"
964cdb29a8fSJin Yao    },
965cdb29a8fSJin Yao    {
966cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
967cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
968cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
969cdb29a8fSJin Yao        "CounterMask": "4",
970cdb29a8fSJin Yao        "EventCode": "0xb1",
971cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
972cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
973cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
974cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
975cdb29a8fSJin Yao        "Speculative": "1",
976cdb29a8fSJin Yao        "UMask": "0x1"
977cdb29a8fSJin Yao    },
978cdb29a8fSJin Yao    {
97909625cffSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
980cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
981cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
982cdb29a8fSJin Yao        "CounterMask": "1",
983cdb29a8fSJin Yao        "EventCode": "0xB1",
98409625cffSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
98509625cffSIan Rogers        "Invert": "1",
986cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
98709625cffSIan Rogers        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
988cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
989cdb29a8fSJin Yao        "Speculative": "1",
99009625cffSIan Rogers        "UMask": "0x1"
991cdb29a8fSJin Yao    },
992cdb29a8fSJin Yao    {
99309625cffSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
994cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
995cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
99609625cffSIan Rogers        "EventCode": "0xb1",
99709625cffSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
998cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
999cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
1000cdb29a8fSJin Yao        "Speculative": "1",
100109625cffSIan Rogers        "UMask": "0x1"
1002cdb29a8fSJin Yao    },
1003cdb29a8fSJin Yao    {
1004cdb29a8fSJin Yao        "BriefDescription": "Counts the number of x87 uops dispatched.",
1005cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1006cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1007cdb29a8fSJin Yao        "EventCode": "0xB1",
1008cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.X87",
1009cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1010cdb29a8fSJin Yao        "PublicDescription": "Counts the number of x87 uops executed.",
1011cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
1012cdb29a8fSJin Yao        "Speculative": "1",
1013cdb29a8fSJin Yao        "UMask": "0x10"
1014cdb29a8fSJin Yao    },
1015cdb29a8fSJin Yao    {
101609625cffSIan Rogers        "BriefDescription": "Uops that RAT issues to RS",
1017cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1018cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
101909625cffSIan Rogers        "EventCode": "0x0e",
102009625cffSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
1021cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
102209625cffSIan Rogers        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
102309625cffSIan Rogers        "SampleAfterValue": "2000003",
102409625cffSIan Rogers        "Speculative": "1",
102509625cffSIan Rogers        "UMask": "0x1"
1026cdb29a8fSJin Yao    },
1027cdb29a8fSJin Yao    {
102809625cffSIan Rogers        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
1029cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1030cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
103109625cffSIan Rogers        "CounterMask": "1",
103209625cffSIan Rogers        "EventCode": "0x0E",
103309625cffSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
1034cdb29a8fSJin Yao        "Invert": "1",
1035cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
103609625cffSIan 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.",
1037cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
103809625cffSIan Rogers        "Speculative": "1",
103909625cffSIan Rogers        "UMask": "0x1"
104009625cffSIan Rogers    },
104109625cffSIan Rogers    {
104209625cffSIan Rogers        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
104309625cffSIan Rogers        "CollectPEBSRecord": "2",
104409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
104509625cffSIan Rogers        "EventCode": "0x0e",
104609625cffSIan Rogers        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
104709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
104809625cffSIan 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.",
104909625cffSIan Rogers        "SampleAfterValue": "100003",
105009625cffSIan Rogers        "Speculative": "1",
1051cdb29a8fSJin Yao        "UMask": "0x2"
1052cdb29a8fSJin Yao    },
1053cdb29a8fSJin Yao    {
1054cdb29a8fSJin Yao        "BriefDescription": "Retirement slots used.",
1055cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1056cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1057cdb29a8fSJin Yao        "EventCode": "0xc2",
1058cdb29a8fSJin Yao        "EventName": "UOPS_RETIRED.SLOTS",
1059cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1060cdb29a8fSJin Yao        "PublicDescription": "Counts the retirement slots used each cycle.",
1061cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
1062cdb29a8fSJin Yao        "UMask": "0x2"
1063cdb29a8fSJin Yao    },
1064cdb29a8fSJin Yao    {
106509625cffSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1066cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1067cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1068cdb29a8fSJin Yao        "CounterMask": "1",
106909625cffSIan Rogers        "EventCode": "0xc2",
107009625cffSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
107109625cffSIan Rogers        "Invert": "1",
1072cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
107309625cffSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
107409625cffSIan Rogers        "SampleAfterValue": "1000003",
1075cdb29a8fSJin Yao        "Speculative": "1",
1076cdb29a8fSJin Yao        "UMask": "0x2"
1077cdb29a8fSJin Yao    },
1078cdb29a8fSJin Yao    {
107909625cffSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1080cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1081cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
108209625cffSIan Rogers        "CounterMask": "10",
108309625cffSIan Rogers        "EventCode": "0xc2",
108409625cffSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
108509625cffSIan Rogers        "Invert": "1",
1086cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
108709625cffSIan Rogers        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
108809625cffSIan Rogers        "SampleAfterValue": "1000003",
1089cdb29a8fSJin Yao        "UMask": "0x2"
1090cdb29a8fSJin Yao    }
1091cdb29a8fSJin Yao]
1092