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    {
1609625cffSIan Rogers        "BriefDescription": "All branch instructions retired.",
17cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
18cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1909625cffSIan Rogers        "EventCode": "0xc4",
2009625cffSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
2109625cffSIan Rogers        "PEBS": "1",
22cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
2309625cffSIan Rogers        "PublicDescription": "Counts all branch instructions retired.",
2409625cffSIan Rogers        "SampleAfterValue": "400009"
25cdb29a8fSJin Yao    },
26cdb29a8fSJin Yao    {
2709625cffSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
28cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
29cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
3009625cffSIan Rogers        "EventCode": "0xc4",
3109625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND",
3209625cffSIan Rogers        "PEBS": "1",
33cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
3409625cffSIan Rogers        "PublicDescription": "Counts conditional branch instructions retired.",
3509625cffSIan Rogers        "SampleAfterValue": "400009",
3609625cffSIan Rogers        "UMask": "0x11"
3709625cffSIan Rogers    },
3809625cffSIan Rogers    {
3909625cffSIan Rogers        "BriefDescription": "Not taken branch instructions retired.",
4009625cffSIan Rogers        "CollectPEBSRecord": "2",
4109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
4209625cffSIan Rogers        "EventCode": "0xc4",
4309625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
4409625cffSIan Rogers        "PEBS": "1",
4509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
4609625cffSIan Rogers        "PublicDescription": "Counts not taken branch instructions retired.",
4709625cffSIan Rogers        "SampleAfterValue": "400009",
4809625cffSIan Rogers        "UMask": "0x10"
4909625cffSIan Rogers    },
5009625cffSIan Rogers    {
5109625cffSIan Rogers        "BriefDescription": "Taken conditional 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_TAKEN",
5609625cffSIan Rogers        "PEBS": "1",
5709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
5809625cffSIan Rogers        "PublicDescription": "Counts taken conditional branch instructions retired.",
5909625cffSIan Rogers        "SampleAfterValue": "400009",
60cdb29a8fSJin Yao        "UMask": "0x1"
61cdb29a8fSJin Yao    },
62cdb29a8fSJin Yao    {
6309625cffSIan Rogers        "BriefDescription": "Far 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.FAR_BRANCH",
6809625cffSIan Rogers        "PEBS": "1",
6909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
7009625cffSIan Rogers        "PublicDescription": "Counts far branch instructions retired.",
7109625cffSIan Rogers        "SampleAfterValue": "100007",
7209625cffSIan Rogers        "UMask": "0x40"
7309625cffSIan Rogers    },
7409625cffSIan Rogers    {
7509625cffSIan Rogers        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
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.INDIRECT",
8009625cffSIan Rogers        "PEBS": "1",
8109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
8209625cffSIan Rogers        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
8309625cffSIan Rogers        "SampleAfterValue": "100003",
8409625cffSIan Rogers        "UMask": "0x80"
8509625cffSIan Rogers    },
8609625cffSIan Rogers    {
8709625cffSIan Rogers        "BriefDescription": "Direct and indirect near call instructions retired.",
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.NEAR_CALL",
9209625cffSIan Rogers        "PEBS": "1",
9309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
9409625cffSIan Rogers        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
9509625cffSIan Rogers        "SampleAfterValue": "100007",
9609625cffSIan Rogers        "UMask": "0x2"
9709625cffSIan Rogers    },
9809625cffSIan Rogers    {
9909625cffSIan Rogers        "BriefDescription": "Return 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_RETURN",
10409625cffSIan Rogers        "PEBS": "1",
10509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
10609625cffSIan Rogers        "PublicDescription": "Counts return instructions retired.",
10709625cffSIan Rogers        "SampleAfterValue": "100007",
10809625cffSIan Rogers        "UMask": "0x8"
10909625cffSIan Rogers    },
11009625cffSIan Rogers    {
11109625cffSIan Rogers        "BriefDescription": "Taken branch 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_TAKEN",
11609625cffSIan Rogers        "PEBS": "1",
11709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
11809625cffSIan Rogers        "PublicDescription": "Counts taken branch instructions retired.",
11909625cffSIan Rogers        "SampleAfterValue": "400009",
12009625cffSIan Rogers        "UMask": "0x20"
12109625cffSIan Rogers    },
12209625cffSIan Rogers    {
12309625cffSIan Rogers        "BriefDescription": "All mispredicted branch instructions retired.",
12409625cffSIan Rogers        "CollectPEBSRecord": "2",
12509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
12609625cffSIan Rogers        "EventCode": "0xc5",
12709625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
12809625cffSIan Rogers        "PEBS": "1",
12909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
13009625cffSIan 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.",
13109625cffSIan Rogers        "SampleAfterValue": "50021"
13209625cffSIan Rogers    },
13309625cffSIan Rogers    {
13409625cffSIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
13509625cffSIan Rogers        "CollectPEBSRecord": "2",
13609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
13709625cffSIan Rogers        "EventCode": "0xc5",
13809625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND",
13909625cffSIan Rogers        "PEBS": "1",
14009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
14109625cffSIan Rogers        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
14209625cffSIan Rogers        "SampleAfterValue": "50021",
14309625cffSIan Rogers        "UMask": "0x11"
14409625cffSIan Rogers    },
14509625cffSIan Rogers    {
14609625cffSIan Rogers        "BriefDescription": "Mispredicted non-taken 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_NTAKEN",
15109625cffSIan Rogers        "PEBS": "1",
15209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
15309625cffSIan Rogers        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
15409625cffSIan Rogers        "SampleAfterValue": "50021",
15509625cffSIan Rogers        "UMask": "0x10"
15609625cffSIan Rogers    },
15709625cffSIan Rogers    {
15809625cffSIan Rogers        "BriefDescription": "number of branch instructions retired that were mispredicted and taken. Non PEBS",
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_TAKEN",
16309625cffSIan Rogers        "PEBS": "1",
16409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
16509625cffSIan Rogers        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
16609625cffSIan Rogers        "SampleAfterValue": "50021",
16709625cffSIan Rogers        "UMask": "0x1"
16809625cffSIan Rogers    },
16909625cffSIan Rogers    {
17009625cffSIan Rogers        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
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.INDIRECT",
17509625cffSIan Rogers        "PEBS": "1",
17609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
17709625cffSIan Rogers        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
17809625cffSIan Rogers        "SampleAfterValue": "50021",
17909625cffSIan Rogers        "UMask": "0x80"
18009625cffSIan Rogers    },
18109625cffSIan Rogers    {
18209625cffSIan Rogers        "BriefDescription": "Mispredicted indirect CALL instructions retired.",
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_CALL",
18709625cffSIan Rogers        "PEBS": "1",
18809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
18909625cffSIan Rogers        "PublicDescription": "Counts retired mispredicted indirect (near taken) calls, including both register and memory indirect.",
19009625cffSIan Rogers        "SampleAfterValue": "50021",
19109625cffSIan Rogers        "UMask": "0x2"
19209625cffSIan Rogers    },
19309625cffSIan Rogers    {
19409625cffSIan Rogers        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
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.NEAR_TAKEN",
19909625cffSIan Rogers        "PEBS": "1",
20009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
20109625cffSIan Rogers        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
20209625cffSIan Rogers        "SampleAfterValue": "50021",
20309625cffSIan Rogers        "UMask": "0x20"
20409625cffSIan Rogers    },
20509625cffSIan Rogers    {
20609625cffSIan Rogers        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
20709625cffSIan Rogers        "CollectPEBSRecord": "2",
20809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
20909625cffSIan Rogers        "EventCode": "0xec",
21009625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
21109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
21209625cffSIan 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.",
21309625cffSIan Rogers        "SampleAfterValue": "2000003",
21409625cffSIan Rogers        "Speculative": "1",
21509625cffSIan Rogers        "UMask": "0x2"
21609625cffSIan Rogers    },
21709625cffSIan Rogers    {
218cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
219cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
220cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
221cdb29a8fSJin Yao        "EventCode": "0x3C",
222cdb29a8fSJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
223cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
224cdb29a8fSJin Yao        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
225cdb29a8fSJin Yao        "SampleAfterValue": "25003",
226cdb29a8fSJin Yao        "Speculative": "1",
227cdb29a8fSJin Yao        "UMask": "0x2"
228cdb29a8fSJin Yao    },
229cdb29a8fSJin Yao    {
230cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
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.REF_DISTRIBUTED",
235cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
236cdb29a8fSJin 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.",
237cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
238cdb29a8fSJin Yao        "Speculative": "1",
239cdb29a8fSJin Yao        "UMask": "0x8"
240cdb29a8fSJin Yao    },
241cdb29a8fSJin Yao    {
24209625cffSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
24309625cffSIan Rogers        "CollectPEBSRecord": "2",
24409625cffSIan Rogers        "Counter": "Fixed counter 2",
24509625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
24609625cffSIan Rogers        "PEBScounters": "34",
24709625cffSIan 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.",
24809625cffSIan Rogers        "SampleAfterValue": "2000003",
24909625cffSIan Rogers        "Speculative": "1",
25009625cffSIan Rogers        "UMask": "0x3"
25109625cffSIan Rogers    },
25209625cffSIan Rogers    {
25309625cffSIan Rogers        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
25409625cffSIan Rogers        "CollectPEBSRecord": "2",
25509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
25609625cffSIan Rogers        "EventCode": "0x3C",
25709625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
25809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
25909625cffSIan Rogers        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
26009625cffSIan Rogers        "SampleAfterValue": "25003",
26109625cffSIan Rogers        "Speculative": "1",
26209625cffSIan Rogers        "UMask": "0x1"
26309625cffSIan Rogers    },
26409625cffSIan Rogers    {
26509625cffSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
26609625cffSIan Rogers        "CollectPEBSRecord": "2",
26709625cffSIan Rogers        "Counter": "Fixed counter 1",
26809625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
26909625cffSIan Rogers        "PEBScounters": "33",
27009625cffSIan 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.",
27109625cffSIan Rogers        "SampleAfterValue": "2000003",
27209625cffSIan Rogers        "Speculative": "1",
27309625cffSIan Rogers        "UMask": "0x2"
27409625cffSIan Rogers    },
27509625cffSIan Rogers    {
27609625cffSIan Rogers        "BriefDescription": "Thread cycles when thread is not in halt state",
27709625cffSIan Rogers        "CollectPEBSRecord": "2",
27809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
27909625cffSIan Rogers        "EventCode": "0x3C",
28009625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
28109625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
28209625cffSIan 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.",
28309625cffSIan Rogers        "SampleAfterValue": "2000003",
28409625cffSIan Rogers        "Speculative": "1"
28509625cffSIan Rogers    },
28609625cffSIan Rogers    {
28709625cffSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
28809625cffSIan Rogers        "CollectPEBSRecord": "2",
28909625cffSIan Rogers        "Counter": "0,1,2,3",
29009625cffSIan Rogers        "CounterMask": "8",
29109625cffSIan Rogers        "EventCode": "0xA3",
29209625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
29309625cffSIan Rogers        "PEBScounters": "0,1,2,3",
29409625cffSIan Rogers        "SampleAfterValue": "1000003",
29509625cffSIan Rogers        "Speculative": "1",
29609625cffSIan Rogers        "UMask": "0x8"
29709625cffSIan Rogers    },
29809625cffSIan Rogers    {
29909625cffSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
30009625cffSIan Rogers        "CollectPEBSRecord": "2",
30109625cffSIan Rogers        "Counter": "0,1,2,3",
30209625cffSIan Rogers        "CounterMask": "1",
30309625cffSIan Rogers        "EventCode": "0xA3",
30409625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
30509625cffSIan Rogers        "PEBScounters": "0,1,2,3",
30609625cffSIan Rogers        "SampleAfterValue": "1000003",
30709625cffSIan Rogers        "Speculative": "1",
30809625cffSIan Rogers        "UMask": "0x1"
30909625cffSIan Rogers    },
31009625cffSIan Rogers    {
31109625cffSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
31209625cffSIan Rogers        "CollectPEBSRecord": "2",
31309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
31409625cffSIan Rogers        "CounterMask": "16",
31509625cffSIan Rogers        "EventCode": "0xA3",
31609625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
31709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
31809625cffSIan Rogers        "SampleAfterValue": "1000003",
31909625cffSIan Rogers        "Speculative": "1",
32009625cffSIan Rogers        "UMask": "0x10"
32109625cffSIan Rogers    },
32209625cffSIan Rogers    {
32309625cffSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
32409625cffSIan Rogers        "CollectPEBSRecord": "2",
32509625cffSIan Rogers        "Counter": "0,1,2,3",
32609625cffSIan Rogers        "CounterMask": "12",
32709625cffSIan Rogers        "EventCode": "0xA3",
32809625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
32909625cffSIan Rogers        "PEBScounters": "0,1,2,3",
33009625cffSIan Rogers        "SampleAfterValue": "1000003",
33109625cffSIan Rogers        "Speculative": "1",
33209625cffSIan Rogers        "UMask": "0xc"
33309625cffSIan Rogers    },
33409625cffSIan Rogers    {
33509625cffSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
33609625cffSIan Rogers        "CollectPEBSRecord": "2",
33709625cffSIan Rogers        "Counter": "0,1,2,3",
33809625cffSIan Rogers        "CounterMask": "5",
33909625cffSIan Rogers        "EventCode": "0xa3",
34009625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
34109625cffSIan Rogers        "PEBScounters": "0,1,2,3",
34209625cffSIan Rogers        "SampleAfterValue": "1000003",
34309625cffSIan Rogers        "Speculative": "1",
34409625cffSIan Rogers        "UMask": "0x5"
34509625cffSIan Rogers    },
34609625cffSIan Rogers    {
34709625cffSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
34809625cffSIan Rogers        "CollectPEBSRecord": "2",
34909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
35009625cffSIan Rogers        "CounterMask": "20",
35109625cffSIan Rogers        "EventCode": "0xa3",
35209625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
35309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
35409625cffSIan Rogers        "SampleAfterValue": "1000003",
35509625cffSIan Rogers        "Speculative": "1",
35609625cffSIan Rogers        "UMask": "0x14"
35709625cffSIan Rogers    },
35809625cffSIan Rogers    {
35909625cffSIan Rogers        "BriefDescription": "Total execution stalls.",
36009625cffSIan Rogers        "CollectPEBSRecord": "2",
36109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
36209625cffSIan Rogers        "CounterMask": "4",
36309625cffSIan Rogers        "EventCode": "0xa3",
36409625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
36509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
36609625cffSIan Rogers        "SampleAfterValue": "1000003",
36709625cffSIan Rogers        "Speculative": "1",
36809625cffSIan Rogers        "UMask": "0x4"
36909625cffSIan Rogers    },
37009625cffSIan Rogers    {
37109625cffSIan Rogers        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
37209625cffSIan Rogers        "CollectPEBSRecord": "2",
37309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
37409625cffSIan Rogers        "EventCode": "0xa6",
37509625cffSIan Rogers        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
37609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
37709625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
37809625cffSIan Rogers        "SampleAfterValue": "2000003",
37909625cffSIan Rogers        "Speculative": "1",
38009625cffSIan Rogers        "UMask": "0x2"
38109625cffSIan Rogers    },
38209625cffSIan Rogers    {
38309625cffSIan Rogers        "BriefDescription": "Cycles total of 2 uops are 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.2_PORTS_UTIL",
38809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
38909625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
39009625cffSIan Rogers        "SampleAfterValue": "2000003",
39109625cffSIan Rogers        "Speculative": "1",
39209625cffSIan Rogers        "UMask": "0x4"
39309625cffSIan Rogers    },
39409625cffSIan Rogers    {
39509625cffSIan Rogers        "BriefDescription": "Cycles total of 3 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.3_PORTS_UTIL",
40009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
40109625cffSIan Rogers        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
40209625cffSIan Rogers        "SampleAfterValue": "2000003",
40309625cffSIan Rogers        "Speculative": "1",
40409625cffSIan Rogers        "UMask": "0x8"
40509625cffSIan Rogers    },
40609625cffSIan Rogers    {
40709625cffSIan Rogers        "BriefDescription": "Cycles total of 4 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.4_PORTS_UTIL",
41209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
41309625cffSIan Rogers        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
41409625cffSIan Rogers        "SampleAfterValue": "2000003",
41509625cffSIan Rogers        "Speculative": "1",
41609625cffSIan Rogers        "UMask": "0x10"
41709625cffSIan Rogers    },
41809625cffSIan Rogers    {
41909625cffSIan Rogers        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
42009625cffSIan Rogers        "CollectPEBSRecord": "2",
42109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
42209625cffSIan Rogers        "CounterMask": "2",
42309625cffSIan Rogers        "EventCode": "0xA6",
42409625cffSIan Rogers        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
42509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
42609625cffSIan Rogers        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
42709625cffSIan Rogers        "SampleAfterValue": "1000003",
42809625cffSIan Rogers        "Speculative": "1",
42909625cffSIan Rogers        "UMask": "0x40"
43009625cffSIan Rogers    },
43109625cffSIan Rogers    {
43209625cffSIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
43309625cffSIan Rogers        "CollectPEBSRecord": "2",
43409625cffSIan Rogers        "Counter": "0,1,2,3",
43509625cffSIan Rogers        "EventCode": "0x87",
43609625cffSIan Rogers        "EventName": "ILD_STALL.LCP",
43709625cffSIan Rogers        "PEBScounters": "0,1,2,3",
43809625cffSIan 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.",
43909625cffSIan Rogers        "SampleAfterValue": "500009",
44009625cffSIan Rogers        "Speculative": "1",
44109625cffSIan Rogers        "UMask": "0x1"
44209625cffSIan Rogers    },
44309625cffSIan Rogers    {
44409625cffSIan Rogers        "BriefDescription": "Instruction decoders utilized in a cycle",
44509625cffSIan Rogers        "CollectPEBSRecord": "2",
44609625cffSIan Rogers        "Counter": "0,1,2,3",
44709625cffSIan Rogers        "EventCode": "0x55",
44809625cffSIan Rogers        "EventName": "INST_DECODED.DECODERS",
44909625cffSIan Rogers        "PEBScounters": "0,1,2,3",
45009625cffSIan Rogers        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
45109625cffSIan Rogers        "SampleAfterValue": "2000003",
45209625cffSIan Rogers        "Speculative": "1",
45309625cffSIan Rogers        "UMask": "0x1"
45409625cffSIan Rogers    },
45509625cffSIan Rogers    {
45609625cffSIan Rogers        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
45709625cffSIan Rogers        "CollectPEBSRecord": "2",
45809625cffSIan Rogers        "Counter": "Fixed counter 0",
45909625cffSIan Rogers        "EventName": "INST_RETIRED.ANY",
46009625cffSIan Rogers        "PEBS": "1",
46109625cffSIan Rogers        "PEBScounters": "32",
46209625cffSIan 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.",
46309625cffSIan Rogers        "SampleAfterValue": "2000003",
46409625cffSIan Rogers        "UMask": "0x1"
46509625cffSIan Rogers    },
46609625cffSIan Rogers    {
46709625cffSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
46809625cffSIan Rogers        "CollectPEBSRecord": "2",
46909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
47009625cffSIan Rogers        "EventCode": "0xc0",
47109625cffSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
47209625cffSIan Rogers        "PEBS": "1",
47309625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
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    },
47709625cffSIan Rogers    {
47809625cffSIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
47909625cffSIan Rogers        "CollectPEBSRecord": "2",
48009625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
48109625cffSIan Rogers        "EventCode": "0xc0",
48209625cffSIan Rogers        "EventName": "INST_RETIRED.NOP",
48309625cffSIan Rogers        "PEBS": "1",
48409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
48509625cffSIan Rogers        "SampleAfterValue": "2000003",
48609625cffSIan Rogers        "UMask": "0x2"
48709625cffSIan Rogers    },
48809625cffSIan Rogers    {
48909625cffSIan Rogers        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution",
49009625cffSIan Rogers        "CollectPEBSRecord": "2",
49109625cffSIan Rogers        "Counter": "Fixed counter 0",
49209625cffSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
49309625cffSIan Rogers        "PEBS": "1",
49409625cffSIan Rogers        "PEBScounters": "32",
49509625cffSIan 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.",
49609625cffSIan Rogers        "SampleAfterValue": "2000003",
49709625cffSIan Rogers        "UMask": "0x1"
49809625cffSIan Rogers    },
49909625cffSIan Rogers    {
50009625cffSIan Rogers        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
50109625cffSIan Rogers        "CollectPEBSRecord": "2",
50209625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
50309625cffSIan Rogers        "CounterMask": "1",
50409625cffSIan Rogers        "EventCode": "0x0D",
50509625cffSIan Rogers        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
50609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
50709625cffSIan Rogers        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
50809625cffSIan Rogers        "SampleAfterValue": "2000003",
50909625cffSIan Rogers        "Speculative": "1",
51009625cffSIan Rogers        "UMask": "0x3"
51109625cffSIan Rogers    },
51209625cffSIan Rogers    {
51309625cffSIan Rogers        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
51409625cffSIan Rogers        "CollectPEBSRecord": "2",
51509625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
51609625cffSIan Rogers        "EventCode": "0x0d",
51709625cffSIan Rogers        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
51809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
51909625cffSIan Rogers        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
52009625cffSIan Rogers        "SampleAfterValue": "500009",
52109625cffSIan Rogers        "Speculative": "1",
52209625cffSIan Rogers        "UMask": "0x80"
52309625cffSIan Rogers    },
52409625cffSIan Rogers    {
52509625cffSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
52609625cffSIan Rogers        "CollectPEBSRecord": "2",
52709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
52809625cffSIan Rogers        "EventCode": "0x0D",
52909625cffSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
53009625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
53109625cffSIan Rogers        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
53209625cffSIan Rogers        "SampleAfterValue": "500009",
53309625cffSIan Rogers        "Speculative": "1",
53409625cffSIan Rogers        "UMask": "0x1"
53509625cffSIan Rogers    },
53609625cffSIan Rogers    {
53709625cffSIan Rogers        "BriefDescription": "TMA slots where uops got dropped",
53809625cffSIan Rogers        "CollectPEBSRecord": "2",
53909625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
54009625cffSIan Rogers        "EventCode": "0x0d",
54109625cffSIan Rogers        "EventName": "INT_MISC.UOP_DROPPING",
54209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
54309625cffSIan Rogers        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
54409625cffSIan Rogers        "SampleAfterValue": "1000003",
54509625cffSIan Rogers        "Speculative": "1",
54609625cffSIan Rogers        "UMask": "0x10"
54709625cffSIan Rogers    },
54809625cffSIan Rogers    {
54909625cffSIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
55009625cffSIan Rogers        "CollectPEBSRecord": "2",
55109625cffSIan Rogers        "Counter": "0,1,2,3",
55209625cffSIan Rogers        "EventCode": "0x03",
55309625cffSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
55409625cffSIan Rogers        "PEBScounters": "0,1,2,3",
55509625cffSIan 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.",
55609625cffSIan Rogers        "SampleAfterValue": "100003",
55709625cffSIan Rogers        "Speculative": "1",
55809625cffSIan Rogers        "UMask": "0x8"
55909625cffSIan Rogers    },
56009625cffSIan Rogers    {
56109625cffSIan Rogers        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
56209625cffSIan Rogers        "CollectPEBSRecord": "2",
56309625cffSIan Rogers        "Counter": "0,1,2,3",
56409625cffSIan Rogers        "EventCode": "0x03",
56509625cffSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
56609625cffSIan Rogers        "PEBScounters": "0,1,2,3",
56709625cffSIan 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.",
56809625cffSIan Rogers        "SampleAfterValue": "100003",
56909625cffSIan Rogers        "Speculative": "1",
57009625cffSIan Rogers        "UMask": "0x2"
57109625cffSIan Rogers    },
57209625cffSIan Rogers    {
57309625cffSIan Rogers        "BriefDescription": "False dependencies due to partial compare on address.",
57409625cffSIan Rogers        "CollectPEBSRecord": "2",
57509625cffSIan Rogers        "Counter": "0,1,2,3",
57609625cffSIan Rogers        "EventCode": "0x07",
57709625cffSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
57809625cffSIan Rogers        "PEBScounters": "0,1,2,3",
57909625cffSIan Rogers        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies due to partial compare on address.",
58009625cffSIan Rogers        "SampleAfterValue": "100003",
58109625cffSIan Rogers        "Speculative": "1",
58209625cffSIan Rogers        "UMask": "0x1"
58309625cffSIan Rogers    },
58409625cffSIan Rogers    {
585cdb29a8fSJin Yao        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
586cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
587cdb29a8fSJin Yao        "Counter": "0,1,2,3",
588cdb29a8fSJin Yao        "EventCode": "0x4c",
589cdb29a8fSJin Yao        "EventName": "LOAD_HIT_PREFETCH.SWPF",
590cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
591cdb29a8fSJin 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.",
592cdb29a8fSJin Yao        "SampleAfterValue": "100003",
593cdb29a8fSJin Yao        "Speculative": "1",
594cdb29a8fSJin Yao        "UMask": "0x1"
595cdb29a8fSJin Yao    },
596cdb29a8fSJin Yao    {
59709625cffSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
59809625cffSIan Rogers        "CollectPEBSRecord": "2",
59909625cffSIan Rogers        "Counter": "0,1,2,3",
60009625cffSIan Rogers        "CounterMask": "1",
60109625cffSIan Rogers        "EventCode": "0xA8",
60209625cffSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
60309625cffSIan Rogers        "PEBScounters": "0,1,2,3",
60409625cffSIan Rogers        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
60509625cffSIan Rogers        "SampleAfterValue": "2000003",
60609625cffSIan Rogers        "Speculative": "1",
60709625cffSIan Rogers        "UMask": "0x1"
60809625cffSIan Rogers    },
60909625cffSIan Rogers    {
61009625cffSIan Rogers        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
61109625cffSIan Rogers        "CollectPEBSRecord": "2",
61209625cffSIan Rogers        "Counter": "0,1,2,3",
61309625cffSIan Rogers        "CounterMask": "5",
61409625cffSIan Rogers        "EventCode": "0xa8",
61509625cffSIan Rogers        "EventName": "LSD.CYCLES_OK",
61609625cffSIan Rogers        "PEBScounters": "0,1,2,3",
61709625cffSIan Rogers        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
61809625cffSIan Rogers        "SampleAfterValue": "2000003",
61909625cffSIan Rogers        "Speculative": "1",
62009625cffSIan Rogers        "UMask": "0x1"
62109625cffSIan Rogers    },
62209625cffSIan Rogers    {
62309625cffSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
62409625cffSIan Rogers        "CollectPEBSRecord": "2",
62509625cffSIan Rogers        "Counter": "0,1,2,3",
62609625cffSIan Rogers        "EventCode": "0xa8",
62709625cffSIan Rogers        "EventName": "LSD.UOPS",
62809625cffSIan Rogers        "PEBScounters": "0,1,2,3",
62909625cffSIan Rogers        "PublicDescription": "Counts the number of uops delivered to the back-end 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 machine clears (nukes) of any type.",
63609625cffSIan Rogers        "CollectPEBSRecord": "2",
63709625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
63809625cffSIan Rogers        "CounterMask": "1",
63909625cffSIan Rogers        "EdgeDetect": "1",
64009625cffSIan Rogers        "EventCode": "0xc3",
64109625cffSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
64209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
64309625cffSIan Rogers        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
64409625cffSIan Rogers        "SampleAfterValue": "100003",
64509625cffSIan Rogers        "Speculative": "1",
64609625cffSIan Rogers        "UMask": "0x1"
64709625cffSIan Rogers    },
64809625cffSIan Rogers    {
64909625cffSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
65009625cffSIan Rogers        "CollectPEBSRecord": "2",
65109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
65209625cffSIan Rogers        "EventCode": "0xc3",
65309625cffSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
65409625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
65509625cffSIan Rogers        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
65609625cffSIan Rogers        "SampleAfterValue": "100003",
65709625cffSIan Rogers        "Speculative": "1",
65809625cffSIan Rogers        "UMask": "0x4"
65909625cffSIan Rogers    },
66009625cffSIan Rogers    {
66109625cffSIan Rogers        "BriefDescription": "Increments whenever there is an update to the LBR array.",
66209625cffSIan Rogers        "CollectPEBSRecord": "2",
66309625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
66409625cffSIan Rogers        "EventCode": "0xcc",
66509625cffSIan Rogers        "EventName": "MISC_RETIRED.LBR_INSERTS",
66609625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
66709625cffSIan 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.",
66809625cffSIan Rogers        "SampleAfterValue": "100003",
66909625cffSIan Rogers        "UMask": "0x20"
67009625cffSIan Rogers    },
67109625cffSIan Rogers    {
67209625cffSIan Rogers        "BriefDescription": "Number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
67309625cffSIan Rogers        "CollectPEBSRecord": "2",
67409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
67509625cffSIan Rogers        "EventCode": "0xcc",
67609625cffSIan Rogers        "EventName": "MISC_RETIRED.PAUSE_INST",
67709625cffSIan Rogers        "PublicDescription": "Counts number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
67809625cffSIan Rogers        "SampleAfterValue": "100003",
67909625cffSIan Rogers        "UMask": "0x40"
68009625cffSIan Rogers    },
68109625cffSIan Rogers    {
68209625cffSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
68309625cffSIan Rogers        "CollectPEBSRecord": "2",
68409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
68509625cffSIan Rogers        "EventCode": "0xa2",
68609625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
68709625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
68809625cffSIan 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.",
68909625cffSIan Rogers        "SampleAfterValue": "100003",
69009625cffSIan Rogers        "Speculative": "1",
69109625cffSIan Rogers        "UMask": "0x8"
69209625cffSIan Rogers    },
69309625cffSIan Rogers    {
69409625cffSIan Rogers        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
69509625cffSIan Rogers        "CollectPEBSRecord": "2",
69609625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
69709625cffSIan Rogers        "EventCode": "0xa2",
69809625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SCOREBOARD",
69909625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
70009625cffSIan Rogers        "SampleAfterValue": "100003",
70109625cffSIan Rogers        "Speculative": "1",
70209625cffSIan Rogers        "UMask": "0x2"
70309625cffSIan Rogers    },
70409625cffSIan Rogers    {
705cdb29a8fSJin Yao        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
706cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
707cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
708cdb29a8fSJin Yao        "EventCode": "0x5e",
709cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_CYCLES",
710cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
711cdb29a8fSJin 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)",
712cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
713cdb29a8fSJin Yao        "Speculative": "1",
714cdb29a8fSJin Yao        "UMask": "0x1"
715cdb29a8fSJin Yao    },
716cdb29a8fSJin Yao    {
717cdb29a8fSJin Yao        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
718cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
719cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
720cdb29a8fSJin Yao        "CounterMask": "1",
721cdb29a8fSJin Yao        "EdgeDetect": "1",
722cdb29a8fSJin Yao        "EventCode": "0x5E",
723cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_END",
724cdb29a8fSJin Yao        "Invert": "1",
725cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
726cdb29a8fSJin 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)",
727cdb29a8fSJin Yao        "SampleAfterValue": "100003",
728cdb29a8fSJin Yao        "Speculative": "1",
729cdb29a8fSJin Yao        "UMask": "0x1"
730cdb29a8fSJin Yao    },
731cdb29a8fSJin Yao    {
732*f25db21bSIan Rogers        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
733*f25db21bSIan Rogers        "CollectPEBSRecord": "2",
734*f25db21bSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
735*f25db21bSIan Rogers        "EventCode": "0xa4",
736*f25db21bSIan Rogers        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
737*f25db21bSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
738*f25db21bSIan 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.",
739*f25db21bSIan Rogers        "SampleAfterValue": "10000003",
740*f25db21bSIan Rogers        "Speculative": "1",
741*f25db21bSIan Rogers        "UMask": "0x2"
742*f25db21bSIan Rogers    },
743*f25db21bSIan Rogers    {
744*f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
745*f25db21bSIan Rogers        "CollectPEBSRecord": "2",
746*f25db21bSIan Rogers        "Counter": "Fixed counter 3",
747*f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS",
748*f25db21bSIan Rogers        "PEBScounters": "35",
749*f25db21bSIan 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).",
750*f25db21bSIan Rogers        "SampleAfterValue": "10000003",
751*f25db21bSIan Rogers        "Speculative": "1",
752*f25db21bSIan Rogers        "UMask": "0x4"
753*f25db21bSIan Rogers    },
754*f25db21bSIan Rogers    {
755*f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
756*f25db21bSIan Rogers        "CollectPEBSRecord": "2",
757*f25db21bSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
758*f25db21bSIan Rogers        "EventCode": "0xa4",
759*f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS_P",
760*f25db21bSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
761*f25db21bSIan 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.",
762*f25db21bSIan Rogers        "SampleAfterValue": "10000003",
763*f25db21bSIan Rogers        "Speculative": "1",
764*f25db21bSIan Rogers        "UMask": "0x1"
765*f25db21bSIan Rogers    },
766*f25db21bSIan Rogers    {
76709625cffSIan Rogers        "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
768cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
769cdb29a8fSJin Yao        "Counter": "0,1,2,3",
77009625cffSIan Rogers        "EventCode": "0x56",
77109625cffSIan Rogers        "EventName": "UOPS_DECODED.DEC0",
772cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3",
77309625cffSIan Rogers        "PublicDescription": "Uops exclusively fetched by decoder 0",
77409625cffSIan Rogers        "SampleAfterValue": "1000003",
775cdb29a8fSJin Yao        "Speculative": "1",
776cdb29a8fSJin Yao        "UMask": "0x1"
777cdb29a8fSJin Yao    },
778cdb29a8fSJin Yao    {
779cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 0",
780cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
781cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
782cdb29a8fSJin Yao        "EventCode": "0xa1",
783cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_0",
784cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
785cdb29a8fSJin 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.",
786cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
787cdb29a8fSJin Yao        "Speculative": "1",
788cdb29a8fSJin Yao        "UMask": "0x1"
789cdb29a8fSJin Yao    },
790cdb29a8fSJin Yao    {
791cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 1",
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_1",
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 1.",
798cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
799cdb29a8fSJin Yao        "Speculative": "1",
800cdb29a8fSJin Yao        "UMask": "0x2"
801cdb29a8fSJin Yao    },
802cdb29a8fSJin Yao    {
803cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 2 and 3",
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_2_3",
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 ports 2 and 3.",
810cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
811cdb29a8fSJin Yao        "Speculative": "1",
812cdb29a8fSJin Yao        "UMask": "0x4"
813cdb29a8fSJin Yao    },
814cdb29a8fSJin Yao    {
815cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 4 and 9",
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_4_9",
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 5 and 9.",
822cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
823cdb29a8fSJin Yao        "Speculative": "1",
824cdb29a8fSJin Yao        "UMask": "0x10"
825cdb29a8fSJin Yao    },
826cdb29a8fSJin Yao    {
827cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 5",
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_5",
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 port 5.",
834cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
835cdb29a8fSJin Yao        "Speculative": "1",
836cdb29a8fSJin Yao        "UMask": "0x20"
837cdb29a8fSJin Yao    },
838cdb29a8fSJin Yao    {
839cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 6",
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_6",
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 6.",
846cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
847cdb29a8fSJin Yao        "Speculative": "1",
848cdb29a8fSJin Yao        "UMask": "0x40"
849cdb29a8fSJin Yao    },
850cdb29a8fSJin Yao    {
851cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 7 and 8",
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_7_8",
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 ports 7 and 8.",
858cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
859cdb29a8fSJin Yao        "Speculative": "1",
860cdb29a8fSJin Yao        "UMask": "0x80"
861cdb29a8fSJin Yao    },
862cdb29a8fSJin Yao    {
86309625cffSIan Rogers        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
864cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
865cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
866cdb29a8fSJin Yao        "CounterMask": "1",
867cdb29a8fSJin Yao        "EventCode": "0xB1",
86809625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
869cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
87009625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
871cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
872cdb29a8fSJin Yao        "Speculative": "1",
87309625cffSIan Rogers        "UMask": "0x2"
87409625cffSIan Rogers    },
87509625cffSIan Rogers    {
87609625cffSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
87709625cffSIan Rogers        "CollectPEBSRecord": "2",
87809625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
87909625cffSIan Rogers        "CounterMask": "2",
88009625cffSIan Rogers        "EventCode": "0xB1",
88109625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
88209625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
88309625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
88409625cffSIan Rogers        "SampleAfterValue": "2000003",
88509625cffSIan Rogers        "Speculative": "1",
88609625cffSIan Rogers        "UMask": "0x2"
88709625cffSIan Rogers    },
88809625cffSIan Rogers    {
88909625cffSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
89009625cffSIan Rogers        "CollectPEBSRecord": "2",
89109625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
89209625cffSIan Rogers        "CounterMask": "3",
89309625cffSIan Rogers        "EventCode": "0xB1",
89409625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
89509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
89609625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
89709625cffSIan Rogers        "SampleAfterValue": "2000003",
89809625cffSIan Rogers        "Speculative": "1",
89909625cffSIan Rogers        "UMask": "0x2"
90009625cffSIan Rogers    },
90109625cffSIan Rogers    {
90209625cffSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
90309625cffSIan Rogers        "CollectPEBSRecord": "2",
90409625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
90509625cffSIan Rogers        "CounterMask": "4",
90609625cffSIan Rogers        "EventCode": "0xB1",
90709625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
90809625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
90909625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
91009625cffSIan Rogers        "SampleAfterValue": "2000003",
91109625cffSIan Rogers        "Speculative": "1",
91209625cffSIan Rogers        "UMask": "0x2"
913cdb29a8fSJin Yao    },
914cdb29a8fSJin Yao    {
915cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
916cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
917cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
918cdb29a8fSJin Yao        "CounterMask": "1",
919cdb29a8fSJin Yao        "EventCode": "0xb1",
920cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
921cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
922cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
923cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
924cdb29a8fSJin Yao        "Speculative": "1",
925cdb29a8fSJin Yao        "UMask": "0x1"
926cdb29a8fSJin Yao    },
927cdb29a8fSJin Yao    {
928cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
929cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
930cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
931cdb29a8fSJin Yao        "CounterMask": "2",
932cdb29a8fSJin Yao        "EventCode": "0xb1",
933cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
934cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
935cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
936cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
937cdb29a8fSJin Yao        "Speculative": "1",
938cdb29a8fSJin Yao        "UMask": "0x1"
939cdb29a8fSJin Yao    },
940cdb29a8fSJin Yao    {
941cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
942cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
943cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
944cdb29a8fSJin Yao        "CounterMask": "3",
945cdb29a8fSJin Yao        "EventCode": "0xb1",
946cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
947cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
948cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
949cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
950cdb29a8fSJin Yao        "Speculative": "1",
951cdb29a8fSJin Yao        "UMask": "0x1"
952cdb29a8fSJin Yao    },
953cdb29a8fSJin Yao    {
954cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
955cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
956cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
957cdb29a8fSJin Yao        "CounterMask": "4",
958cdb29a8fSJin Yao        "EventCode": "0xb1",
959cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
960cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
961cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
962cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
963cdb29a8fSJin Yao        "Speculative": "1",
964cdb29a8fSJin Yao        "UMask": "0x1"
965cdb29a8fSJin Yao    },
966cdb29a8fSJin Yao    {
96709625cffSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
968cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
969cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
970cdb29a8fSJin Yao        "CounterMask": "1",
971cdb29a8fSJin Yao        "EventCode": "0xB1",
97209625cffSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
97309625cffSIan Rogers        "Invert": "1",
974cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
97509625cffSIan Rogers        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
976cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
977cdb29a8fSJin Yao        "Speculative": "1",
97809625cffSIan Rogers        "UMask": "0x1"
979cdb29a8fSJin Yao    },
980cdb29a8fSJin Yao    {
98109625cffSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
982cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
983cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
98409625cffSIan Rogers        "EventCode": "0xb1",
98509625cffSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
986cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
987cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
988cdb29a8fSJin Yao        "Speculative": "1",
98909625cffSIan Rogers        "UMask": "0x1"
990cdb29a8fSJin Yao    },
991cdb29a8fSJin Yao    {
992cdb29a8fSJin Yao        "BriefDescription": "Counts the number of x87 uops dispatched.",
993cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
994cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
995cdb29a8fSJin Yao        "EventCode": "0xB1",
996cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.X87",
997cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
998cdb29a8fSJin Yao        "PublicDescription": "Counts the number of x87 uops executed.",
999cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
1000cdb29a8fSJin Yao        "Speculative": "1",
1001cdb29a8fSJin Yao        "UMask": "0x10"
1002cdb29a8fSJin Yao    },
1003cdb29a8fSJin Yao    {
100409625cffSIan Rogers        "BriefDescription": "Uops that RAT issues to RS",
1005cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1006cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
100709625cffSIan Rogers        "EventCode": "0x0e",
100809625cffSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
1009cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
101009625cffSIan Rogers        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
101109625cffSIan Rogers        "SampleAfterValue": "2000003",
101209625cffSIan Rogers        "Speculative": "1",
101309625cffSIan Rogers        "UMask": "0x1"
1014cdb29a8fSJin Yao    },
1015cdb29a8fSJin Yao    {
101609625cffSIan Rogers        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
1017cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1018cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
101909625cffSIan Rogers        "CounterMask": "1",
102009625cffSIan Rogers        "EventCode": "0x0E",
102109625cffSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
1022cdb29a8fSJin Yao        "Invert": "1",
1023cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
102409625cffSIan 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.",
1025cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
102609625cffSIan Rogers        "Speculative": "1",
102709625cffSIan Rogers        "UMask": "0x1"
102809625cffSIan Rogers    },
102909625cffSIan Rogers    {
103009625cffSIan Rogers        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
103109625cffSIan Rogers        "CollectPEBSRecord": "2",
103209625cffSIan Rogers        "Counter": "0,1,2,3,4,5,6,7",
103309625cffSIan Rogers        "EventCode": "0x0e",
103409625cffSIan Rogers        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
103509625cffSIan Rogers        "PEBScounters": "0,1,2,3,4,5,6,7",
103609625cffSIan 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.",
103709625cffSIan Rogers        "SampleAfterValue": "100003",
103809625cffSIan Rogers        "Speculative": "1",
1039cdb29a8fSJin Yao        "UMask": "0x2"
1040cdb29a8fSJin Yao    },
1041cdb29a8fSJin Yao    {
1042cdb29a8fSJin Yao        "BriefDescription": "Retirement slots used.",
1043cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1044cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1045cdb29a8fSJin Yao        "EventCode": "0xc2",
1046cdb29a8fSJin Yao        "EventName": "UOPS_RETIRED.SLOTS",
1047cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
1048cdb29a8fSJin Yao        "PublicDescription": "Counts the retirement slots used each cycle.",
1049cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
1050cdb29a8fSJin Yao        "UMask": "0x2"
1051cdb29a8fSJin Yao    },
1052cdb29a8fSJin Yao    {
105309625cffSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
1054cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1055cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
1056cdb29a8fSJin Yao        "CounterMask": "1",
105709625cffSIan Rogers        "EventCode": "0xc2",
105809625cffSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
105909625cffSIan Rogers        "Invert": "1",
1060cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
106109625cffSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
106209625cffSIan Rogers        "SampleAfterValue": "1000003",
1063cdb29a8fSJin Yao        "Speculative": "1",
1064cdb29a8fSJin Yao        "UMask": "0x2"
1065cdb29a8fSJin Yao    },
1066cdb29a8fSJin Yao    {
106709625cffSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1068cdb29a8fSJin Yao        "CollectPEBSRecord": "2",
1069cdb29a8fSJin Yao        "Counter": "0,1,2,3,4,5,6,7",
107009625cffSIan Rogers        "CounterMask": "10",
107109625cffSIan Rogers        "EventCode": "0xc2",
107209625cffSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
107309625cffSIan Rogers        "Invert": "1",
1074cdb29a8fSJin Yao        "PEBScounters": "0,1,2,3,4,5,6,7",
107509625cffSIan Rogers        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
107609625cffSIan Rogers        "SampleAfterValue": "1000003",
1077cdb29a8fSJin Yao        "UMask": "0x2"
1078cdb29a8fSJin Yao    }
1079cdb29a8fSJin Yao]