1630171d4SAndi Kleen[
2630171d4SAndi Kleen    {
3b5ff7f27SJin Yao        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
4630171d4SAndi Kleen        "Counter": "0,1,2,3",
5b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
619f2d40cSAndi Kleen        "CounterMask": "1",
7b5ff7f27SJin Yao        "EventCode": "0x14",
8b5ff7f27SJin Yao        "EventName": "ARITH.DIVIDER_ACTIVE",
919f2d40cSAndi Kleen        "SampleAfterValue": "2000003",
10b5ff7f27SJin Yao        "UMask": "0x1"
1119f2d40cSAndi Kleen    },
1219f2d40cSAndi Kleen    {
132c72404eSJin Yao        "BriefDescription": "All (macro) branch instructions retired.",
14630171d4SAndi Kleen        "Counter": "0,1,2,3",
15b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
162c72404eSJin Yao        "Errata": "SKL091",
172c72404eSJin Yao        "EventCode": "0xC4",
182c72404eSJin Yao        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
192c72404eSJin Yao        "PublicDescription": "Counts all (macro) branch instructions retired.",
202c72404eSJin Yao        "SampleAfterValue": "400009"
212c72404eSJin Yao    },
222c72404eSJin Yao    {
232c72404eSJin Yao        "BriefDescription": "All (macro) branch instructions retired.",
242c72404eSJin Yao        "Counter": "0,1,2,3",
252c72404eSJin Yao        "CounterHTOff": "0,1,2,3",
262c72404eSJin Yao        "Errata": "SKL091",
272c72404eSJin Yao        "EventCode": "0xC4",
282c72404eSJin Yao        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
292c72404eSJin Yao        "PEBS": "2",
302c72404eSJin Yao        "PublicDescription": "This is a precise version of BR_INST_RETIRED.ALL_BRANCHES that counts all (macro) branch instructions retired.",
312c72404eSJin Yao        "SampleAfterValue": "400009",
322c72404eSJin Yao        "UMask": "0x4"
332c72404eSJin Yao    },
342c72404eSJin Yao    {
352c72404eSJin Yao        "BriefDescription": "Conditional branch instructions retired.",
362c72404eSJin Yao        "Counter": "0,1,2,3",
372c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
382c72404eSJin Yao        "Errata": "SKL091",
392c72404eSJin Yao        "EventCode": "0xC4",
402c72404eSJin Yao        "EventName": "BR_INST_RETIRED.CONDITIONAL",
412c72404eSJin Yao        "PEBS": "1",
422c72404eSJin Yao        "PublicDescription": "This event counts conditional branch instructions retired.",
432c72404eSJin Yao        "SampleAfterValue": "400009",
44b5ff7f27SJin Yao        "UMask": "0x1"
4519f2d40cSAndi Kleen    },
4619f2d40cSAndi Kleen    {
472c72404eSJin Yao        "BriefDescription": "Not taken branch instructions retired.",
482c72404eSJin Yao        "Counter": "0,1,2,3",
492c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
502c72404eSJin Yao        "Errata": "SKL091",
512c72404eSJin Yao        "EventCode": "0xc4",
522c72404eSJin Yao        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
532c72404eSJin Yao        "PublicDescription": "This event counts not taken branch instructions retired.",
542c72404eSJin Yao        "SampleAfterValue": "400009",
552c72404eSJin Yao        "UMask": "0x10"
562c72404eSJin Yao    },
572c72404eSJin Yao    {
58b5ff7f27SJin Yao        "BriefDescription": "Far branch instructions retired.",
5919f2d40cSAndi Kleen        "Counter": "0,1,2,3",
60b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
61b5ff7f27SJin Yao        "Errata": "SKL091",
62b5ff7f27SJin Yao        "EventCode": "0xC4",
63b5ff7f27SJin Yao        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
64b5ff7f27SJin Yao        "PEBS": "1",
65b5ff7f27SJin Yao        "PublicDescription": "This event counts far branch instructions retired.",
66b5ff7f27SJin Yao        "SampleAfterValue": "100007",
67b5ff7f27SJin Yao        "UMask": "0x40"
6819f2d40cSAndi Kleen    },
6919f2d40cSAndi Kleen    {
702c72404eSJin Yao        "BriefDescription": "Direct and indirect near call instructions retired.",
71630171d4SAndi Kleen        "Counter": "0,1,2,3",
72b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
732c72404eSJin Yao        "Errata": "SKL091",
742c72404eSJin Yao        "EventCode": "0xC4",
752c72404eSJin Yao        "EventName": "BR_INST_RETIRED.NEAR_CALL",
762c72404eSJin Yao        "PEBS": "1",
772c72404eSJin Yao        "PublicDescription": "This event counts both direct and indirect near call instructions retired.",
782c72404eSJin Yao        "SampleAfterValue": "100007",
792c72404eSJin Yao        "UMask": "0x2"
802c72404eSJin Yao    },
812c72404eSJin Yao    {
822c72404eSJin Yao        "BriefDescription": "Return instructions retired.",
832c72404eSJin Yao        "Counter": "0,1,2,3",
842c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
852c72404eSJin Yao        "Errata": "SKL091",
862c72404eSJin Yao        "EventCode": "0xC4",
872c72404eSJin Yao        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
882c72404eSJin Yao        "PEBS": "1",
892c72404eSJin Yao        "PublicDescription": "This event counts return instructions retired.",
902c72404eSJin Yao        "SampleAfterValue": "100007",
912c72404eSJin Yao        "UMask": "0x8"
922c72404eSJin Yao    },
932c72404eSJin Yao    {
942c72404eSJin Yao        "BriefDescription": "Taken branch instructions retired.",
952c72404eSJin Yao        "Counter": "0,1,2,3",
962c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
972c72404eSJin Yao        "Errata": "SKL091",
982c72404eSJin Yao        "EventCode": "0xC4",
992c72404eSJin Yao        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
1002c72404eSJin Yao        "PEBS": "1",
1012c72404eSJin Yao        "PublicDescription": "This event counts taken branch instructions retired.",
1022c72404eSJin Yao        "SampleAfterValue": "400009",
1032c72404eSJin Yao        "UMask": "0x20"
1042c72404eSJin Yao    },
1052c72404eSJin Yao    {
1062c72404eSJin Yao        "BriefDescription": "Not taken branch instructions retired.",
1072c72404eSJin Yao        "Counter": "0,1,2,3",
1082c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1092c72404eSJin Yao        "Errata": "SKL091",
1102c72404eSJin Yao        "EventCode": "0xC4",
1112c72404eSJin Yao        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
1122c72404eSJin Yao        "PublicDescription": "This event counts not taken branch instructions retired.",
1132c72404eSJin Yao        "SampleAfterValue": "400009",
114b5ff7f27SJin Yao        "UMask": "0x10"
115630171d4SAndi Kleen    },
116630171d4SAndi Kleen    {
1172c72404eSJin Yao        "BriefDescription": "All mispredicted macro branch instructions retired.",
118630171d4SAndi Kleen        "Counter": "0,1,2,3",
119b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1202c72404eSJin Yao        "EventCode": "0xC5",
1212c72404eSJin Yao        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
1222c72404eSJin Yao        "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.",
1232c72404eSJin Yao        "SampleAfterValue": "400009"
1242c72404eSJin Yao    },
1252c72404eSJin Yao    {
1262c72404eSJin Yao        "BriefDescription": "Mispredicted macro branch instructions retired.",
1272c72404eSJin Yao        "Counter": "0,1,2,3",
1282c72404eSJin Yao        "CounterHTOff": "0,1,2,3",
1292c72404eSJin Yao        "EventCode": "0xC5",
1302c72404eSJin Yao        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
1312c72404eSJin Yao        "PEBS": "2",
1322c72404eSJin Yao        "PublicDescription": "This is a precise version of BR_MISP_RETIRED.ALL_BRANCHES that counts all mispredicted macro branch instructions retired.",
1332c72404eSJin Yao        "SampleAfterValue": "400009",
1342c72404eSJin Yao        "UMask": "0x4"
1352c72404eSJin Yao    },
1362c72404eSJin Yao    {
1372c72404eSJin Yao        "BriefDescription": "Mispredicted conditional branch instructions retired.",
1382c72404eSJin Yao        "Counter": "0,1,2,3",
1392c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1402c72404eSJin Yao        "EventCode": "0xC5",
1412c72404eSJin Yao        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
1422c72404eSJin Yao        "PEBS": "1",
1432c72404eSJin Yao        "PublicDescription": "This event counts mispredicted conditional branch instructions retired.",
1442c72404eSJin Yao        "SampleAfterValue": "400009",
145b5ff7f27SJin Yao        "UMask": "0x1"
146630171d4SAndi Kleen    },
147630171d4SAndi Kleen    {
148b5ff7f27SJin Yao        "BriefDescription": "Mispredicted direct and indirect near call instructions retired.",
149b5ff7f27SJin Yao        "Counter": "0,1,2,3",
150b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
151b5ff7f27SJin Yao        "EventCode": "0xC5",
152b5ff7f27SJin Yao        "EventName": "BR_MISP_RETIRED.NEAR_CALL",
153b5ff7f27SJin Yao        "PEBS": "1",
154b5ff7f27SJin Yao        "PublicDescription": "Counts both taken and not taken retired mispredicted direct and indirect near calls, including both register and memory indirect.",
155b5ff7f27SJin Yao        "SampleAfterValue": "400009",
156b5ff7f27SJin Yao        "UMask": "0x2"
157b5ff7f27SJin Yao    },
158b5ff7f27SJin Yao    {
1592c72404eSJin Yao        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
160b5ff7f27SJin Yao        "Counter": "0,1,2,3",
161b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1622c72404eSJin Yao        "EventCode": "0xC5",
1632c72404eSJin Yao        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
1642c72404eSJin Yao        "PEBS": "1",
1652c72404eSJin Yao        "SampleAfterValue": "400009",
166b5ff7f27SJin Yao        "UMask": "0x20"
167b5ff7f27SJin Yao    },
168b5ff7f27SJin Yao    {
1692c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
170630171d4SAndi Kleen        "Counter": "0,1,2,3",
171b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1722c72404eSJin Yao        "EventCode": "0x3C",
1732c72404eSJin Yao        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
1742c72404eSJin Yao        "SampleAfterValue": "25003",
1752c72404eSJin Yao        "UMask": "0x2"
1762c72404eSJin Yao    },
1772c72404eSJin Yao    {
1782c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
1792c72404eSJin Yao        "Counter": "0,1,2,3",
1802c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1812c72404eSJin Yao        "EventCode": "0x3C",
1822c72404eSJin Yao        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
1832c72404eSJin Yao        "SampleAfterValue": "25003",
1842c72404eSJin Yao        "UMask": "0x1"
1852c72404eSJin Yao    },
1862c72404eSJin Yao    {
1872c72404eSJin Yao        "AnyThread": "1",
1882c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when at least one thread on the physical core is unhalted.",
1892c72404eSJin Yao        "Counter": "0,1,2,3",
1902c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
1912c72404eSJin Yao        "EventCode": "0x3C",
1922c72404eSJin Yao        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
1932c72404eSJin Yao        "SampleAfterValue": "25003",
1942c72404eSJin Yao        "UMask": "0x1"
1952c72404eSJin Yao    },
1962c72404eSJin Yao    {
1972c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
1982c72404eSJin Yao        "Counter": "0,1,2,3",
1992c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2002c72404eSJin Yao        "EventCode": "0x3C",
2012c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
2022c72404eSJin Yao        "SampleAfterValue": "25003",
2032c72404eSJin Yao        "UMask": "0x2"
2042c72404eSJin Yao    },
2052c72404eSJin Yao    {
2062c72404eSJin Yao        "BriefDescription": "Reference cycles when the core is not in halt state.",
2072c72404eSJin Yao        "Counter": "Fixed counter 2",
2082c72404eSJin Yao        "CounterHTOff": "Fixed counter 2",
2092c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
2102c72404eSJin Yao        "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 four (eight when Hyperthreading is disabled) 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.",
2112c72404eSJin Yao        "SampleAfterValue": "2000003",
2122c72404eSJin Yao        "UMask": "0x3"
2132c72404eSJin Yao    },
2142c72404eSJin Yao    {
2152c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when the thread is unhalted.",
2162c72404eSJin Yao        "Counter": "0,1,2,3",
2172c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2182c72404eSJin Yao        "EventCode": "0x3C",
2192c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
2202c72404eSJin Yao        "SampleAfterValue": "25003",
2212c72404eSJin Yao        "UMask": "0x1"
2222c72404eSJin Yao    },
2232c72404eSJin Yao    {
2242c72404eSJin Yao        "AnyThread": "1",
2252c72404eSJin Yao        "BriefDescription": "Core crystal clock cycles when at least one thread on the physical core is unhalted.",
2262c72404eSJin Yao        "Counter": "0,1,2,3",
2272c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2282c72404eSJin Yao        "EventCode": "0x3C",
2292c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
2302c72404eSJin Yao        "SampleAfterValue": "25003",
2312c72404eSJin Yao        "UMask": "0x1"
2322c72404eSJin Yao    },
2332c72404eSJin Yao    {
2342c72404eSJin Yao        "BriefDescription": "Counts when there is a transition from ring 1, 2 or 3 to ring 0.",
2352c72404eSJin Yao        "Counter": "0,1,2,3",
2362c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2372c72404eSJin Yao        "CounterMask": "1",
2382c72404eSJin Yao        "EdgeDetect": "1",
2392c72404eSJin Yao        "EventCode": "0x3C",
2402c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.RING0_TRANS",
2412c72404eSJin Yao        "PublicDescription": "Counts when the Current Privilege Level (CPL) transitions from ring 1, 2 or 3 to ring 0 (Kernel).",
2422c72404eSJin Yao        "SampleAfterValue": "100007"
2432c72404eSJin Yao    },
2442c72404eSJin Yao    {
2452c72404eSJin Yao        "BriefDescription": "Core cycles when the thread is not in halt state",
2462c72404eSJin Yao        "Counter": "Fixed counter 1",
2472c72404eSJin Yao        "CounterHTOff": "Fixed counter 1",
2482c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD",
2492c72404eSJin Yao        "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 four (eight when Hyperthreading is disabled) programmable counters available for other events.",
2502c72404eSJin Yao        "SampleAfterValue": "2000003",
2512c72404eSJin Yao        "UMask": "0x2"
2522c72404eSJin Yao    },
2532c72404eSJin Yao    {
2542c72404eSJin Yao        "AnyThread": "1",
2552c72404eSJin Yao        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
2562c72404eSJin Yao        "Counter": "Fixed counter 1",
2572c72404eSJin Yao        "CounterHTOff": "Fixed counter 1",
2582c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
259630171d4SAndi Kleen        "SampleAfterValue": "2000003",
260b5ff7f27SJin Yao        "UMask": "0x2"
261630171d4SAndi Kleen    },
262630171d4SAndi Kleen    {
263b5ff7f27SJin Yao        "BriefDescription": "Thread cycles when thread is not in halt state",
26419f2d40cSAndi Kleen        "Counter": "0,1,2,3",
265b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
266b5ff7f27SJin Yao        "EventCode": "0x3C",
267b5ff7f27SJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
268b5ff7f27SJin Yao        "PublicDescription": "This is an architectural event that counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling. For this reason, this event may have a changing ratio with regards to wall clock time.",
269b5ff7f27SJin Yao        "SampleAfterValue": "2000003"
27019f2d40cSAndi Kleen    },
27119f2d40cSAndi Kleen    {
2722c72404eSJin Yao        "AnyThread": "1",
2732c72404eSJin Yao        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
27419f2d40cSAndi Kleen        "Counter": "0,1,2,3",
275b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2762c72404eSJin Yao        "EventCode": "0x3C",
2772c72404eSJin Yao        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
2782c72404eSJin Yao        "SampleAfterValue": "2000003"
2792c72404eSJin Yao    },
2802c72404eSJin Yao    {
2812c72404eSJin Yao        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
2822c72404eSJin Yao        "Counter": "0,1,2,3",
2832c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2842c72404eSJin Yao        "CounterMask": "8",
2852c72404eSJin Yao        "EventCode": "0xA3",
2862c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
2872c72404eSJin Yao        "SampleAfterValue": "2000003",
2882c72404eSJin Yao        "UMask": "0x8"
2892c72404eSJin Yao    },
2902c72404eSJin Yao    {
2912c72404eSJin Yao        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
2922c72404eSJin Yao        "Counter": "0,1,2,3",
2932c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
2942c72404eSJin Yao        "CounterMask": "1",
2952c72404eSJin Yao        "EventCode": "0xA3",
2962c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
29719f2d40cSAndi Kleen        "SampleAfterValue": "2000003",
298b5ff7f27SJin Yao        "UMask": "0x1"
29919f2d40cSAndi Kleen    },
30019f2d40cSAndi Kleen    {
3012c72404eSJin Yao        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
302b5ff7f27SJin Yao        "Counter": "0,1,2,3",
303b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3042c72404eSJin Yao        "CounterMask": "16",
3052c72404eSJin Yao        "EventCode": "0xA3",
3062c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
3072c72404eSJin Yao        "SampleAfterValue": "2000003",
3082c72404eSJin Yao        "UMask": "0x10"
3092c72404eSJin Yao    },
3102c72404eSJin Yao    {
3112c72404eSJin Yao        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
3122c72404eSJin Yao        "Counter": "0,1,2,3",
3132c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3142c72404eSJin Yao        "CounterMask": "12",
3152c72404eSJin Yao        "EventCode": "0xA3",
3162c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
3172c72404eSJin Yao        "SampleAfterValue": "2000003",
3182c72404eSJin Yao        "UMask": "0xc"
3192c72404eSJin Yao    },
3202c72404eSJin Yao    {
3212c72404eSJin Yao        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
3222c72404eSJin Yao        "Counter": "0,1,2,3",
3232c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3242c72404eSJin Yao        "CounterMask": "5",
3252c72404eSJin Yao        "EventCode": "0xA3",
3262c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
3272c72404eSJin Yao        "SampleAfterValue": "2000003",
3282c72404eSJin Yao        "UMask": "0x5"
3292c72404eSJin Yao    },
3302c72404eSJin Yao    {
3312c72404eSJin Yao        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
3322c72404eSJin Yao        "Counter": "0,1,2,3",
3332c72404eSJin Yao        "CounterHTOff": "0,1,2,3",
3342c72404eSJin Yao        "CounterMask": "20",
3352c72404eSJin Yao        "EventCode": "0xA3",
3362c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
3372c72404eSJin Yao        "SampleAfterValue": "2000003",
3382c72404eSJin Yao        "UMask": "0x14"
3392c72404eSJin Yao    },
3402c72404eSJin Yao    {
3412c72404eSJin Yao        "BriefDescription": "Total execution stalls.",
3422c72404eSJin Yao        "Counter": "0,1,2,3",
3432c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3442c72404eSJin Yao        "CounterMask": "4",
3452c72404eSJin Yao        "EventCode": "0xA3",
3462c72404eSJin Yao        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
3472c72404eSJin Yao        "SampleAfterValue": "2000003",
3482c72404eSJin Yao        "UMask": "0x4"
3492c72404eSJin Yao    },
3502c72404eSJin Yao    {
3512c72404eSJin Yao        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
3522c72404eSJin Yao        "Counter": "0,1,2,3",
3532c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3542c72404eSJin Yao        "EventCode": "0xA6",
3552c72404eSJin Yao        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
3562c72404eSJin Yao        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
3572c72404eSJin Yao        "SampleAfterValue": "2000003",
3582c72404eSJin Yao        "UMask": "0x2"
3592c72404eSJin Yao    },
3602c72404eSJin Yao    {
3612c72404eSJin Yao        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
3622c72404eSJin Yao        "Counter": "0,1,2,3",
3632c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3642c72404eSJin Yao        "EventCode": "0xA6",
3652c72404eSJin Yao        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
3662c72404eSJin Yao        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
3672c72404eSJin Yao        "SampleAfterValue": "2000003",
3682c72404eSJin Yao        "UMask": "0x4"
3692c72404eSJin Yao    },
3702c72404eSJin Yao    {
3712c72404eSJin Yao        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
3722c72404eSJin Yao        "Counter": "0,1,2,3",
3732c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3742c72404eSJin Yao        "EventCode": "0xA6",
3752c72404eSJin Yao        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
3762c72404eSJin Yao        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
3772c72404eSJin Yao        "SampleAfterValue": "2000003",
3782c72404eSJin Yao        "UMask": "0x8"
3792c72404eSJin Yao    },
3802c72404eSJin Yao    {
3812c72404eSJin Yao        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
3822c72404eSJin Yao        "Counter": "0,1,2,3",
3832c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3842c72404eSJin Yao        "EventCode": "0xA6",
3852c72404eSJin Yao        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
3862c72404eSJin Yao        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
3872c72404eSJin Yao        "SampleAfterValue": "2000003",
3882c72404eSJin Yao        "UMask": "0x10"
3892c72404eSJin Yao    },
3902c72404eSJin Yao    {
3912c72404eSJin Yao        "BriefDescription": "Cycles where the Store Buffer was full and no outstanding load.",
3922c72404eSJin Yao        "Counter": "0,1,2,3",
3932c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
3942c72404eSJin Yao        "EventCode": "0xA6",
3952c72404eSJin Yao        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
3962c72404eSJin Yao        "SampleAfterValue": "2000003",
3972c72404eSJin Yao        "UMask": "0x40"
3982c72404eSJin Yao    },
3992c72404eSJin Yao    {
4002c72404eSJin Yao        "BriefDescription": "Cycles where no uops were executed, the Reservation Station was not empty, the Store Buffer was full and there was no outstanding load.",
4012c72404eSJin Yao        "Counter": "0,1,2,3",
4022c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
4032c72404eSJin Yao        "EventCode": "0xA6",
4042c72404eSJin Yao        "EventName": "EXE_ACTIVITY.EXE_BOUND_0_PORTS",
4052c72404eSJin Yao        "PublicDescription": "Counts cycles during which no uops were executed on all ports and Reservation Station (RS) was not empty.",
4062c72404eSJin Yao        "SampleAfterValue": "2000003",
4072c72404eSJin Yao        "UMask": "0x1"
4082c72404eSJin Yao    },
4092c72404eSJin Yao    {
4102c72404eSJin Yao        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
4112c72404eSJin Yao        "Counter": "0,1,2,3",
4122c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
4132c72404eSJin Yao        "EventCode": "0x87",
4142c72404eSJin Yao        "EventName": "ILD_STALL.LCP",
4152c72404eSJin Yao        "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.",
4162c72404eSJin Yao        "SampleAfterValue": "2000003",
4172c72404eSJin Yao        "UMask": "0x1"
4182c72404eSJin Yao    },
4192c72404eSJin Yao    {
420*e14fd2eeSIan Rogers        "BriefDescription": "Instruction decoders utilized in a cycle",
421*e14fd2eeSIan Rogers        "Counter": "0,1,2,3",
422*e14fd2eeSIan Rogers        "CounterHTOff": "0,1,2,3,4,5,6,7",
423*e14fd2eeSIan Rogers        "EventCode": "0x55",
424*e14fd2eeSIan Rogers        "EventName": "INST_DECODED.DECODERS",
425*e14fd2eeSIan Rogers        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
426*e14fd2eeSIan Rogers        "SampleAfterValue": "2000003",
427*e14fd2eeSIan Rogers        "UMask": "0x1"
428*e14fd2eeSIan Rogers    },
429*e14fd2eeSIan Rogers    {
4302c72404eSJin Yao        "BriefDescription": "Instructions retired from execution.",
4312c72404eSJin Yao        "Counter": "Fixed counter 0",
4322c72404eSJin Yao        "CounterHTOff": "Fixed counter 0",
4332c72404eSJin Yao        "EventName": "INST_RETIRED.ANY",
4342c72404eSJin Yao        "PublicDescription": "Counts the number of instructions retired from execution. For instructions that consist of multiple micro-ops, Counts the retirement of the last micro-op of the instruction. Counting continues during hardware interrupts, traps, and inside interrupt handlers. Notes: INST_RETIRED.ANY is counted by a designated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events. INST_RETIRED.ANY_P is counted by a programmable counter and it is an architectural performance event. Counting: Faulting executions of GETSEC/VM entry/VM Exit/MWait will not count as retired instructions.",
4352c72404eSJin Yao        "SampleAfterValue": "2000003",
4362c72404eSJin Yao        "UMask": "0x1"
4372c72404eSJin Yao    },
4382c72404eSJin Yao    {
4392c72404eSJin Yao        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
4402c72404eSJin Yao        "Counter": "0,1,2,3",
4412c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
4422c72404eSJin Yao        "Errata": "SKL091, SKL044",
4432c72404eSJin Yao        "EventCode": "0xC0",
4442c72404eSJin Yao        "EventName": "INST_RETIRED.ANY_P",
4452c72404eSJin Yao        "PublicDescription": "Counts the number of instructions (EOMs) retired. Counting covers macro-fused instructions individually (that is, increments by two).",
4462c72404eSJin Yao        "SampleAfterValue": "2000003"
4472c72404eSJin Yao    },
4482c72404eSJin Yao    {
4493bad20d7SIan Rogers        "BriefDescription": "Number of all retired NOP instructions.",
4503bad20d7SIan Rogers        "Counter": "0,1,2,3",
4513bad20d7SIan Rogers        "CounterHTOff": "0,1,2,3,4,5,6,7",
4523bad20d7SIan Rogers        "Errata": "SKL091, SKL044",
4533bad20d7SIan Rogers        "EventCode": "0xC0",
4543bad20d7SIan Rogers        "EventName": "INST_RETIRED.NOP",
4553bad20d7SIan Rogers        "PEBS": "1",
4563bad20d7SIan Rogers        "SampleAfterValue": "2000003",
4573bad20d7SIan Rogers        "UMask": "0x2"
4583bad20d7SIan Rogers    },
4593bad20d7SIan Rogers    {
4602c72404eSJin Yao        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
4612c72404eSJin Yao        "Counter": "1",
4622c72404eSJin Yao        "CounterHTOff": "1",
4632c72404eSJin Yao        "Errata": "SKL091, SKL044",
4642c72404eSJin Yao        "EventCode": "0xC0",
4652c72404eSJin Yao        "EventName": "INST_RETIRED.PREC_DIST",
4662c72404eSJin Yao        "PEBS": "2",
4672c72404eSJin Yao        "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.",
4682c72404eSJin Yao        "SampleAfterValue": "2000003",
4692c72404eSJin Yao        "UMask": "0x1"
4702c72404eSJin Yao    },
4712c72404eSJin Yao    {
4722c72404eSJin Yao        "BriefDescription": "Number of cycles using always true condition applied to  PEBS instructions retired event.",
4732c72404eSJin Yao        "Counter": "0,2,3",
4742c72404eSJin Yao        "CounterHTOff": "0,2,3",
4752c72404eSJin Yao        "CounterMask": "10",
4762c72404eSJin Yao        "Errata": "SKL091, SKL044",
4772c72404eSJin Yao        "EventCode": "0xC0",
4782c72404eSJin Yao        "EventName": "INST_RETIRED.TOTAL_CYCLES_PS",
4792c72404eSJin Yao        "Invert": "1",
4802c72404eSJin Yao        "PEBS": "2",
4812c72404eSJin Yao        "PublicDescription": "Number of cycles using an always true condition applied to  PEBS instructions retired event. (inst_ret< 16)",
4822c72404eSJin Yao        "SampleAfterValue": "2000003",
4832c72404eSJin Yao        "UMask": "0x1"
4842c72404eSJin Yao    },
4852c72404eSJin Yao    {
4862c72404eSJin Yao        "BriefDescription": "Cycles the issue-stage is waiting for front-end to fetch from resteered path following branch misprediction or machine clear events.",
4872c72404eSJin Yao        "Counter": "0,1,2,3",
4882c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
4892c72404eSJin Yao        "EventCode": "0x0D",
4902c72404eSJin Yao        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
4912c72404eSJin Yao        "SampleAfterValue": "2000003",
4922c72404eSJin Yao        "UMask": "0x80"
4932c72404eSJin Yao    },
4942c72404eSJin Yao    {
4952c72404eSJin Yao        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread (e.g. misprediction or memory nuke)",
4962c72404eSJin Yao        "Counter": "0,1,2,3",
4972c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
4982c72404eSJin Yao        "EventCode": "0x0D",
4992c72404eSJin Yao        "EventName": "INT_MISC.RECOVERY_CYCLES",
5002c72404eSJin Yao        "PublicDescription": "Core cycles the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
5012c72404eSJin Yao        "SampleAfterValue": "2000003",
5022c72404eSJin Yao        "UMask": "0x1"
5032c72404eSJin Yao    },
5042c72404eSJin Yao    {
5052c72404eSJin Yao        "AnyThread": "1",
5062c72404eSJin Yao        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke).",
5072c72404eSJin Yao        "Counter": "0,1,2,3",
5082c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5092c72404eSJin Yao        "EventCode": "0x0D",
5102c72404eSJin Yao        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
5112c72404eSJin Yao        "SampleAfterValue": "2000003",
5122c72404eSJin Yao        "UMask": "0x1"
5132c72404eSJin Yao    },
5142c72404eSJin Yao    {
5152c72404eSJin Yao        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use",
5162c72404eSJin Yao        "Counter": "0,1,2,3",
5172c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5182c72404eSJin Yao        "EventCode": "0x03",
5192c72404eSJin Yao        "EventName": "LD_BLOCKS.NO_SR",
5202c72404eSJin Yao        "PublicDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
5212c72404eSJin Yao        "SampleAfterValue": "100003",
5222c72404eSJin Yao        "UMask": "0x8"
5232c72404eSJin Yao    },
5242c72404eSJin Yao    {
5252c72404eSJin Yao        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
5262c72404eSJin Yao        "Counter": "0,1,2,3",
5272c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5282c72404eSJin Yao        "EventCode": "0x03",
5292c72404eSJin Yao        "EventName": "LD_BLOCKS.STORE_FORWARD",
5302c72404eSJin Yao        "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.",
5312c72404eSJin Yao        "SampleAfterValue": "100003",
5322c72404eSJin Yao        "UMask": "0x2"
5332c72404eSJin Yao    },
5342c72404eSJin Yao    {
5352c72404eSJin Yao        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
5362c72404eSJin Yao        "Counter": "0,1,2,3",
5372c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5382c72404eSJin Yao        "EventCode": "0x07",
5392c72404eSJin Yao        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
5402c72404eSJin Yao        "PublicDescription": "Counts false dependencies in MOB when the partial comparison upon loose net check and dependency was resolved by the Enhanced Loose net mechanism. This may not result in high performance penalties. Loose net checks can fail when loads and stores are 4k aliased.",
5412c72404eSJin Yao        "SampleAfterValue": "100003",
5422c72404eSJin Yao        "UMask": "0x1"
5432c72404eSJin Yao    },
5442c72404eSJin Yao    {
5452c72404eSJin Yao        "BriefDescription": "Demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
5462c72404eSJin Yao        "Counter": "0,1,2,3",
5472c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5482c72404eSJin Yao        "EventCode": "0x4C",
5492c72404eSJin Yao        "EventName": "LOAD_HIT_PRE.SW_PF",
5502c72404eSJin 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.",
5512c72404eSJin Yao        "SampleAfterValue": "100003",
5522c72404eSJin Yao        "UMask": "0x1"
5532c72404eSJin Yao    },
5542c72404eSJin Yao    {
5552c72404eSJin Yao        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
5562c72404eSJin Yao        "Counter": "0,1,2,3",
5572c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5582c72404eSJin Yao        "CounterMask": "4",
5592c72404eSJin Yao        "EventCode": "0xA8",
5602c72404eSJin Yao        "EventName": "LSD.CYCLES_4_UOPS",
5612c72404eSJin Yao        "PublicDescription": "Counts the cycles when 4 uops are delivered by the LSD (Loop-stream detector).",
5622c72404eSJin Yao        "SampleAfterValue": "2000003",
5632c72404eSJin Yao        "UMask": "0x1"
5642c72404eSJin Yao    },
5652c72404eSJin Yao    {
5662c72404eSJin Yao        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
5672c72404eSJin Yao        "Counter": "0,1,2,3",
5682c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5692c72404eSJin Yao        "CounterMask": "1",
5702c72404eSJin Yao        "EventCode": "0xA8",
5712c72404eSJin Yao        "EventName": "LSD.CYCLES_ACTIVE",
5722c72404eSJin Yao        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
5732c72404eSJin Yao        "SampleAfterValue": "2000003",
5742c72404eSJin Yao        "UMask": "0x1"
5752c72404eSJin Yao    },
5762c72404eSJin Yao    {
5772c72404eSJin Yao        "BriefDescription": "Number of Uops delivered by the LSD.",
5782c72404eSJin Yao        "Counter": "0,1,2,3",
5792c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
5802c72404eSJin Yao        "EventCode": "0xA8",
5812c72404eSJin Yao        "EventName": "LSD.UOPS",
5822c72404eSJin Yao        "PublicDescription": "Number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
5832c72404eSJin Yao        "SampleAfterValue": "2000003",
584b5ff7f27SJin Yao        "UMask": "0x1"
585b5ff7f27SJin Yao    },
586b5ff7f27SJin Yao    {
587630171d4SAndi Kleen        "BriefDescription": "Number of machine clears (nukes) of any type.",
588630171d4SAndi Kleen        "Counter": "0,1,2,3",
589b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
590630171d4SAndi Kleen        "CounterMask": "1",
591b5ff7f27SJin Yao        "EdgeDetect": "1",
592b5ff7f27SJin Yao        "EventCode": "0xC3",
593b5ff7f27SJin Yao        "EventName": "MACHINE_CLEARS.COUNT",
594630171d4SAndi Kleen        "SampleAfterValue": "100003",
595b5ff7f27SJin Yao        "UMask": "0x1"
596630171d4SAndi Kleen    },
597630171d4SAndi Kleen    {
5982c72404eSJin Yao        "BriefDescription": "Self-modifying code (SMC) detected.",
599b5ff7f27SJin Yao        "Counter": "0,1,2,3",
600b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6012c72404eSJin Yao        "EventCode": "0xC3",
6022c72404eSJin Yao        "EventName": "MACHINE_CLEARS.SMC",
6032c72404eSJin Yao        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
6042c72404eSJin Yao        "SampleAfterValue": "100003",
6052c72404eSJin Yao        "UMask": "0x4"
6062c72404eSJin Yao    },
6072c72404eSJin Yao    {
6082c72404eSJin Yao        "BriefDescription": "Number of times a microcode assist is invoked by HW other than FP-assist. Examples include AD (page Access Dirty) and AVX* related assists.",
6092c72404eSJin Yao        "Counter": "0,1,2,3",
6102c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6112c72404eSJin Yao        "EventCode": "0xC1",
6122c72404eSJin Yao        "EventName": "OTHER_ASSISTS.ANY",
6132c72404eSJin Yao        "SampleAfterValue": "100003",
6142c72404eSJin Yao        "UMask": "0x3f"
6152c72404eSJin Yao    },
6162c72404eSJin Yao    {
6172c72404eSJin Yao        "BriefDescription": "Cycles where the pipeline is stalled due to serializing operations.",
6182c72404eSJin Yao        "Counter": "0,1,2,3",
6192c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6202c72404eSJin Yao        "EventCode": "0x59",
6212c72404eSJin Yao        "EventName": "PARTIAL_RAT_STALLS.SCOREBOARD",
6222c72404eSJin Yao        "PublicDescription": "This event counts cycles during which the microcode scoreboard stalls happen.",
623b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
624b5ff7f27SJin Yao        "UMask": "0x1"
625b5ff7f27SJin Yao    },
626b5ff7f27SJin Yao    {
6272c72404eSJin Yao        "BriefDescription": "Resource-related stall cycles",
628b5ff7f27SJin Yao        "Counter": "0,1,2,3",
629b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6302c72404eSJin Yao        "EventCode": "0xa2",
6312c72404eSJin Yao        "EventName": "RESOURCE_STALLS.ANY",
6322c72404eSJin Yao        "PublicDescription": "Counts resource-related stall cycles.",
633b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
634b5ff7f27SJin Yao        "UMask": "0x1"
635b5ff7f27SJin Yao    },
636b5ff7f27SJin Yao    {
6372c72404eSJin Yao        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
638b5ff7f27SJin Yao        "Counter": "0,1,2,3",
639b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6402c72404eSJin Yao        "EventCode": "0xA2",
6412c72404eSJin Yao        "EventName": "RESOURCE_STALLS.SB",
6422c72404eSJin Yao        "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.",
643b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
644b5ff7f27SJin Yao        "UMask": "0x8"
645b5ff7f27SJin Yao    },
646b5ff7f27SJin Yao    {
6472c72404eSJin Yao        "BriefDescription": "Increments whenever there is an update to the LBR array.",
6482c72404eSJin Yao        "Counter": "0,1,2,3",
6492c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6502c72404eSJin Yao        "EventCode": "0xCC",
6512c72404eSJin Yao        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
6522c72404eSJin Yao        "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 enable via IA32_DEBUGCTL MSR and branch type selection via MSR_LBR_SELECT.",
6532c72404eSJin Yao        "SampleAfterValue": "2000003",
6542c72404eSJin Yao        "UMask": "0x20"
6552c72404eSJin Yao    },
6562c72404eSJin Yao    {
6572c72404eSJin Yao        "BriefDescription": "Number of retired PAUSE instructions (that do not end up with a VMExit to the VMM; TSX aborted Instructions may be counted). This event is not supported on first SKL and KBL products.",
6582c72404eSJin Yao        "Counter": "0,1,2,3",
6592c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6602c72404eSJin Yao        "EventCode": "0xCC",
6612c72404eSJin Yao        "EventName": "ROB_MISC_EVENTS.PAUSE_INST",
6622c72404eSJin Yao        "SampleAfterValue": "2000003",
6632c72404eSJin Yao        "UMask": "0x40"
6642c72404eSJin Yao    },
6652c72404eSJin Yao    {
6662c72404eSJin Yao        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
6672c72404eSJin Yao        "Counter": "0,1,2,3",
6682c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
6692c72404eSJin Yao        "EventCode": "0x5E",
6702c72404eSJin Yao        "EventName": "RS_EVENTS.EMPTY_CYCLES",
6712c72404eSJin Yao        "PublicDescription": "Counts cycles during which the reservation station (RS) is empty for the thread.; Note: In ST-mode, not active thread should drive 0. This is usually caused by severely costly branch mispredictions, or allocator/FE issues.",
6722c72404eSJin Yao        "SampleAfterValue": "2000003",
6732c72404eSJin Yao        "UMask": "0x1"
6742c72404eSJin Yao    },
6752c72404eSJin Yao    {
6762c72404eSJin Yao        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
677b5ff7f27SJin Yao        "Counter": "0,1,2,3",
678b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
679b5ff7f27SJin Yao        "CounterMask": "1",
6802c72404eSJin Yao        "EdgeDetect": "1",
6812c72404eSJin Yao        "EventCode": "0x5E",
6822c72404eSJin Yao        "EventName": "RS_EVENTS.EMPTY_END",
6832c72404eSJin Yao        "Invert": "1",
6842c72404eSJin Yao        "PublicDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate front-end Latency Bound issues.",
685b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
686b5ff7f27SJin Yao        "UMask": "0x1"
687b5ff7f27SJin Yao    },
688b5ff7f27SJin Yao    {
689b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 0",
690b5ff7f27SJin Yao        "Counter": "0,1,2,3",
691b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
692b5ff7f27SJin Yao        "EventCode": "0xA1",
693b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
694b5ff7f27SJin 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.",
695b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
696b5ff7f27SJin Yao        "UMask": "0x1"
697b5ff7f27SJin Yao    },
698b5ff7f27SJin Yao    {
699b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 1",
700b5ff7f27SJin Yao        "Counter": "0,1,2,3",
701b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
702b5ff7f27SJin Yao        "EventCode": "0xA1",
703b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
704b5ff7f27SJin 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.",
705b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
706b5ff7f27SJin Yao        "UMask": "0x2"
707b5ff7f27SJin Yao    },
708b5ff7f27SJin Yao    {
709b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 2",
710b5ff7f27SJin Yao        "Counter": "0,1,2,3",
711b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
712b5ff7f27SJin Yao        "EventCode": "0xA1",
713b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
714b5ff7f27SJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 2.",
715b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
716b5ff7f27SJin Yao        "UMask": "0x4"
717b5ff7f27SJin Yao    },
718b5ff7f27SJin Yao    {
719b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 3",
720b5ff7f27SJin Yao        "Counter": "0,1,2,3",
721b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
722b5ff7f27SJin Yao        "EventCode": "0xA1",
723b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
724b5ff7f27SJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 3.",
725b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
726b5ff7f27SJin Yao        "UMask": "0x8"
727b5ff7f27SJin Yao    },
728b5ff7f27SJin Yao    {
729b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 4",
730b5ff7f27SJin Yao        "Counter": "0,1,2,3",
731b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
732b5ff7f27SJin Yao        "EventCode": "0xA1",
733b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
734b5ff7f27SJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 4.",
735b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
736b5ff7f27SJin Yao        "UMask": "0x10"
737b5ff7f27SJin Yao    },
738b5ff7f27SJin Yao    {
739b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 5",
740b5ff7f27SJin Yao        "Counter": "0,1,2,3",
741b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
742b5ff7f27SJin Yao        "EventCode": "0xA1",
743b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
744b5ff7f27SJin 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.",
745b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
746b5ff7f27SJin Yao        "UMask": "0x20"
747b5ff7f27SJin Yao    },
748b5ff7f27SJin Yao    {
749b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 6",
750b5ff7f27SJin Yao        "Counter": "0,1,2,3",
751b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
752b5ff7f27SJin Yao        "EventCode": "0xA1",
753b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
754b5ff7f27SJin 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.",
755b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
756b5ff7f27SJin Yao        "UMask": "0x40"
757b5ff7f27SJin Yao    },
758b5ff7f27SJin Yao    {
759b5ff7f27SJin Yao        "BriefDescription": "Cycles per thread when uops are executed in port 7",
760b5ff7f27SJin Yao        "Counter": "0,1,2,3",
761b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
762b5ff7f27SJin Yao        "EventCode": "0xA1",
763b5ff7f27SJin Yao        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
764b5ff7f27SJin Yao        "PublicDescription": "Counts, on the per-thread basis, cycles during which at least one uop is dispatched from the Reservation Station (RS) to port 7.",
765b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
766b5ff7f27SJin Yao        "UMask": "0x80"
767b5ff7f27SJin Yao    },
768b5ff7f27SJin Yao    {
7692c72404eSJin Yao        "BriefDescription": "Number of uops executed on the core.",
770b5ff7f27SJin Yao        "Counter": "0,1,2,3",
771b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
772b5ff7f27SJin Yao        "EventCode": "0xB1",
7732c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CORE",
7742c72404eSJin Yao        "PublicDescription": "Number of uops executed from any thread.",
775b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
776b5ff7f27SJin Yao        "UMask": "0x2"
777b5ff7f27SJin Yao    },
778b5ff7f27SJin Yao    {
779b5ff7f27SJin Yao        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
780b5ff7f27SJin Yao        "Counter": "0,1,2,3",
781b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
782b5ff7f27SJin Yao        "CounterMask": "1",
783b5ff7f27SJin Yao        "EventCode": "0xB1",
784b5ff7f27SJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
785b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
786b5ff7f27SJin Yao        "UMask": "0x2"
787b5ff7f27SJin Yao    },
788b5ff7f27SJin Yao    {
7892c72404eSJin Yao        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
7902c72404eSJin Yao        "Counter": "0,1,2,3",
7912c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
7922c72404eSJin Yao        "CounterMask": "2",
7932c72404eSJin Yao        "EventCode": "0xB1",
7942c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
7952c72404eSJin Yao        "SampleAfterValue": "2000003",
7962c72404eSJin Yao        "UMask": "0x2"
7972c72404eSJin Yao    },
7982c72404eSJin Yao    {
7992c72404eSJin Yao        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
8002c72404eSJin Yao        "Counter": "0,1,2,3",
8012c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8022c72404eSJin Yao        "CounterMask": "3",
8032c72404eSJin Yao        "EventCode": "0xB1",
8042c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
8052c72404eSJin Yao        "SampleAfterValue": "2000003",
8062c72404eSJin Yao        "UMask": "0x2"
8072c72404eSJin Yao    },
8082c72404eSJin Yao    {
809b5ff7f27SJin Yao        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
810b5ff7f27SJin Yao        "Counter": "0,1,2,3",
811b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
812b5ff7f27SJin Yao        "CounterMask": "4",
813b5ff7f27SJin Yao        "EventCode": "0xB1",
814b5ff7f27SJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
815b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
816b5ff7f27SJin Yao        "UMask": "0x2"
817b5ff7f27SJin Yao    },
818b5ff7f27SJin Yao    {
8192c72404eSJin Yao        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
8202c72404eSJin Yao        "Counter": "0,1,2,3",
8212c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8222c72404eSJin Yao        "CounterMask": "1",
8232c72404eSJin Yao        "EventCode": "0xB1",
8242c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
8252c72404eSJin Yao        "Invert": "1",
826b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
8272c72404eSJin Yao        "UMask": "0x2"
828b5ff7f27SJin Yao    },
829b5ff7f27SJin Yao    {
8302c72404eSJin Yao        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
831b5ff7f27SJin Yao        "Counter": "0,1,2,3",
832b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8332c72404eSJin Yao        "CounterMask": "1",
8342c72404eSJin Yao        "EventCode": "0xB1",
8352c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
8362c72404eSJin Yao        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
8372c72404eSJin Yao        "SampleAfterValue": "2000003",
8382c72404eSJin Yao        "UMask": "0x1"
839b5ff7f27SJin Yao    },
840b5ff7f27SJin Yao    {
8412c72404eSJin Yao        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
842b5ff7f27SJin Yao        "Counter": "0,1,2,3",
843b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8442c72404eSJin Yao        "CounterMask": "2",
8452c72404eSJin Yao        "EventCode": "0xB1",
8462c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
8472c72404eSJin Yao        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
8482c72404eSJin Yao        "SampleAfterValue": "2000003",
8492c72404eSJin Yao        "UMask": "0x1"
8502c72404eSJin Yao    },
8512c72404eSJin Yao    {
8522c72404eSJin Yao        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
8532c72404eSJin Yao        "Counter": "0,1,2,3",
8542c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8552c72404eSJin Yao        "CounterMask": "3",
8562c72404eSJin Yao        "EventCode": "0xB1",
8572c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
8582c72404eSJin Yao        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
8592c72404eSJin Yao        "SampleAfterValue": "2000003",
8602c72404eSJin Yao        "UMask": "0x1"
8612c72404eSJin Yao    },
8622c72404eSJin Yao    {
8632c72404eSJin Yao        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
8642c72404eSJin Yao        "Counter": "0,1,2,3",
8652c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8662c72404eSJin Yao        "CounterMask": "4",
8672c72404eSJin Yao        "EventCode": "0xB1",
8682c72404eSJin Yao        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
8692c72404eSJin Yao        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
8702c72404eSJin Yao        "SampleAfterValue": "2000003",
8712c72404eSJin Yao        "UMask": "0x1"
8722c72404eSJin Yao    },
8732c72404eSJin Yao    {
8742c72404eSJin Yao        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
8752c72404eSJin Yao        "Counter": "0,1,2,3",
8762c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8772c72404eSJin Yao        "CounterMask": "1",
8782c72404eSJin Yao        "EventCode": "0xB1",
8792c72404eSJin Yao        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
8802c72404eSJin Yao        "Invert": "1",
8812c72404eSJin Yao        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
8822c72404eSJin Yao        "SampleAfterValue": "2000003",
8832c72404eSJin Yao        "UMask": "0x1"
8842c72404eSJin Yao    },
8852c72404eSJin Yao    {
8862c72404eSJin Yao        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
8872c72404eSJin Yao        "Counter": "0,1,2,3",
8882c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8892c72404eSJin Yao        "EventCode": "0xB1",
8902c72404eSJin Yao        "EventName": "UOPS_EXECUTED.THREAD",
8912c72404eSJin Yao        "PublicDescription": "Number of uops to be executed per-thread each cycle.",
8922c72404eSJin Yao        "SampleAfterValue": "2000003",
8932c72404eSJin Yao        "UMask": "0x1"
8942c72404eSJin Yao    },
8952c72404eSJin Yao    {
8962c72404eSJin Yao        "BriefDescription": "Counts the number of x87 uops dispatched.",
8972c72404eSJin Yao        "Counter": "0,1,2,3",
8982c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
8992c72404eSJin Yao        "EventCode": "0xB1",
9002c72404eSJin Yao        "EventName": "UOPS_EXECUTED.X87",
9012c72404eSJin Yao        "PublicDescription": "Counts the number of x87 uops executed.",
9022c72404eSJin Yao        "SampleAfterValue": "2000003",
9032c72404eSJin Yao        "UMask": "0x10"
9042c72404eSJin Yao    },
9052c72404eSJin Yao    {
9062c72404eSJin Yao        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
9072c72404eSJin Yao        "Counter": "0,1,2,3",
9082c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9092c72404eSJin Yao        "EventCode": "0x0E",
9102c72404eSJin Yao        "EventName": "UOPS_ISSUED.ANY",
9112c72404eSJin Yao        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
9122c72404eSJin Yao        "SampleAfterValue": "2000003",
9132c72404eSJin Yao        "UMask": "0x1"
9142c72404eSJin Yao    },
9152c72404eSJin Yao    {
9162c72404eSJin Yao        "BriefDescription": "Number of slow LEA uops being allocated. A uop is generally considered SlowLea if it has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.",
9172c72404eSJin Yao        "Counter": "0,1,2,3",
9182c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9192c72404eSJin Yao        "EventCode": "0x0E",
9202c72404eSJin Yao        "EventName": "UOPS_ISSUED.SLOW_LEA",
9212c72404eSJin Yao        "SampleAfterValue": "2000003",
9222c72404eSJin Yao        "UMask": "0x20"
9232c72404eSJin Yao    },
9242c72404eSJin Yao    {
9252c72404eSJin Yao        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread",
9262c72404eSJin Yao        "Counter": "0,1,2,3",
9272c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9282c72404eSJin Yao        "CounterMask": "1",
9292c72404eSJin Yao        "EventCode": "0x0E",
9302c72404eSJin Yao        "EventName": "UOPS_ISSUED.STALL_CYCLES",
9312c72404eSJin Yao        "Invert": "1",
9322c72404eSJin Yao        "PublicDescription": "Counts cycles during which the Resource Allocation Table (RAT) does not issue any Uops to the reservation station (RS) for the current thread.",
9332c72404eSJin Yao        "SampleAfterValue": "2000003",
9342c72404eSJin Yao        "UMask": "0x1"
9352c72404eSJin Yao    },
9362c72404eSJin Yao    {
9372c72404eSJin Yao        "BriefDescription": "Uops inserted at issue-stage in order to preserve upper bits of vector registers.",
9382c72404eSJin Yao        "Counter": "0,1,2,3",
9392c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9402c72404eSJin Yao        "EventCode": "0x0E",
9412c72404eSJin Yao        "EventName": "UOPS_ISSUED.VECTOR_WIDTH_MISMATCH",
9422c72404eSJin Yao        "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.",
9432c72404eSJin Yao        "SampleAfterValue": "2000003",
9442c72404eSJin Yao        "UMask": "0x2"
9452c72404eSJin Yao    },
9462c72404eSJin Yao    {
9472c72404eSJin Yao        "BriefDescription": "Number of macro-fused uops retired. (non precise)",
9482c72404eSJin Yao        "Counter": "0,1,2,3",
9492c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9502c72404eSJin Yao        "EventCode": "0xc2",
9512c72404eSJin Yao        "EventName": "UOPS_RETIRED.MACRO_FUSED",
9522c72404eSJin Yao        "PublicDescription": "Counts the number of macro-fused uops retired. (non precise)",
9532c72404eSJin Yao        "SampleAfterValue": "2000003",
9542c72404eSJin Yao        "UMask": "0x4"
9552c72404eSJin Yao    },
9562c72404eSJin Yao    {
9572c72404eSJin Yao        "BriefDescription": "Retirement slots used.",
9582c72404eSJin Yao        "Counter": "0,1,2,3",
9592c72404eSJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
9602c72404eSJin Yao        "EventCode": "0xC2",
9612c72404eSJin Yao        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
9622c72404eSJin Yao        "PublicDescription": "Counts the retirement slots used.",
9632c72404eSJin Yao        "SampleAfterValue": "2000003",
9642c72404eSJin Yao        "UMask": "0x2"
965b5ff7f27SJin Yao    },
966b5ff7f27SJin Yao    {
967b5ff7f27SJin Yao        "BriefDescription": "Cycles without actually retired uops.",
968b5ff7f27SJin Yao        "Counter": "0,1,2,3",
969b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
970b5ff7f27SJin Yao        "CounterMask": "1",
971b5ff7f27SJin Yao        "EventCode": "0xC2",
972b5ff7f27SJin Yao        "EventName": "UOPS_RETIRED.STALL_CYCLES",
973b5ff7f27SJin Yao        "Invert": "1",
974b5ff7f27SJin Yao        "PublicDescription": "This event counts cycles without actually retired uops.",
975b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
976b5ff7f27SJin Yao        "UMask": "0x2"
977b5ff7f27SJin Yao    },
978b5ff7f27SJin Yao    {
9792c72404eSJin Yao        "BriefDescription": "Cycles with less than 10 actually retired uops.",
980b5ff7f27SJin Yao        "Counter": "0,1,2,3",
981b5ff7f27SJin Yao        "CounterHTOff": "0,1,2,3,4,5,6,7",
982*e14fd2eeSIan Rogers        "CounterMask": "16",
983b5ff7f27SJin Yao        "EventCode": "0xC2",
9842c72404eSJin Yao        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
9852c72404eSJin Yao        "Invert": "1",
9862c72404eSJin Yao        "PublicDescription": "Number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
987b5ff7f27SJin Yao        "SampleAfterValue": "2000003",
988b5ff7f27SJin Yao        "UMask": "0x2"
989630171d4SAndi Kleen    }
990630171d4SAndi Kleen]
991