1cdb29a8fSJin Yao[
2cdb29a8fSJin Yao    {
3cdb29a8fSJin Yao        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations.",
4cdb29a8fSJin Yao        "CounterMask": "1",
5cdb29a8fSJin Yao        "EventCode": "0x14",
6cdb29a8fSJin Yao        "EventName": "ARITH.DIVIDER_ACTIVE",
7cdb29a8fSJin Yao        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
8cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
9cdb29a8fSJin Yao        "UMask": "0x9"
10cdb29a8fSJin Yao    },
11cdb29a8fSJin Yao    {
12cbeee6caSIan Rogers        "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.",
13cbeee6caSIan Rogers        "EventCode": "0xc1",
14cbeee6caSIan Rogers        "EventName": "ASSISTS.ANY",
15cbeee6caSIan 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.",
16cbeee6caSIan Rogers        "SampleAfterValue": "100003",
17cbeee6caSIan Rogers        "UMask": "0x7"
18cbeee6caSIan Rogers    },
19cbeee6caSIan Rogers    {
2009625cffSIan Rogers        "BriefDescription": "All branch instructions retired.",
2109625cffSIan Rogers        "EventCode": "0xc4",
2209625cffSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
2309625cffSIan Rogers        "PEBS": "1",
2409625cffSIan Rogers        "PublicDescription": "Counts all branch instructions retired.",
2509625cffSIan Rogers        "SampleAfterValue": "400009"
26cdb29a8fSJin Yao    },
27cdb29a8fSJin Yao    {
2809625cffSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
2909625cffSIan Rogers        "EventCode": "0xc4",
3009625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND",
3109625cffSIan Rogers        "PEBS": "1",
3209625cffSIan Rogers        "PublicDescription": "Counts conditional branch instructions retired.",
3309625cffSIan Rogers        "SampleAfterValue": "400009",
3409625cffSIan Rogers        "UMask": "0x11"
3509625cffSIan Rogers    },
3609625cffSIan Rogers    {
3709625cffSIan Rogers        "BriefDescription": "Not taken branch instructions retired.",
3809625cffSIan Rogers        "EventCode": "0xc4",
3909625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
4009625cffSIan Rogers        "PEBS": "1",
4109625cffSIan Rogers        "PublicDescription": "Counts not taken branch instructions retired.",
4209625cffSIan Rogers        "SampleAfterValue": "400009",
4309625cffSIan Rogers        "UMask": "0x10"
4409625cffSIan Rogers    },
4509625cffSIan Rogers    {
4609625cffSIan Rogers        "BriefDescription": "Taken conditional branch instructions retired.",
4709625cffSIan Rogers        "EventCode": "0xc4",
4809625cffSIan Rogers        "EventName": "BR_INST_RETIRED.COND_TAKEN",
4909625cffSIan Rogers        "PEBS": "1",
5009625cffSIan Rogers        "PublicDescription": "Counts taken conditional branch instructions retired.",
5109625cffSIan Rogers        "SampleAfterValue": "400009",
52cdb29a8fSJin Yao        "UMask": "0x1"
53cdb29a8fSJin Yao    },
54cdb29a8fSJin Yao    {
5509625cffSIan Rogers        "BriefDescription": "Far branch instructions retired.",
5609625cffSIan Rogers        "EventCode": "0xc4",
5709625cffSIan Rogers        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
5809625cffSIan Rogers        "PEBS": "1",
5909625cffSIan Rogers        "PublicDescription": "Counts far branch instructions retired.",
6009625cffSIan Rogers        "SampleAfterValue": "100007",
6109625cffSIan Rogers        "UMask": "0x40"
6209625cffSIan Rogers    },
6309625cffSIan Rogers    {
6409625cffSIan Rogers        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
6509625cffSIan Rogers        "EventCode": "0xc4",
6609625cffSIan Rogers        "EventName": "BR_INST_RETIRED.INDIRECT",
6709625cffSIan Rogers        "PEBS": "1",
6809625cffSIan Rogers        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
6909625cffSIan Rogers        "SampleAfterValue": "100003",
7009625cffSIan Rogers        "UMask": "0x80"
7109625cffSIan Rogers    },
7209625cffSIan Rogers    {
7309625cffSIan Rogers        "BriefDescription": "Direct and indirect near call instructions retired.",
7409625cffSIan Rogers        "EventCode": "0xc4",
7509625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL",
7609625cffSIan Rogers        "PEBS": "1",
7709625cffSIan Rogers        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
7809625cffSIan Rogers        "SampleAfterValue": "100007",
7909625cffSIan Rogers        "UMask": "0x2"
8009625cffSIan Rogers    },
8109625cffSIan Rogers    {
8209625cffSIan Rogers        "BriefDescription": "Return instructions retired.",
8309625cffSIan Rogers        "EventCode": "0xc4",
8409625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
8509625cffSIan Rogers        "PEBS": "1",
8609625cffSIan Rogers        "PublicDescription": "Counts return instructions retired.",
8709625cffSIan Rogers        "SampleAfterValue": "100007",
8809625cffSIan Rogers        "UMask": "0x8"
8909625cffSIan Rogers    },
9009625cffSIan Rogers    {
9109625cffSIan Rogers        "BriefDescription": "Taken branch instructions retired.",
9209625cffSIan Rogers        "EventCode": "0xc4",
9309625cffSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
9409625cffSIan Rogers        "PEBS": "1",
9509625cffSIan Rogers        "PublicDescription": "Counts taken branch instructions retired.",
9609625cffSIan Rogers        "SampleAfterValue": "400009",
9709625cffSIan Rogers        "UMask": "0x20"
9809625cffSIan Rogers    },
9909625cffSIan Rogers    {
10009625cffSIan Rogers        "BriefDescription": "All mispredicted branch instructions retired.",
10109625cffSIan Rogers        "EventCode": "0xc5",
10209625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
10309625cffSIan Rogers        "PEBS": "1",
10409625cffSIan 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.",
10509625cffSIan Rogers        "SampleAfterValue": "50021"
10609625cffSIan Rogers    },
10709625cffSIan Rogers    {
10809625cffSIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
10909625cffSIan Rogers        "EventCode": "0xc5",
11009625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND",
11109625cffSIan Rogers        "PEBS": "1",
11209625cffSIan Rogers        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
11309625cffSIan Rogers        "SampleAfterValue": "50021",
11409625cffSIan Rogers        "UMask": "0x11"
11509625cffSIan Rogers    },
11609625cffSIan Rogers    {
11709625cffSIan Rogers        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
11809625cffSIan Rogers        "EventCode": "0xc5",
11909625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_NTAKEN",
12009625cffSIan Rogers        "PEBS": "1",
12109625cffSIan Rogers        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
12209625cffSIan Rogers        "SampleAfterValue": "50021",
12309625cffSIan Rogers        "UMask": "0x10"
12409625cffSIan Rogers    },
12509625cffSIan Rogers    {
126bd035250SIan Rogers        "BriefDescription": "number of branch instructions retired that were mispredicted and taken.",
12709625cffSIan Rogers        "EventCode": "0xc5",
12809625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
12909625cffSIan Rogers        "PEBS": "1",
13009625cffSIan Rogers        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
13109625cffSIan Rogers        "SampleAfterValue": "50021",
13209625cffSIan Rogers        "UMask": "0x1"
13309625cffSIan Rogers    },
13409625cffSIan Rogers    {
13509625cffSIan Rogers        "BriefDescription": "All miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
13609625cffSIan Rogers        "EventCode": "0xc5",
13709625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT",
13809625cffSIan Rogers        "PEBS": "1",
13909625cffSIan Rogers        "PublicDescription": "Counts all miss-predicted indirect branch instructions retired (excluding RETs. TSX aborts is considered indirect branch).",
14009625cffSIan Rogers        "SampleAfterValue": "50021",
14109625cffSIan Rogers        "UMask": "0x80"
14209625cffSIan Rogers    },
14309625cffSIan Rogers    {
14409625cffSIan Rogers        "BriefDescription": "Mispredicted indirect CALL instructions retired.",
14509625cffSIan Rogers        "EventCode": "0xc5",
14609625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
14709625cffSIan Rogers        "PEBS": "1",
14809625cffSIan Rogers        "PublicDescription": "Counts retired mispredicted indirect (near taken) calls, including both register and memory indirect.",
14909625cffSIan Rogers        "SampleAfterValue": "50021",
15009625cffSIan Rogers        "UMask": "0x2"
15109625cffSIan Rogers    },
15209625cffSIan Rogers    {
15309625cffSIan Rogers        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
15409625cffSIan Rogers        "EventCode": "0xc5",
15509625cffSIan Rogers        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
15609625cffSIan Rogers        "PEBS": "1",
15709625cffSIan Rogers        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
15809625cffSIan Rogers        "SampleAfterValue": "50021",
15909625cffSIan Rogers        "UMask": "0x20"
16009625cffSIan Rogers    },
16109625cffSIan Rogers    {
162d214d0c2SIan Rogers        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
163d214d0c2SIan Rogers        "EventCode": "0xc5",
164d214d0c2SIan Rogers        "EventName": "BR_MISP_RETIRED.RET",
165d214d0c2SIan Rogers        "PEBS": "1",
166d214d0c2SIan Rogers        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
167d214d0c2SIan Rogers        "SampleAfterValue": "50021",
168d214d0c2SIan Rogers        "UMask": "0x8"
169d214d0c2SIan Rogers    },
170d214d0c2SIan Rogers    {
17109625cffSIan Rogers        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
17209625cffSIan Rogers        "EventCode": "0xec",
17309625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
17409625cffSIan 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.",
17509625cffSIan Rogers        "SampleAfterValue": "2000003",
17609625cffSIan Rogers        "UMask": "0x2"
17709625cffSIan Rogers    },
17809625cffSIan Rogers    {
179cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
180cdb29a8fSJin Yao        "EventCode": "0x3C",
181cdb29a8fSJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
182cdb29a8fSJin Yao        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
183cdb29a8fSJin Yao        "SampleAfterValue": "25003",
184cdb29a8fSJin Yao        "UMask": "0x2"
185cdb29a8fSJin Yao    },
186cdb29a8fSJin Yao    {
187cdb29a8fSJin Yao        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
188cdb29a8fSJin Yao        "EventCode": "0x3c",
189cdb29a8fSJin Yao        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
190cdb29a8fSJin 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.",
191cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
192cdb29a8fSJin Yao        "UMask": "0x8"
193cdb29a8fSJin Yao    },
194cdb29a8fSJin Yao    {
19509625cffSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
19609625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
19709625cffSIan 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.",
19809625cffSIan Rogers        "SampleAfterValue": "2000003",
19909625cffSIan Rogers        "UMask": "0x3"
20009625cffSIan Rogers    },
20109625cffSIan Rogers    {
20209625cffSIan Rogers        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
20309625cffSIan Rogers        "EventCode": "0x3C",
20409625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
20509625cffSIan Rogers        "PublicDescription": "Counts core crystal clock cycles when the thread is unhalted.",
20609625cffSIan Rogers        "SampleAfterValue": "25003",
20709625cffSIan Rogers        "UMask": "0x1"
20809625cffSIan Rogers    },
20909625cffSIan Rogers    {
21009625cffSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
21109625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
21209625cffSIan 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.",
21309625cffSIan Rogers        "SampleAfterValue": "2000003",
21409625cffSIan Rogers        "UMask": "0x2"
21509625cffSIan Rogers    },
21609625cffSIan Rogers    {
21709625cffSIan Rogers        "BriefDescription": "Thread cycles when thread is not in halt state",
21809625cffSIan Rogers        "EventCode": "0x3C",
21909625cffSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
22009625cffSIan 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.",
221f8e23ad1SIan Rogers        "SampleAfterValue": "2000003"
22209625cffSIan Rogers    },
22309625cffSIan Rogers    {
22409625cffSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
22509625cffSIan Rogers        "CounterMask": "8",
22609625cffSIan Rogers        "EventCode": "0xA3",
22709625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
22809625cffSIan Rogers        "SampleAfterValue": "1000003",
22909625cffSIan Rogers        "UMask": "0x8"
23009625cffSIan Rogers    },
23109625cffSIan Rogers    {
23209625cffSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
23309625cffSIan Rogers        "CounterMask": "1",
23409625cffSIan Rogers        "EventCode": "0xA3",
23509625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
23609625cffSIan Rogers        "SampleAfterValue": "1000003",
23709625cffSIan Rogers        "UMask": "0x1"
23809625cffSIan Rogers    },
23909625cffSIan Rogers    {
24009625cffSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
24109625cffSIan Rogers        "CounterMask": "16",
24209625cffSIan Rogers        "EventCode": "0xA3",
24309625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
24409625cffSIan Rogers        "SampleAfterValue": "1000003",
24509625cffSIan Rogers        "UMask": "0x10"
24609625cffSIan Rogers    },
24709625cffSIan Rogers    {
24809625cffSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
24909625cffSIan Rogers        "CounterMask": "12",
25009625cffSIan Rogers        "EventCode": "0xA3",
25109625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
25209625cffSIan Rogers        "SampleAfterValue": "1000003",
25309625cffSIan Rogers        "UMask": "0xc"
25409625cffSIan Rogers    },
25509625cffSIan Rogers    {
25609625cffSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
25709625cffSIan Rogers        "CounterMask": "5",
25809625cffSIan Rogers        "EventCode": "0xa3",
25909625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
26009625cffSIan Rogers        "SampleAfterValue": "1000003",
26109625cffSIan Rogers        "UMask": "0x5"
26209625cffSIan Rogers    },
26309625cffSIan Rogers    {
26409625cffSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
26509625cffSIan Rogers        "CounterMask": "20",
26609625cffSIan Rogers        "EventCode": "0xa3",
26709625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
26809625cffSIan Rogers        "SampleAfterValue": "1000003",
26909625cffSIan Rogers        "UMask": "0x14"
27009625cffSIan Rogers    },
27109625cffSIan Rogers    {
27209625cffSIan Rogers        "BriefDescription": "Total execution stalls.",
27309625cffSIan Rogers        "CounterMask": "4",
27409625cffSIan Rogers        "EventCode": "0xa3",
27509625cffSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
27609625cffSIan Rogers        "SampleAfterValue": "1000003",
27709625cffSIan Rogers        "UMask": "0x4"
27809625cffSIan Rogers    },
27909625cffSIan Rogers    {
28009625cffSIan Rogers        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
28109625cffSIan Rogers        "EventCode": "0xa6",
28209625cffSIan Rogers        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
28309625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
28409625cffSIan Rogers        "SampleAfterValue": "2000003",
28509625cffSIan Rogers        "UMask": "0x2"
28609625cffSIan Rogers    },
28709625cffSIan Rogers    {
28809625cffSIan Rogers        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
28909625cffSIan Rogers        "EventCode": "0xa6",
29009625cffSIan Rogers        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
29109625cffSIan Rogers        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
29209625cffSIan Rogers        "SampleAfterValue": "2000003",
29309625cffSIan Rogers        "UMask": "0x4"
29409625cffSIan Rogers    },
29509625cffSIan Rogers    {
29609625cffSIan Rogers        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
29709625cffSIan Rogers        "EventCode": "0xa6",
29809625cffSIan Rogers        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
29909625cffSIan Rogers        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
30009625cffSIan Rogers        "SampleAfterValue": "2000003",
30109625cffSIan Rogers        "UMask": "0x8"
30209625cffSIan Rogers    },
30309625cffSIan Rogers    {
30409625cffSIan Rogers        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
30509625cffSIan Rogers        "EventCode": "0xa6",
30609625cffSIan Rogers        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
30709625cffSIan Rogers        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
30809625cffSIan Rogers        "SampleAfterValue": "2000003",
30909625cffSIan Rogers        "UMask": "0x10"
31009625cffSIan Rogers    },
31109625cffSIan Rogers    {
31209625cffSIan Rogers        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
31309625cffSIan Rogers        "CounterMask": "2",
31409625cffSIan Rogers        "EventCode": "0xA6",
31509625cffSIan Rogers        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
31609625cffSIan Rogers        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
31709625cffSIan Rogers        "SampleAfterValue": "1000003",
31809625cffSIan Rogers        "UMask": "0x40"
31909625cffSIan Rogers    },
32009625cffSIan Rogers    {
321*663655c9SIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction. [This event is alias to DECODE.LCP]",
32209625cffSIan Rogers        "EventCode": "0x87",
32309625cffSIan Rogers        "EventName": "ILD_STALL.LCP",
324*663655c9SIan 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. [This event is alias to DECODE.LCP]",
32509625cffSIan Rogers        "SampleAfterValue": "500009",
32609625cffSIan Rogers        "UMask": "0x1"
32709625cffSIan Rogers    },
32809625cffSIan Rogers    {
32909625cffSIan Rogers        "BriefDescription": "Instruction decoders utilized in a cycle",
33009625cffSIan Rogers        "EventCode": "0x55",
33109625cffSIan Rogers        "EventName": "INST_DECODED.DECODERS",
33209625cffSIan Rogers        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
33309625cffSIan Rogers        "SampleAfterValue": "2000003",
33409625cffSIan Rogers        "UMask": "0x1"
33509625cffSIan Rogers    },
33609625cffSIan Rogers    {
33709625cffSIan Rogers        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
33809625cffSIan Rogers        "EventName": "INST_RETIRED.ANY",
33909625cffSIan Rogers        "PEBS": "1",
34009625cffSIan 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.",
34109625cffSIan Rogers        "SampleAfterValue": "2000003",
34209625cffSIan Rogers        "UMask": "0x1"
34309625cffSIan Rogers    },
34409625cffSIan Rogers    {
34509625cffSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
34609625cffSIan Rogers        "EventCode": "0xc0",
34709625cffSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
34809625cffSIan Rogers        "PEBS": "1",
34909625cffSIan 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.",
35009625cffSIan Rogers        "SampleAfterValue": "2000003"
35109625cffSIan Rogers    },
35209625cffSIan Rogers    {
35309625cffSIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
35409625cffSIan Rogers        "EventCode": "0xc0",
35509625cffSIan Rogers        "EventName": "INST_RETIRED.NOP",
35609625cffSIan Rogers        "PEBS": "1",
35709625cffSIan Rogers        "SampleAfterValue": "2000003",
35809625cffSIan Rogers        "UMask": "0x2"
35909625cffSIan Rogers    },
36009625cffSIan Rogers    {
36109625cffSIan Rogers        "BriefDescription": "Precise instruction retired event with a reduced effect of PEBS shadow in IP distribution",
36209625cffSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
36309625cffSIan Rogers        "PEBS": "1",
36409625cffSIan 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.",
36509625cffSIan Rogers        "SampleAfterValue": "2000003",
36609625cffSIan Rogers        "UMask": "0x1"
36709625cffSIan Rogers    },
36809625cffSIan Rogers    {
36909625cffSIan Rogers        "BriefDescription": "Cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
37009625cffSIan Rogers        "CounterMask": "1",
37109625cffSIan Rogers        "EventCode": "0x0D",
37209625cffSIan Rogers        "EventName": "INT_MISC.ALL_RECOVERY_CYCLES",
37309625cffSIan Rogers        "PublicDescription": "Counts cycles the Backend cluster is recovering after a miss-speculation or a Store Buffer or Load Buffer drain stall.",
37409625cffSIan Rogers        "SampleAfterValue": "2000003",
37509625cffSIan Rogers        "UMask": "0x3"
37609625cffSIan Rogers    },
37709625cffSIan Rogers    {
3780ec73817SIan Rogers        "BriefDescription": "Clears speculative count",
3790ec73817SIan Rogers        "CounterMask": "1",
3800ec73817SIan Rogers        "EdgeDetect": "1",
3810ec73817SIan Rogers        "EventCode": "0x0D",
3820ec73817SIan Rogers        "EventName": "INT_MISC.CLEARS_COUNT",
3830ec73817SIan Rogers        "PublicDescription": "Counts the number of speculative clears due to any type of branch misprediction or machine clears",
3840ec73817SIan Rogers        "SampleAfterValue": "500009",
3850ec73817SIan Rogers        "UMask": "0x1"
3860ec73817SIan Rogers    },
3870ec73817SIan Rogers    {
38809625cffSIan Rogers        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
38909625cffSIan Rogers        "EventCode": "0x0d",
39009625cffSIan Rogers        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
39109625cffSIan Rogers        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
39209625cffSIan Rogers        "SampleAfterValue": "500009",
39309625cffSIan Rogers        "UMask": "0x80"
39409625cffSIan Rogers    },
39509625cffSIan Rogers    {
39609625cffSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
39709625cffSIan Rogers        "EventCode": "0x0D",
39809625cffSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
39909625cffSIan Rogers        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
40009625cffSIan Rogers        "SampleAfterValue": "500009",
40109625cffSIan Rogers        "UMask": "0x1"
40209625cffSIan Rogers    },
40309625cffSIan Rogers    {
40409625cffSIan Rogers        "BriefDescription": "TMA slots where uops got dropped",
40509625cffSIan Rogers        "EventCode": "0x0d",
40609625cffSIan Rogers        "EventName": "INT_MISC.UOP_DROPPING",
40709625cffSIan Rogers        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
40809625cffSIan Rogers        "SampleAfterValue": "1000003",
40909625cffSIan Rogers        "UMask": "0x10"
41009625cffSIan Rogers    },
41109625cffSIan Rogers    {
41209625cffSIan Rogers        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
41309625cffSIan Rogers        "EventCode": "0x03",
41409625cffSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
41509625cffSIan 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.",
41609625cffSIan Rogers        "SampleAfterValue": "100003",
41709625cffSIan Rogers        "UMask": "0x8"
41809625cffSIan Rogers    },
41909625cffSIan Rogers    {
42009625cffSIan Rogers        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
42109625cffSIan Rogers        "EventCode": "0x03",
42209625cffSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
42309625cffSIan 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.",
42409625cffSIan Rogers        "SampleAfterValue": "100003",
42509625cffSIan Rogers        "UMask": "0x2"
42609625cffSIan Rogers    },
42709625cffSIan Rogers    {
42809625cffSIan Rogers        "BriefDescription": "False dependencies due to partial compare on address.",
42909625cffSIan Rogers        "EventCode": "0x07",
43009625cffSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
43109625cffSIan Rogers        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies due to partial compare on address.",
43209625cffSIan Rogers        "SampleAfterValue": "100003",
43309625cffSIan Rogers        "UMask": "0x1"
43409625cffSIan Rogers    },
43509625cffSIan Rogers    {
436cdb29a8fSJin Yao        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
437cdb29a8fSJin Yao        "EventCode": "0x4c",
438cdb29a8fSJin Yao        "EventName": "LOAD_HIT_PREFETCH.SWPF",
439cdb29a8fSJin 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.",
440cdb29a8fSJin Yao        "SampleAfterValue": "100003",
441cdb29a8fSJin Yao        "UMask": "0x1"
442cdb29a8fSJin Yao    },
443cdb29a8fSJin Yao    {
44409625cffSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
44509625cffSIan Rogers        "CounterMask": "1",
44609625cffSIan Rogers        "EventCode": "0xA8",
44709625cffSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
44809625cffSIan Rogers        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
44909625cffSIan Rogers        "SampleAfterValue": "2000003",
45009625cffSIan Rogers        "UMask": "0x1"
45109625cffSIan Rogers    },
45209625cffSIan Rogers    {
45309625cffSIan Rogers        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
45409625cffSIan Rogers        "CounterMask": "5",
45509625cffSIan Rogers        "EventCode": "0xa8",
45609625cffSIan Rogers        "EventName": "LSD.CYCLES_OK",
45709625cffSIan Rogers        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
45809625cffSIan Rogers        "SampleAfterValue": "2000003",
45909625cffSIan Rogers        "UMask": "0x1"
46009625cffSIan Rogers    },
46109625cffSIan Rogers    {
46209625cffSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
46309625cffSIan Rogers        "EventCode": "0xa8",
46409625cffSIan Rogers        "EventName": "LSD.UOPS",
46509625cffSIan Rogers        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
46609625cffSIan Rogers        "SampleAfterValue": "2000003",
46709625cffSIan Rogers        "UMask": "0x1"
46809625cffSIan Rogers    },
46909625cffSIan Rogers    {
47009625cffSIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
47109625cffSIan Rogers        "CounterMask": "1",
47209625cffSIan Rogers        "EdgeDetect": "1",
47309625cffSIan Rogers        "EventCode": "0xc3",
47409625cffSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
47509625cffSIan Rogers        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
47609625cffSIan Rogers        "SampleAfterValue": "100003",
47709625cffSIan Rogers        "UMask": "0x1"
47809625cffSIan Rogers    },
47909625cffSIan Rogers    {
48009625cffSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
48109625cffSIan Rogers        "EventCode": "0xc3",
48209625cffSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
48309625cffSIan Rogers        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
48409625cffSIan Rogers        "SampleAfterValue": "100003",
48509625cffSIan Rogers        "UMask": "0x4"
48609625cffSIan Rogers    },
48709625cffSIan Rogers    {
48809625cffSIan Rogers        "BriefDescription": "Increments whenever there is an update to the LBR array.",
48909625cffSIan Rogers        "EventCode": "0xcc",
49009625cffSIan Rogers        "EventName": "MISC_RETIRED.LBR_INSERTS",
49109625cffSIan 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.",
49209625cffSIan Rogers        "SampleAfterValue": "100003",
49309625cffSIan Rogers        "UMask": "0x20"
49409625cffSIan Rogers    },
49509625cffSIan Rogers    {
49609625cffSIan Rogers        "BriefDescription": "Number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
49709625cffSIan Rogers        "EventCode": "0xcc",
49809625cffSIan Rogers        "EventName": "MISC_RETIRED.PAUSE_INST",
49909625cffSIan Rogers        "PublicDescription": "Counts number of retired PAUSE instructions. This event is not supported on first SKL and KBL products.",
50009625cffSIan Rogers        "SampleAfterValue": "100003",
50109625cffSIan Rogers        "UMask": "0x40"
50209625cffSIan Rogers    },
50309625cffSIan Rogers    {
50409625cffSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
50509625cffSIan Rogers        "EventCode": "0xa2",
50609625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
50709625cffSIan 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.",
50809625cffSIan Rogers        "SampleAfterValue": "100003",
50909625cffSIan Rogers        "UMask": "0x8"
51009625cffSIan Rogers    },
51109625cffSIan Rogers    {
51209625cffSIan Rogers        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
51309625cffSIan Rogers        "EventCode": "0xa2",
51409625cffSIan Rogers        "EventName": "RESOURCE_STALLS.SCOREBOARD",
51509625cffSIan Rogers        "SampleAfterValue": "100003",
51609625cffSIan Rogers        "UMask": "0x2"
51709625cffSIan Rogers    },
51809625cffSIan Rogers    {
519cdb29a8fSJin Yao        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
520cdb29a8fSJin Yao        "EventCode": "0x5e",
521cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_CYCLES",
522cdb29a8fSJin 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)",
523cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
524cdb29a8fSJin Yao        "UMask": "0x1"
525cdb29a8fSJin Yao    },
526cdb29a8fSJin Yao    {
527cdb29a8fSJin Yao        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty.",
528cdb29a8fSJin Yao        "CounterMask": "1",
529cdb29a8fSJin Yao        "EdgeDetect": "1",
530cdb29a8fSJin Yao        "EventCode": "0x5E",
531cdb29a8fSJin Yao        "EventName": "RS_EVENTS.EMPTY_END",
532cdb29a8fSJin Yao        "Invert": "1",
533cdb29a8fSJin 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)",
534cdb29a8fSJin Yao        "SampleAfterValue": "100003",
535cdb29a8fSJin Yao        "UMask": "0x1"
536cdb29a8fSJin Yao    },
537cdb29a8fSJin Yao    {
538f25db21bSIan Rogers        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
539f25db21bSIan Rogers        "EventCode": "0xa4",
540f25db21bSIan Rogers        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
541f25db21bSIan 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.",
542f25db21bSIan Rogers        "SampleAfterValue": "10000003",
543f25db21bSIan Rogers        "UMask": "0x2"
544f25db21bSIan Rogers    },
545f25db21bSIan Rogers    {
546f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
547f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS",
548f25db21bSIan 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).",
549f25db21bSIan Rogers        "SampleAfterValue": "10000003",
550f25db21bSIan Rogers        "UMask": "0x4"
551f25db21bSIan Rogers    },
552f25db21bSIan Rogers    {
553f25db21bSIan Rogers        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
554f25db21bSIan Rogers        "EventCode": "0xa4",
555f25db21bSIan Rogers        "EventName": "TOPDOWN.SLOTS_P",
556f25db21bSIan 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.",
557f25db21bSIan Rogers        "SampleAfterValue": "10000003",
558f25db21bSIan Rogers        "UMask": "0x1"
559f25db21bSIan Rogers    },
560f25db21bSIan Rogers    {
56109625cffSIan Rogers        "BriefDescription": "Number of uops decoded out of instructions exclusively fetched by decoder 0",
56209625cffSIan Rogers        "EventCode": "0x56",
56309625cffSIan Rogers        "EventName": "UOPS_DECODED.DEC0",
56409625cffSIan Rogers        "PublicDescription": "Uops exclusively fetched by decoder 0",
56509625cffSIan Rogers        "SampleAfterValue": "1000003",
566cdb29a8fSJin Yao        "UMask": "0x1"
567cdb29a8fSJin Yao    },
568cdb29a8fSJin Yao    {
569cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 0",
570cdb29a8fSJin Yao        "EventCode": "0xa1",
571cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_0",
572cdb29a8fSJin 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.",
573cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
574cdb29a8fSJin Yao        "UMask": "0x1"
575cdb29a8fSJin Yao    },
576cdb29a8fSJin Yao    {
577cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 1",
578cdb29a8fSJin Yao        "EventCode": "0xa1",
579cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_1",
580cdb29a8fSJin 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.",
581cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
582cdb29a8fSJin Yao        "UMask": "0x2"
583cdb29a8fSJin Yao    },
584cdb29a8fSJin Yao    {
585cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 2 and 3",
586cdb29a8fSJin Yao        "EventCode": "0xa1",
587cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_2_3",
588cdb29a8fSJin 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.",
589cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
590cdb29a8fSJin Yao        "UMask": "0x4"
591cdb29a8fSJin Yao    },
592cdb29a8fSJin Yao    {
593cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 4 and 9",
594cdb29a8fSJin Yao        "EventCode": "0xa1",
595cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_4_9",
596cdb29a8fSJin 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.",
597cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
598cdb29a8fSJin Yao        "UMask": "0x10"
599cdb29a8fSJin Yao    },
600cdb29a8fSJin Yao    {
601cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 5",
602cdb29a8fSJin Yao        "EventCode": "0xa1",
603cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_5",
604cdb29a8fSJin 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.",
605cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
606cdb29a8fSJin Yao        "UMask": "0x20"
607cdb29a8fSJin Yao    },
608cdb29a8fSJin Yao    {
609cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 6",
610cdb29a8fSJin Yao        "EventCode": "0xa1",
611cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_6",
612cdb29a8fSJin 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.",
613cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
614cdb29a8fSJin Yao        "UMask": "0x40"
615cdb29a8fSJin Yao    },
616cdb29a8fSJin Yao    {
617cdb29a8fSJin Yao        "BriefDescription": "Number of uops executed on port 7 and 8",
618cdb29a8fSJin Yao        "EventCode": "0xa1",
619cdb29a8fSJin Yao        "EventName": "UOPS_DISPATCHED.PORT_7_8",
620cdb29a8fSJin 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.",
621cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
622cdb29a8fSJin Yao        "UMask": "0x80"
623cdb29a8fSJin Yao    },
624cdb29a8fSJin Yao    {
62509625cffSIan Rogers        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
626cdb29a8fSJin Yao        "CounterMask": "1",
627cdb29a8fSJin Yao        "EventCode": "0xB1",
62809625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
62909625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
630cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
63109625cffSIan Rogers        "UMask": "0x2"
63209625cffSIan Rogers    },
63309625cffSIan Rogers    {
63409625cffSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
63509625cffSIan Rogers        "CounterMask": "2",
63609625cffSIan Rogers        "EventCode": "0xB1",
63709625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
63809625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
63909625cffSIan Rogers        "SampleAfterValue": "2000003",
64009625cffSIan Rogers        "UMask": "0x2"
64109625cffSIan Rogers    },
64209625cffSIan Rogers    {
64309625cffSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
64409625cffSIan Rogers        "CounterMask": "3",
64509625cffSIan Rogers        "EventCode": "0xB1",
64609625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
64709625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
64809625cffSIan Rogers        "SampleAfterValue": "2000003",
64909625cffSIan Rogers        "UMask": "0x2"
65009625cffSIan Rogers    },
65109625cffSIan Rogers    {
65209625cffSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
65309625cffSIan Rogers        "CounterMask": "4",
65409625cffSIan Rogers        "EventCode": "0xB1",
65509625cffSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
65609625cffSIan Rogers        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
65709625cffSIan Rogers        "SampleAfterValue": "2000003",
65809625cffSIan Rogers        "UMask": "0x2"
659cdb29a8fSJin Yao    },
660cdb29a8fSJin Yao    {
661cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
662cdb29a8fSJin Yao        "CounterMask": "1",
663cdb29a8fSJin Yao        "EventCode": "0xb1",
664cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
665cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
666cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
667cdb29a8fSJin Yao        "UMask": "0x1"
668cdb29a8fSJin Yao    },
669cdb29a8fSJin Yao    {
670cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
671cdb29a8fSJin Yao        "CounterMask": "2",
672cdb29a8fSJin Yao        "EventCode": "0xb1",
673cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
674cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
675cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
676cdb29a8fSJin Yao        "UMask": "0x1"
677cdb29a8fSJin Yao    },
678cdb29a8fSJin Yao    {
679cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
680cdb29a8fSJin Yao        "CounterMask": "3",
681cdb29a8fSJin Yao        "EventCode": "0xb1",
682cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
683cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
684cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
685cdb29a8fSJin Yao        "UMask": "0x1"
686cdb29a8fSJin Yao    },
687cdb29a8fSJin Yao    {
688cdb29a8fSJin Yao        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
689cdb29a8fSJin Yao        "CounterMask": "4",
690cdb29a8fSJin Yao        "EventCode": "0xb1",
691cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
692cdb29a8fSJin Yao        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
693cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
694cdb29a8fSJin Yao        "UMask": "0x1"
695cdb29a8fSJin Yao    },
696cdb29a8fSJin Yao    {
69709625cffSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
698cdb29a8fSJin Yao        "CounterMask": "1",
699cdb29a8fSJin Yao        "EventCode": "0xB1",
70009625cffSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
70109625cffSIan Rogers        "Invert": "1",
70209625cffSIan Rogers        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
703cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
70409625cffSIan Rogers        "UMask": "0x1"
705cdb29a8fSJin Yao    },
706cdb29a8fSJin Yao    {
70709625cffSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
70809625cffSIan Rogers        "EventCode": "0xb1",
70909625cffSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
710cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
71109625cffSIan Rogers        "UMask": "0x1"
712cdb29a8fSJin Yao    },
713cdb29a8fSJin Yao    {
714cdb29a8fSJin Yao        "BriefDescription": "Counts the number of x87 uops dispatched.",
715cdb29a8fSJin Yao        "EventCode": "0xB1",
716cdb29a8fSJin Yao        "EventName": "UOPS_EXECUTED.X87",
717cdb29a8fSJin Yao        "PublicDescription": "Counts the number of x87 uops executed.",
718cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
719cdb29a8fSJin Yao        "UMask": "0x10"
720cdb29a8fSJin Yao    },
721cdb29a8fSJin Yao    {
72209625cffSIan Rogers        "BriefDescription": "Uops that RAT issues to RS",
72309625cffSIan Rogers        "EventCode": "0x0e",
72409625cffSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
72509625cffSIan Rogers        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
72609625cffSIan Rogers        "SampleAfterValue": "2000003",
72709625cffSIan Rogers        "UMask": "0x1"
728cdb29a8fSJin Yao    },
729cdb29a8fSJin Yao    {
73009625cffSIan Rogers        "BriefDescription": "Cycles when RAT does not issue Uops to RS for the thread",
73109625cffSIan Rogers        "CounterMask": "1",
73209625cffSIan Rogers        "EventCode": "0x0E",
73309625cffSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
734cdb29a8fSJin Yao        "Invert": "1",
73509625cffSIan 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.",
736cdb29a8fSJin Yao        "SampleAfterValue": "1000003",
73709625cffSIan Rogers        "UMask": "0x1"
73809625cffSIan Rogers    },
73909625cffSIan Rogers    {
74009625cffSIan Rogers        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
74109625cffSIan Rogers        "EventCode": "0x0e",
74209625cffSIan Rogers        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
743f8e23ad1SIan 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.",
74409625cffSIan Rogers        "SampleAfterValue": "100003",
745cdb29a8fSJin Yao        "UMask": "0x2"
746cdb29a8fSJin Yao    },
747cdb29a8fSJin Yao    {
748cdb29a8fSJin Yao        "BriefDescription": "Retirement slots used.",
749cdb29a8fSJin Yao        "EventCode": "0xc2",
750cdb29a8fSJin Yao        "EventName": "UOPS_RETIRED.SLOTS",
751cdb29a8fSJin Yao        "PublicDescription": "Counts the retirement slots used each cycle.",
752cdb29a8fSJin Yao        "SampleAfterValue": "2000003",
753cdb29a8fSJin Yao        "UMask": "0x2"
754cdb29a8fSJin Yao    },
755cdb29a8fSJin Yao    {
75609625cffSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
757cdb29a8fSJin Yao        "CounterMask": "1",
75809625cffSIan Rogers        "EventCode": "0xc2",
75909625cffSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
76009625cffSIan Rogers        "Invert": "1",
76109625cffSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
76209625cffSIan Rogers        "SampleAfterValue": "1000003",
763cdb29a8fSJin Yao        "UMask": "0x2"
764cdb29a8fSJin Yao    },
765cdb29a8fSJin Yao    {
76609625cffSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
76709625cffSIan Rogers        "CounterMask": "10",
76809625cffSIan Rogers        "EventCode": "0xc2",
76909625cffSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
77009625cffSIan Rogers        "Invert": "1",
771f8e23ad1SIan Rogers        "PublicDescription": "Counts the number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
77209625cffSIan Rogers        "SampleAfterValue": "1000003",
773cdb29a8fSJin Yao        "UMask": "0x2"
774cdb29a8fSJin Yao    }
775cdb29a8fSJin Yao]
776