1f9900dd0SZhengjun Xing[
2f9900dd0SZhengjun Xing    {
34c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event ARITH.DIV_ACTIVE",
44c12f41aSZhengjun Xing        "CounterMask": "1",
54c12f41aSZhengjun Xing        "Deprecated": "1",
64c12f41aSZhengjun Xing        "EventCode": "0xb0",
74c12f41aSZhengjun Xing        "EventName": "ARITH.DIVIDER_ACTIVE",
84c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
94c12f41aSZhengjun Xing        "UMask": "0x9",
104c12f41aSZhengjun Xing        "Unit": "cpu_core"
114c12f41aSZhengjun Xing    },
124c12f41aSZhengjun Xing    {
134c12f41aSZhengjun Xing        "BriefDescription": "Cycles when divide unit is busy executing divide or square root operations.",
144c12f41aSZhengjun Xing        "CounterMask": "1",
154c12f41aSZhengjun Xing        "EventCode": "0xb0",
164c12f41aSZhengjun Xing        "EventName": "ARITH.DIV_ACTIVE",
174c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when divide unit is busy executing divide or square root operations. Accounts for integer and floating-point operations.",
184c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
194c12f41aSZhengjun Xing        "UMask": "0x9",
204c12f41aSZhengjun Xing        "Unit": "cpu_core"
214c12f41aSZhengjun Xing    },
224c12f41aSZhengjun Xing    {
234c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event ARITH.FPDIV_ACTIVE",
244c12f41aSZhengjun Xing        "CounterMask": "1",
254c12f41aSZhengjun Xing        "Deprecated": "1",
264c12f41aSZhengjun Xing        "EventCode": "0xb0",
274c12f41aSZhengjun Xing        "EventName": "ARITH.FP_DIVIDER_ACTIVE",
284c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
294c12f41aSZhengjun Xing        "UMask": "0x1",
304c12f41aSZhengjun Xing        "Unit": "cpu_core"
314c12f41aSZhengjun Xing    },
324c12f41aSZhengjun Xing    {
334c12f41aSZhengjun Xing        "BriefDescription": "This event counts the cycles the integer divider is busy.",
344c12f41aSZhengjun Xing        "EventCode": "0xb0",
354c12f41aSZhengjun Xing        "EventName": "ARITH.IDIV_ACTIVE",
364c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
374c12f41aSZhengjun Xing        "UMask": "0x8",
384c12f41aSZhengjun Xing        "Unit": "cpu_core"
394c12f41aSZhengjun Xing    },
404c12f41aSZhengjun Xing    {
414c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event ARITH.IDIV_ACTIVE",
424c12f41aSZhengjun Xing        "CounterMask": "1",
434c12f41aSZhengjun Xing        "Deprecated": "1",
444c12f41aSZhengjun Xing        "EventCode": "0xb0",
454c12f41aSZhengjun Xing        "EventName": "ARITH.INT_DIVIDER_ACTIVE",
464c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
474c12f41aSZhengjun Xing        "UMask": "0x8",
484c12f41aSZhengjun Xing        "Unit": "cpu_core"
494c12f41aSZhengjun Xing    },
504c12f41aSZhengjun Xing    {
514c12f41aSZhengjun Xing        "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.",
524c12f41aSZhengjun Xing        "EventCode": "0xc1",
534c12f41aSZhengjun Xing        "EventName": "ASSISTS.ANY",
544c12f41aSZhengjun Xing        "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.",
554c12f41aSZhengjun Xing        "SampleAfterValue": "100003",
564c12f41aSZhengjun Xing        "UMask": "0x1b",
574c12f41aSZhengjun Xing        "Unit": "cpu_core"
584c12f41aSZhengjun Xing    },
594c12f41aSZhengjun Xing    {
60f9900dd0SZhengjun Xing        "BriefDescription": "Counts the total number of branch instructions retired for all branch types.",
61f9900dd0SZhengjun Xing        "EventCode": "0xc4",
62f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
63f9900dd0SZhengjun Xing        "PEBS": "1",
644c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of instructions in which the instruction pointer (IP) of the processor is resteered due to a branch instruction and the branch instruction successfully retires.  All branch type instructions are accounted for.",
65f9900dd0SZhengjun Xing        "SampleAfterValue": "200003",
66f9900dd0SZhengjun Xing        "Unit": "cpu_atom"
67f9900dd0SZhengjun Xing    },
68f9900dd0SZhengjun Xing    {
694c12f41aSZhengjun Xing        "BriefDescription": "All branch instructions retired.",
704c12f41aSZhengjun Xing        "EventCode": "0xc4",
714c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
724c12f41aSZhengjun Xing        "PEBS": "1",
734c12f41aSZhengjun Xing        "PublicDescription": "Counts all branch instructions retired.",
744c12f41aSZhengjun Xing        "SampleAfterValue": "400009",
754c12f41aSZhengjun Xing        "Unit": "cpu_core"
764c12f41aSZhengjun Xing    },
774c12f41aSZhengjun Xing    {
78f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.NEAR_CALL",
794c12f41aSZhengjun Xing        "Deprecated": "1",
80f9900dd0SZhengjun Xing        "EventCode": "0xc4",
81f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.CALL",
82f9900dd0SZhengjun Xing        "PEBS": "1",
83f9900dd0SZhengjun Xing        "SampleAfterValue": "200003",
84f9900dd0SZhengjun Xing        "UMask": "0xf9",
85f9900dd0SZhengjun Xing        "Unit": "cpu_atom"
86f9900dd0SZhengjun Xing    },
87f9900dd0SZhengjun Xing    {
88a95ab294SIan Rogers        "BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructions retired, includes both taken and not taken branches.",
89a95ab294SIan Rogers        "EventCode": "0xc4",
90a95ab294SIan Rogers        "EventName": "BR_INST_RETIRED.COND",
91a95ab294SIan Rogers        "PEBS": "1",
92a95ab294SIan Rogers        "SampleAfterValue": "200003",
93a95ab294SIan Rogers        "UMask": "0x7e",
94a95ab294SIan Rogers        "Unit": "cpu_atom"
95a95ab294SIan Rogers    },
96a95ab294SIan Rogers    {
97f9900dd0SZhengjun Xing        "BriefDescription": "Conditional branch instructions retired.",
98f9900dd0SZhengjun Xing        "EventCode": "0xc4",
99f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND",
100f9900dd0SZhengjun Xing        "PEBS": "1",
1014c12f41aSZhengjun Xing        "PublicDescription": "Counts conditional branch instructions retired.",
102f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
103f9900dd0SZhengjun Xing        "UMask": "0x11",
104f9900dd0SZhengjun Xing        "Unit": "cpu_core"
105f9900dd0SZhengjun Xing    },
106f9900dd0SZhengjun Xing    {
107f9900dd0SZhengjun Xing        "BriefDescription": "Not taken branch instructions retired.",
108f9900dd0SZhengjun Xing        "EventCode": "0xc4",
109f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
110f9900dd0SZhengjun Xing        "PEBS": "1",
1114c12f41aSZhengjun Xing        "PublicDescription": "Counts not taken branch instructions retired.",
112f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
113f9900dd0SZhengjun Xing        "UMask": "0x10",
114f9900dd0SZhengjun Xing        "Unit": "cpu_core"
115f9900dd0SZhengjun Xing    },
116f9900dd0SZhengjun Xing    {
1174c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of taken JCC (Jump on Conditional Code) branch instructions retired.",
118f9900dd0SZhengjun Xing        "EventCode": "0xc4",
119f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_TAKEN",
120f9900dd0SZhengjun Xing        "PEBS": "1",
1214c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1224c12f41aSZhengjun Xing        "UMask": "0xfe",
1234c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1244c12f41aSZhengjun Xing    },
1254c12f41aSZhengjun Xing    {
1264c12f41aSZhengjun Xing        "BriefDescription": "Taken conditional branch instructions retired.",
1274c12f41aSZhengjun Xing        "EventCode": "0xc4",
1284c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_TAKEN",
1294c12f41aSZhengjun Xing        "PEBS": "1",
1304c12f41aSZhengjun Xing        "PublicDescription": "Counts taken conditional branch instructions retired.",
131f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
132f9900dd0SZhengjun Xing        "UMask": "0x1",
133f9900dd0SZhengjun Xing        "Unit": "cpu_core"
134f9900dd0SZhengjun Xing    },
135f9900dd0SZhengjun Xing    {
1364c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of far branch instructions retired, includes far jump, far call and return, and interrupt call and return.",
137f9900dd0SZhengjun Xing        "EventCode": "0xc4",
138f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
139f9900dd0SZhengjun Xing        "PEBS": "1",
1404c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1414c12f41aSZhengjun Xing        "UMask": "0xbf",
1424c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1434c12f41aSZhengjun Xing    },
1444c12f41aSZhengjun Xing    {
1454c12f41aSZhengjun Xing        "BriefDescription": "Far branch instructions retired.",
1464c12f41aSZhengjun Xing        "EventCode": "0xc4",
1474c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
1484c12f41aSZhengjun Xing        "PEBS": "1",
1494c12f41aSZhengjun Xing        "PublicDescription": "Counts far branch instructions retired.",
150f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
151f9900dd0SZhengjun Xing        "UMask": "0x40",
152f9900dd0SZhengjun Xing        "Unit": "cpu_core"
153f9900dd0SZhengjun Xing    },
154f9900dd0SZhengjun Xing    {
1554c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near indirect JMP and near indirect CALL branch instructions retired.",
156f9900dd0SZhengjun Xing        "EventCode": "0xc4",
157f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT",
158f9900dd0SZhengjun Xing        "PEBS": "1",
1594c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1604c12f41aSZhengjun Xing        "UMask": "0xeb",
1614c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1624c12f41aSZhengjun Xing    },
1634c12f41aSZhengjun Xing    {
1644c12f41aSZhengjun Xing        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
1654c12f41aSZhengjun Xing        "EventCode": "0xc4",
1664c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT",
1674c12f41aSZhengjun Xing        "PEBS": "1",
1684c12f41aSZhengjun Xing        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
169f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
170f9900dd0SZhengjun Xing        "UMask": "0x80",
171f9900dd0SZhengjun Xing        "Unit": "cpu_core"
172f9900dd0SZhengjun Xing    },
173f9900dd0SZhengjun Xing    {
1744c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.",
1754c12f41aSZhengjun Xing        "EventCode": "0xc4",
1764c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT_CALL",
1774c12f41aSZhengjun Xing        "PEBS": "1",
1784c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1794c12f41aSZhengjun Xing        "UMask": "0xfb",
1804c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1814c12f41aSZhengjun Xing    },
1824c12f41aSZhengjun Xing    {
1834c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.INDIRECT_CALL",
1844c12f41aSZhengjun Xing        "Deprecated": "1",
1854c12f41aSZhengjun Xing        "EventCode": "0xc4",
1864c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.IND_CALL",
1874c12f41aSZhengjun Xing        "PEBS": "1",
1884c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1894c12f41aSZhengjun Xing        "UMask": "0xfb",
1904c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1914c12f41aSZhengjun Xing    },
1924c12f41aSZhengjun Xing    {
1934c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.COND",
1944c12f41aSZhengjun Xing        "Deprecated": "1",
1954c12f41aSZhengjun Xing        "EventCode": "0xc4",
1964c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.JCC",
1974c12f41aSZhengjun Xing        "PEBS": "1",
1984c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1994c12f41aSZhengjun Xing        "UMask": "0x7e",
2004c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2014c12f41aSZhengjun Xing    },
2024c12f41aSZhengjun Xing    {
2034c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near CALL branch instructions retired.",
204f9900dd0SZhengjun Xing        "EventCode": "0xc4",
205f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_CALL",
206f9900dd0SZhengjun Xing        "PEBS": "1",
2074c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2084c12f41aSZhengjun Xing        "UMask": "0xf9",
2094c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2104c12f41aSZhengjun Xing    },
2114c12f41aSZhengjun Xing    {
2124c12f41aSZhengjun Xing        "BriefDescription": "Direct and indirect near call instructions retired.",
2134c12f41aSZhengjun Xing        "EventCode": "0xc4",
2144c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_CALL",
2154c12f41aSZhengjun Xing        "PEBS": "1",
2164c12f41aSZhengjun Xing        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
217f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
218f9900dd0SZhengjun Xing        "UMask": "0x2",
219f9900dd0SZhengjun Xing        "Unit": "cpu_core"
220f9900dd0SZhengjun Xing    },
221f9900dd0SZhengjun Xing    {
2224c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near RET branch instructions retired.",
223f9900dd0SZhengjun Xing        "EventCode": "0xc4",
224f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
225f9900dd0SZhengjun Xing        "PEBS": "1",
2264c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2274c12f41aSZhengjun Xing        "UMask": "0xf7",
2284c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2294c12f41aSZhengjun Xing    },
2304c12f41aSZhengjun Xing    {
2314c12f41aSZhengjun Xing        "BriefDescription": "Return instructions retired.",
2324c12f41aSZhengjun Xing        "EventCode": "0xc4",
2334c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
2344c12f41aSZhengjun Xing        "PEBS": "1",
2354c12f41aSZhengjun Xing        "PublicDescription": "Counts return instructions retired.",
236f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
237f9900dd0SZhengjun Xing        "UMask": "0x8",
238f9900dd0SZhengjun Xing        "Unit": "cpu_core"
239f9900dd0SZhengjun Xing    },
240f9900dd0SZhengjun Xing    {
241f9900dd0SZhengjun Xing        "BriefDescription": "Taken branch instructions retired.",
242f9900dd0SZhengjun Xing        "EventCode": "0xc4",
243f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
244f9900dd0SZhengjun Xing        "PEBS": "1",
2454c12f41aSZhengjun Xing        "PublicDescription": "Counts taken branch instructions retired.",
246f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
247f9900dd0SZhengjun Xing        "UMask": "0x20",
248f9900dd0SZhengjun Xing        "Unit": "cpu_core"
249f9900dd0SZhengjun Xing    },
250f9900dd0SZhengjun Xing    {
2514c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.INDIRECT",
2524c12f41aSZhengjun Xing        "Deprecated": "1",
2534c12f41aSZhengjun Xing        "EventCode": "0xc4",
2544c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NON_RETURN_IND",
2554c12f41aSZhengjun Xing        "PEBS": "1",
2564c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2574c12f41aSZhengjun Xing        "UMask": "0xeb",
2584c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2594c12f41aSZhengjun Xing    },
2604c12f41aSZhengjun Xing    {
2614c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near relative CALL branch instructions retired.",
2624c12f41aSZhengjun Xing        "EventCode": "0xc4",
2634c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.REL_CALL",
2644c12f41aSZhengjun Xing        "PEBS": "1",
2654c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2664c12f41aSZhengjun Xing        "UMask": "0xfd",
2674c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2684c12f41aSZhengjun Xing    },
2694c12f41aSZhengjun Xing    {
2704c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.NEAR_RETURN",
2714c12f41aSZhengjun Xing        "Deprecated": "1",
2724c12f41aSZhengjun Xing        "EventCode": "0xc4",
2734c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.RETURN",
2744c12f41aSZhengjun Xing        "PEBS": "1",
2754c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2764c12f41aSZhengjun Xing        "UMask": "0xf7",
2774c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2784c12f41aSZhengjun Xing    },
2794c12f41aSZhengjun Xing    {
2804c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.COND_TAKEN",
2814c12f41aSZhengjun Xing        "Deprecated": "1",
2824c12f41aSZhengjun Xing        "EventCode": "0xc4",
2834c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.TAKEN_JCC",
2844c12f41aSZhengjun Xing        "PEBS": "1",
2854c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2864c12f41aSZhengjun Xing        "UMask": "0xfe",
2874c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2884c12f41aSZhengjun Xing    },
2894c12f41aSZhengjun Xing    {
2904c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of mispredicted branch instructions retired for all branch types.",
291f9900dd0SZhengjun Xing        "EventCode": "0xc5",
292f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
293f9900dd0SZhengjun Xing        "PEBS": "1",
2944c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of mispredicted branch instructions retired.  All branch type instructions are accounted for.  Prediction of the branch target address enables the processor to begin executing instructions before the non-speculative execution path is known. The branch prediction unit (BPU) predicts the target address based on the instruction pointer (IP) of the branch and on the execution path through which execution reached this IP.    A branch misprediction occurs when the prediction is wrong, and results in discarding all instructions executed in the speculative path and re-fetching from the correct path.",
2954c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2974c12f41aSZhengjun Xing    },
2984c12f41aSZhengjun Xing    {
2994c12f41aSZhengjun Xing        "BriefDescription": "All mispredicted branch instructions retired.",
3004c12f41aSZhengjun Xing        "EventCode": "0xc5",
3014c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
3024c12f41aSZhengjun Xing        "PEBS": "1",
3034c12f41aSZhengjun Xing        "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.",
304f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
305f9900dd0SZhengjun Xing        "Unit": "cpu_core"
306f9900dd0SZhengjun Xing    },
307f9900dd0SZhengjun Xing    {
3084c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted JCC (Jump on Conditional Code) branch instructions retired.",
309f9900dd0SZhengjun Xing        "EventCode": "0xc5",
310f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND",
311f9900dd0SZhengjun Xing        "PEBS": "1",
3124c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3134c12f41aSZhengjun Xing        "UMask": "0x7e",
3144c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3154c12f41aSZhengjun Xing    },
3164c12f41aSZhengjun Xing    {
3174c12f41aSZhengjun Xing        "BriefDescription": "Mispredicted conditional branch instructions retired.",
3184c12f41aSZhengjun Xing        "EventCode": "0xc5",
3194c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND",
3204c12f41aSZhengjun Xing        "PEBS": "1",
3214c12f41aSZhengjun Xing        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
322f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
323f9900dd0SZhengjun Xing        "UMask": "0x11",
324f9900dd0SZhengjun Xing        "Unit": "cpu_core"
325f9900dd0SZhengjun Xing    },
326f9900dd0SZhengjun Xing    {
327f9900dd0SZhengjun Xing        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
328f9900dd0SZhengjun Xing        "EventCode": "0xc5",
329f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_NTAKEN",
330f9900dd0SZhengjun Xing        "PEBS": "1",
3314c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
332f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
333f9900dd0SZhengjun Xing        "UMask": "0x10",
334f9900dd0SZhengjun Xing        "Unit": "cpu_core"
335f9900dd0SZhengjun Xing    },
336f9900dd0SZhengjun Xing    {
3374c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted taken JCC (Jump on Conditional Code) branch instructions retired.",
338f9900dd0SZhengjun Xing        "EventCode": "0xc5",
339f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
340f9900dd0SZhengjun Xing        "PEBS": "1",
3414c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3424c12f41aSZhengjun Xing        "UMask": "0xfe",
3434c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3444c12f41aSZhengjun Xing    },
3454c12f41aSZhengjun Xing    {
3464c12f41aSZhengjun Xing        "BriefDescription": "number of branch instructions retired that were mispredicted and taken.",
3474c12f41aSZhengjun Xing        "EventCode": "0xc5",
3484c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
3494c12f41aSZhengjun Xing        "PEBS": "1",
3504c12f41aSZhengjun Xing        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
351f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
352f9900dd0SZhengjun Xing        "UMask": "0x1",
353f9900dd0SZhengjun Xing        "Unit": "cpu_core"
354f9900dd0SZhengjun Xing    },
355f9900dd0SZhengjun Xing    {
3564c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near indirect JMP and near indirect CALL branch instructions retired.",
3574c12f41aSZhengjun Xing        "EventCode": "0xc5",
3584c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT",
3594c12f41aSZhengjun Xing        "PEBS": "1",
3604c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3614c12f41aSZhengjun Xing        "UMask": "0xeb",
3624c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3634c12f41aSZhengjun Xing    },
3644c12f41aSZhengjun Xing    {
3654c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired.",
366f9900dd0SZhengjun Xing        "EventCode": "0xc5",
367f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
368f9900dd0SZhengjun Xing        "PEBS": "1",
3694c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3704c12f41aSZhengjun Xing        "UMask": "0xfb",
3714c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3724c12f41aSZhengjun Xing    },
3734c12f41aSZhengjun Xing    {
3744c12f41aSZhengjun Xing        "BriefDescription": "Mispredicted indirect CALL retired.",
3754c12f41aSZhengjun Xing        "EventCode": "0xc5",
3764c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
3774c12f41aSZhengjun Xing        "PEBS": "1",
3784c12f41aSZhengjun Xing        "PublicDescription": "Counts retired mispredicted indirect (near taken) CALL instructions, including both register and memory indirect.",
379f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
380f9900dd0SZhengjun Xing        "UMask": "0x2",
381f9900dd0SZhengjun Xing        "Unit": "cpu_core"
382f9900dd0SZhengjun Xing    },
383f9900dd0SZhengjun Xing    {
3844c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT_CALL",
3854c12f41aSZhengjun Xing        "Deprecated": "1",
3864c12f41aSZhengjun Xing        "EventCode": "0xc5",
3874c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.IND_CALL",
3884c12f41aSZhengjun Xing        "PEBS": "1",
3894c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3904c12f41aSZhengjun Xing        "UMask": "0xfb",
3914c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3924c12f41aSZhengjun Xing    },
3934c12f41aSZhengjun Xing    {
3944c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND",
3954c12f41aSZhengjun Xing        "Deprecated": "1",
3964c12f41aSZhengjun Xing        "EventCode": "0xc5",
3974c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.JCC",
3984c12f41aSZhengjun Xing        "PEBS": "1",
3994c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4004c12f41aSZhengjun Xing        "UMask": "0x7e",
4014c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4024c12f41aSZhengjun Xing    },
4034c12f41aSZhengjun Xing    {
404f9900dd0SZhengjun Xing        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
405f9900dd0SZhengjun Xing        "EventCode": "0xc5",
406f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
407f9900dd0SZhengjun Xing        "PEBS": "1",
4084c12f41aSZhengjun Xing        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
409f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
410f9900dd0SZhengjun Xing        "UMask": "0x20",
411f9900dd0SZhengjun Xing        "Unit": "cpu_core"
412f9900dd0SZhengjun Xing    },
413f9900dd0SZhengjun Xing    {
4144c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT",
4154c12f41aSZhengjun Xing        "Deprecated": "1",
4164c12f41aSZhengjun Xing        "EventCode": "0xc5",
4174c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
4184c12f41aSZhengjun Xing        "PEBS": "1",
4194c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4204c12f41aSZhengjun Xing        "UMask": "0xeb",
4214c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4224c12f41aSZhengjun Xing    },
4234c12f41aSZhengjun Xing    {
424f9900dd0SZhengjun Xing        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
425f9900dd0SZhengjun Xing        "EventCode": "0xc5",
426f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.RET",
427f9900dd0SZhengjun Xing        "PEBS": "1",
4284c12f41aSZhengjun Xing        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
429f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
430f9900dd0SZhengjun Xing        "UMask": "0x8",
431f9900dd0SZhengjun Xing        "Unit": "cpu_core"
432f9900dd0SZhengjun Xing    },
433f9900dd0SZhengjun Xing    {
4344c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired.",
4354c12f41aSZhengjun Xing        "EventCode": "0xc5",
4364c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.RETURN",
4374c12f41aSZhengjun Xing        "PEBS": "1",
4384c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4394c12f41aSZhengjun Xing        "UMask": "0xf7",
4404c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4414c12f41aSZhengjun Xing    },
4424c12f41aSZhengjun Xing    {
4434c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND_TAKEN",
4444c12f41aSZhengjun Xing        "Deprecated": "1",
4454c12f41aSZhengjun Xing        "EventCode": "0xc5",
4464c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.TAKEN_JCC",
4474c12f41aSZhengjun Xing        "PEBS": "1",
4484c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4494c12f41aSZhengjun Xing        "UMask": "0xfe",
4504c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4514c12f41aSZhengjun Xing    },
4524c12f41aSZhengjun Xing    {
4535fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 light-weight slower wakeup time but more power saving optimized state.",
4545fa2481cSZhengjun Xing        "EventCode": "0xec",
4555fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C01",
4564c12f41aSZhengjun Xing        "PublicDescription": "Counts core clocks when the thread is in the C0.1 light-weight slower wakeup time but more power saving optimized state.  This state can be entered via the TPAUSE or UMWAIT instructions.",
4575fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4585fa2481cSZhengjun Xing        "UMask": "0x10",
4595fa2481cSZhengjun Xing        "Unit": "cpu_core"
4605fa2481cSZhengjun Xing    },
4615fa2481cSZhengjun Xing    {
4625fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.2 light-weight faster wakeup time but less power saving optimized state.",
4635fa2481cSZhengjun Xing        "EventCode": "0xec",
4645fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C02",
4654c12f41aSZhengjun Xing        "PublicDescription": "Counts core clocks when the thread is in the C0.2 light-weight faster wakeup time but less power saving optimized state.  This state can be entered via the TPAUSE or UMWAIT instructions.",
4665fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4675fa2481cSZhengjun Xing        "UMask": "0x20",
4685fa2481cSZhengjun Xing        "Unit": "cpu_core"
4695fa2481cSZhengjun Xing    },
4705fa2481cSZhengjun Xing    {
4715fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 or C0.2 or running a PAUSE in C0 ACPI state.",
4725fa2481cSZhengjun Xing        "EventCode": "0xec",
4735fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C0_WAIT",
4744c12f41aSZhengjun Xing        "PublicDescription": "Counts core clocks when the thread is in the C0.1 or C0.2 power saving optimized states (TPAUSE or UMWAIT instructions) or running the PAUSE instruction.",
4755fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4765fa2481cSZhengjun Xing        "UMask": "0x70",
4775fa2481cSZhengjun Xing        "Unit": "cpu_core"
4785fa2481cSZhengjun Xing    },
4795fa2481cSZhengjun Xing    {
4804c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
4814c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE",
4824c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of core cycles while the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time. This event uses fixed counter 1.",
4834c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
4844c12f41aSZhengjun Xing        "UMask": "0x2",
4854c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4864c12f41aSZhengjun Xing    },
4874c12f41aSZhengjun Xing    {
4884c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
4894c12f41aSZhengjun Xing        "EventCode": "0x3c",
4904c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE_P",
4914c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of core cycles while the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time. This event uses a programmable general purpose performance counter.",
4924c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
4934c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4944c12f41aSZhengjun Xing    },
4954c12f41aSZhengjun Xing    {
496f9900dd0SZhengjun Xing        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
497f9900dd0SZhengjun Xing        "EventCode": "0xec",
498f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
4994c12f41aSZhengjun Xing        "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.",
500f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
501f9900dd0SZhengjun Xing        "UMask": "0x2",
502f9900dd0SZhengjun Xing        "Unit": "cpu_core"
503f9900dd0SZhengjun Xing    },
504f9900dd0SZhengjun Xing    {
505f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
506f9900dd0SZhengjun Xing        "EventCode": "0x3c",
507f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
5084c12f41aSZhengjun Xing        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
509f9900dd0SZhengjun Xing        "SampleAfterValue": "25003",
510f9900dd0SZhengjun Xing        "UMask": "0x2",
511f9900dd0SZhengjun Xing        "Unit": "cpu_core"
512f9900dd0SZhengjun Xing    },
513f9900dd0SZhengjun Xing    {
5145fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE",
515f9900dd0SZhengjun Xing        "EventCode": "0xec",
516f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE",
517f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
518f9900dd0SZhengjun Xing        "UMask": "0x40",
519f9900dd0SZhengjun Xing        "Unit": "cpu_core"
520f9900dd0SZhengjun Xing    },
521f9900dd0SZhengjun Xing    {
5225fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE_INST",
523f9900dd0SZhengjun Xing        "CounterMask": "1",
524f9900dd0SZhengjun Xing        "EdgeDetect": "1",
525f9900dd0SZhengjun Xing        "EventCode": "0xec",
526f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE_INST",
527f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
528f9900dd0SZhengjun Xing        "UMask": "0x40",
529f9900dd0SZhengjun Xing        "Unit": "cpu_core"
530f9900dd0SZhengjun Xing    },
531f9900dd0SZhengjun Xing    {
532f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
533f9900dd0SZhengjun Xing        "EventCode": "0x3c",
534f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
5354c12f41aSZhengjun Xing        "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.",
536f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
537f9900dd0SZhengjun Xing        "UMask": "0x8",
538f9900dd0SZhengjun Xing        "Unit": "cpu_core"
539f9900dd0SZhengjun Xing    },
540f9900dd0SZhengjun Xing    {
5414c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency. (Fixed event)",
542f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5434c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of reference cycles that the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. This event is not affected by core frequency changes and increments at a fixed frequency that is also used for the Time Stamp Counter (TSC). This event uses fixed counter 2.",
544f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5454c12f41aSZhengjun Xing        "UMask": "0x3",
5464c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5474c12f41aSZhengjun Xing    },
5484c12f41aSZhengjun Xing    {
5494c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5504c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5514c12f41aSZhengjun Xing        "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. 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.",
5524c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
553f9900dd0SZhengjun Xing        "UMask": "0x3",
554f9900dd0SZhengjun Xing        "Unit": "cpu_core"
555f9900dd0SZhengjun Xing    },
556f9900dd0SZhengjun Xing    {
5574c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency.",
558a95ab294SIan Rogers        "EventCode": "0x3c",
559a95ab294SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5604c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of reference cycles that the core is not in a halt state. The core enters the halt state when it is running the HLT instruction. This event is not affected by core frequency changes and increments at a fixed frequency that is also used for the Time Stamp Counter (TSC). This event uses a programmable general purpose performance counter.",
561a95ab294SIan Rogers        "SampleAfterValue": "2000003",
5624c12f41aSZhengjun Xing        "UMask": "0x1",
5634c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5644c12f41aSZhengjun Xing    },
5654c12f41aSZhengjun Xing    {
5664c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5674c12f41aSZhengjun Xing        "EventCode": "0x3c",
5684c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5694c12f41aSZhengjun Xing        "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. 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.",
5704c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
571a95ab294SIan Rogers        "UMask": "0x1",
572a95ab294SIan Rogers        "Unit": "cpu_core"
573a95ab294SIan Rogers    },
574a95ab294SIan Rogers    {
5754c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
576f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5774c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of core cycles while the core is not in a halt state.  The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time.  This event uses fixed counter 1.",
578f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5794c12f41aSZhengjun Xing        "UMask": "0x2",
5804c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5814c12f41aSZhengjun Xing    },
5824c12f41aSZhengjun Xing    {
5834c12f41aSZhengjun Xing        "BriefDescription": "Core cycles when the thread is not in halt state",
5844c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5854c12f41aSZhengjun Xing        "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.",
5864c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
587f9900dd0SZhengjun Xing        "UMask": "0x2",
588f9900dd0SZhengjun Xing        "Unit": "cpu_core"
589f9900dd0SZhengjun Xing    },
590f9900dd0SZhengjun Xing    {
5914c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
592f9900dd0SZhengjun Xing        "EventCode": "0x3c",
593f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
5944c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of core cycles while the core is not in a halt state.  The core enters the halt state when it is running the HLT instruction. The core frequency may change from time to time. For this reason this event may have a changing ratio with regards to time. This event uses a programmable general purpose performance counter.",
595f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5974c12f41aSZhengjun Xing    },
5984c12f41aSZhengjun Xing    {
5994c12f41aSZhengjun Xing        "BriefDescription": "Thread cycles when thread is not in halt state",
6004c12f41aSZhengjun Xing        "EventCode": "0x3c",
6014c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
6024c12f41aSZhengjun Xing        "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.",
6034c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
604f9900dd0SZhengjun Xing        "Unit": "cpu_core"
605f9900dd0SZhengjun Xing    },
606f9900dd0SZhengjun Xing    {
607f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
608f9900dd0SZhengjun Xing        "CounterMask": "8",
609f9900dd0SZhengjun Xing        "EventCode": "0xa3",
610f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
611f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
612f9900dd0SZhengjun Xing        "UMask": "0x8",
613f9900dd0SZhengjun Xing        "Unit": "cpu_core"
614f9900dd0SZhengjun Xing    },
615f9900dd0SZhengjun Xing    {
616f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
617f9900dd0SZhengjun Xing        "CounterMask": "1",
618f9900dd0SZhengjun Xing        "EventCode": "0xa3",
619f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
620f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
621f9900dd0SZhengjun Xing        "UMask": "0x1",
622f9900dd0SZhengjun Xing        "Unit": "cpu_core"
623f9900dd0SZhengjun Xing    },
624f9900dd0SZhengjun Xing    {
625f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
626f9900dd0SZhengjun Xing        "CounterMask": "16",
627f9900dd0SZhengjun Xing        "EventCode": "0xa3",
628f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
629f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
630f9900dd0SZhengjun Xing        "UMask": "0x10",
631f9900dd0SZhengjun Xing        "Unit": "cpu_core"
632f9900dd0SZhengjun Xing    },
633f9900dd0SZhengjun Xing    {
634f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
635f9900dd0SZhengjun Xing        "CounterMask": "12",
636f9900dd0SZhengjun Xing        "EventCode": "0xa3",
637f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
638f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
639f9900dd0SZhengjun Xing        "UMask": "0xc",
640f9900dd0SZhengjun Xing        "Unit": "cpu_core"
641f9900dd0SZhengjun Xing    },
642f9900dd0SZhengjun Xing    {
643f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
644f9900dd0SZhengjun Xing        "CounterMask": "5",
645f9900dd0SZhengjun Xing        "EventCode": "0xa3",
646f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
647f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
648f9900dd0SZhengjun Xing        "UMask": "0x5",
649f9900dd0SZhengjun Xing        "Unit": "cpu_core"
650f9900dd0SZhengjun Xing    },
651f9900dd0SZhengjun Xing    {
652f9900dd0SZhengjun Xing        "BriefDescription": "Total execution stalls.",
653f9900dd0SZhengjun Xing        "CounterMask": "4",
654f9900dd0SZhengjun Xing        "EventCode": "0xa3",
655f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
656f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
657f9900dd0SZhengjun Xing        "UMask": "0x4",
658f9900dd0SZhengjun Xing        "Unit": "cpu_core"
659f9900dd0SZhengjun Xing    },
660f9900dd0SZhengjun Xing    {
661f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
662f9900dd0SZhengjun Xing        "EventCode": "0xa6",
663f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
6644c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
665f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
666f9900dd0SZhengjun Xing        "UMask": "0x2",
667f9900dd0SZhengjun Xing        "Unit": "cpu_core"
668f9900dd0SZhengjun Xing    },
669f9900dd0SZhengjun Xing    {
670f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
671f9900dd0SZhengjun Xing        "EventCode": "0xa6",
672f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
6734c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
674f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
675f9900dd0SZhengjun Xing        "UMask": "0x4",
676f9900dd0SZhengjun Xing        "Unit": "cpu_core"
677f9900dd0SZhengjun Xing    },
678f9900dd0SZhengjun Xing    {
679f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
680f9900dd0SZhengjun Xing        "EventCode": "0xa6",
681f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
6824c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
683f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
684f9900dd0SZhengjun Xing        "UMask": "0x8",
685f9900dd0SZhengjun Xing        "Unit": "cpu_core"
686f9900dd0SZhengjun Xing    },
687f9900dd0SZhengjun Xing    {
688f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
689f9900dd0SZhengjun Xing        "EventCode": "0xa6",
690f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
6914c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
692f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
693f9900dd0SZhengjun Xing        "UMask": "0x10",
694f9900dd0SZhengjun Xing        "Unit": "cpu_core"
695f9900dd0SZhengjun Xing    },
696f9900dd0SZhengjun Xing    {
697f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
698f9900dd0SZhengjun Xing        "CounterMask": "5",
699f9900dd0SZhengjun Xing        "EventCode": "0xa6",
700f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_LOADS",
701f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
702f9900dd0SZhengjun Xing        "UMask": "0x21",
703f9900dd0SZhengjun Xing        "Unit": "cpu_core"
704f9900dd0SZhengjun Xing    },
705f9900dd0SZhengjun Xing    {
706f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
707f9900dd0SZhengjun Xing        "CounterMask": "2",
708f9900dd0SZhengjun Xing        "EventCode": "0xa6",
709f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
7104c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
711f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
712f9900dd0SZhengjun Xing        "UMask": "0x40",
713f9900dd0SZhengjun Xing        "Unit": "cpu_core"
714f9900dd0SZhengjun Xing    },
715f9900dd0SZhengjun Xing    {
7165fa2481cSZhengjun Xing        "BriefDescription": "Cycles no uop executed while RS was not empty, the SB was not full and there was no outstanding load.",
7175fa2481cSZhengjun Xing        "EventCode": "0xa6",
7185fa2481cSZhengjun Xing        "EventName": "EXE_ACTIVITY.EXE_BOUND_0_PORTS",
7194c12f41aSZhengjun Xing        "PublicDescription": "Number of cycles total of 0 uops executed on all ports, Reservation Station (RS) was not empty, the Store Buffer (SB) was not full and there was no outstanding load.",
7205fa2481cSZhengjun Xing        "SampleAfterValue": "1000003",
7215fa2481cSZhengjun Xing        "UMask": "0x80",
7225fa2481cSZhengjun Xing        "Unit": "cpu_core"
7235fa2481cSZhengjun Xing    },
7245fa2481cSZhengjun Xing    {
725f9900dd0SZhengjun Xing        "BriefDescription": "Instruction decoders utilized in a cycle",
726f9900dd0SZhengjun Xing        "EventCode": "0x75",
727f9900dd0SZhengjun Xing        "EventName": "INST_DECODED.DECODERS",
7284c12f41aSZhengjun Xing        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
729f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
730f9900dd0SZhengjun Xing        "UMask": "0x1",
731f9900dd0SZhengjun Xing        "Unit": "cpu_core"
732f9900dd0SZhengjun Xing    },
733f9900dd0SZhengjun Xing    {
7344c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired. (Fixed event)",
7354c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY",
7364c12f41aSZhengjun Xing        "PEBS": "1",
7374c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of instructions that retired. For instructions that consist of multiple uops, this event counts the retirement of the last uop of the instruction. This event continues counting during hardware interrupts, traps, and inside interrupt handlers. This event uses fixed counter 0.",
7384c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7394c12f41aSZhengjun Xing        "UMask": "0x1",
7404c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7414c12f41aSZhengjun Xing    },
7424c12f41aSZhengjun Xing    {
743f9900dd0SZhengjun Xing        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
744f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY",
745f9900dd0SZhengjun Xing        "PEBS": "1",
7464c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of X86 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.",
747f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
748f9900dd0SZhengjun Xing        "UMask": "0x1",
749f9900dd0SZhengjun Xing        "Unit": "cpu_core"
750f9900dd0SZhengjun Xing    },
751f9900dd0SZhengjun Xing    {
7524c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired.",
753f9900dd0SZhengjun Xing        "EventCode": "0xc0",
754f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
755f9900dd0SZhengjun Xing        "PEBS": "1",
7564c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of instructions that retired. For instructions that consist of multiple uops, this event counts the retirement of the last uop of the instruction. This event continues counting during hardware interrupts, traps, and inside interrupt handlers. This event uses a programmable general purpose performance counter.",
7574c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7584c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7594c12f41aSZhengjun Xing    },
7604c12f41aSZhengjun Xing    {
7614c12f41aSZhengjun Xing        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
7624c12f41aSZhengjun Xing        "EventCode": "0xc0",
7634c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
7644c12f41aSZhengjun Xing        "PEBS": "1",
7654c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of X86 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.",
766f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
767f9900dd0SZhengjun Xing        "Unit": "cpu_core"
768f9900dd0SZhengjun Xing    },
769f9900dd0SZhengjun Xing    {
7705fa2481cSZhengjun Xing        "BriefDescription": "INST_RETIRED.MACRO_FUSED",
771f9900dd0SZhengjun Xing        "EventCode": "0xc0",
772f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.MACRO_FUSED",
773f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
774f9900dd0SZhengjun Xing        "UMask": "0x10",
775f9900dd0SZhengjun Xing        "Unit": "cpu_core"
776f9900dd0SZhengjun Xing    },
777f9900dd0SZhengjun Xing    {
778a95ab294SIan Rogers        "BriefDescription": "Retired NOP instructions.",
779f9900dd0SZhengjun Xing        "EventCode": "0xc0",
780f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.NOP",
7814c12f41aSZhengjun Xing        "PublicDescription": "Counts all retired NOP or ENDBR32/64 instructions",
782f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
783f9900dd0SZhengjun Xing        "UMask": "0x2",
784f9900dd0SZhengjun Xing        "Unit": "cpu_core"
785f9900dd0SZhengjun Xing    },
786f9900dd0SZhengjun Xing    {
787f9900dd0SZhengjun Xing        "BriefDescription": "Precise instruction retired with PEBS precise-distribution",
788f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.PREC_DIST",
789f9900dd0SZhengjun Xing        "PEBS": "1",
7904c12f41aSZhengjun Xing        "PublicDescription": "A version of INST_RETIRED that allows for a precise distribution of samples across instructions retired. It utilizes the Precise Distribution of Instructions Retired (PDIR++) feature to fix bias in how retired instructions get sampled. Use on Fixed Counter 0.",
791f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
792f9900dd0SZhengjun Xing        "UMask": "0x1",
793f9900dd0SZhengjun Xing        "Unit": "cpu_core"
794f9900dd0SZhengjun Xing    },
795f9900dd0SZhengjun Xing    {
796*ad10c920SIan Rogers        "BriefDescription": "Iterations of Repeat string retired instructions.",
797f9900dd0SZhengjun Xing        "EventCode": "0xc0",
798f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.REP_ITERATION",
799*ad10c920SIan Rogers        "PublicDescription": "Number of iterations of Repeat (REP) string retired instructions such as MOVS, CMPS, and SCAS. Each has a byte, word, and doubleword version and string instructions can be repeated using a repetition prefix, REP, that allows their architectural execution to be repeated a number of times as specified by the RCX register. Note the number of iterations is implementation-dependent.",
800f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
801f9900dd0SZhengjun Xing        "UMask": "0x8",
802f9900dd0SZhengjun Xing        "Unit": "cpu_core"
803f9900dd0SZhengjun Xing    },
804f9900dd0SZhengjun Xing    {
805*ad10c920SIan Rogers        "BriefDescription": "Clears speculative count",
806*ad10c920SIan Rogers        "CounterMask": "1",
807*ad10c920SIan Rogers        "EdgeDetect": "1",
808*ad10c920SIan Rogers        "EventCode": "0xad",
809*ad10c920SIan Rogers        "EventName": "INT_MISC.CLEARS_COUNT",
810*ad10c920SIan Rogers        "PublicDescription": "Counts the number of speculative clears due to any type of branch misprediction or machine clears",
811*ad10c920SIan Rogers        "SampleAfterValue": "500009",
812*ad10c920SIan Rogers        "UMask": "0x1",
813*ad10c920SIan Rogers        "Unit": "cpu_core"
814*ad10c920SIan Rogers    },
815*ad10c920SIan Rogers    {
816f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
817f9900dd0SZhengjun Xing        "EventCode": "0xad",
818f9900dd0SZhengjun Xing        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
8194c12f41aSZhengjun Xing        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
820f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
821f9900dd0SZhengjun Xing        "UMask": "0x80",
822f9900dd0SZhengjun Xing        "Unit": "cpu_core"
823f9900dd0SZhengjun Xing    },
824f9900dd0SZhengjun Xing    {
825f9900dd0SZhengjun Xing        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
826f9900dd0SZhengjun Xing        "EventCode": "0xad",
827f9900dd0SZhengjun Xing        "EventName": "INT_MISC.RECOVERY_CYCLES",
8284c12f41aSZhengjun Xing        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
829f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
830f9900dd0SZhengjun Xing        "UMask": "0x1",
831f9900dd0SZhengjun Xing        "Unit": "cpu_core"
832f9900dd0SZhengjun Xing    },
833f9900dd0SZhengjun Xing    {
8345fa2481cSZhengjun Xing        "BriefDescription": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
835f9900dd0SZhengjun Xing        "EventCode": "0xad",
836f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
837f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
838f9900dd0SZhengjun Xing        "MSRValue": "0x7",
839f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
840f9900dd0SZhengjun Xing        "UMask": "0x40",
841f9900dd0SZhengjun Xing        "Unit": "cpu_core"
842f9900dd0SZhengjun Xing    },
843f9900dd0SZhengjun Xing    {
844f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where uops got dropped",
845f9900dd0SZhengjun Xing        "EventCode": "0xad",
846f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UOP_DROPPING",
8474c12f41aSZhengjun Xing        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
848f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
849f9900dd0SZhengjun Xing        "UMask": "0x10",
850f9900dd0SZhengjun Xing        "Unit": "cpu_core"
851f9900dd0SZhengjun Xing    },
852f9900dd0SZhengjun Xing    {
8535fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.128BIT",
854f9900dd0SZhengjun Xing        "EventCode": "0xe7",
855f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.128BIT",
856f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
857f9900dd0SZhengjun Xing        "UMask": "0x13",
858f9900dd0SZhengjun Xing        "Unit": "cpu_core"
859f9900dd0SZhengjun Xing    },
860f9900dd0SZhengjun Xing    {
8615fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.256BIT",
862f9900dd0SZhengjun Xing        "EventCode": "0xe7",
863f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.256BIT",
864f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
865f9900dd0SZhengjun Xing        "UMask": "0xac",
866f9900dd0SZhengjun Xing        "Unit": "cpu_core"
867f9900dd0SZhengjun Xing    },
868f9900dd0SZhengjun Xing    {
869f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 128-bit vector instructions.",
870f9900dd0SZhengjun Xing        "EventCode": "0xe7",
871f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_128",
8724c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 128-bit vector instructions.",
873f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
874f9900dd0SZhengjun Xing        "UMask": "0x3",
875f9900dd0SZhengjun Xing        "Unit": "cpu_core"
876f9900dd0SZhengjun Xing    },
877f9900dd0SZhengjun Xing    {
878f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 256-bit vector instructions.",
879f9900dd0SZhengjun Xing        "EventCode": "0xe7",
880f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_256",
8814c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 256-bit vector instructions.",
882f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
883f9900dd0SZhengjun Xing        "UMask": "0xc",
884f9900dd0SZhengjun Xing        "Unit": "cpu_core"
885f9900dd0SZhengjun Xing    },
886f9900dd0SZhengjun Xing    {
8875fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.MUL_256",
888f9900dd0SZhengjun Xing        "EventCode": "0xe7",
889f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.MUL_256",
890f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
891f9900dd0SZhengjun Xing        "UMask": "0x80",
892f9900dd0SZhengjun Xing        "Unit": "cpu_core"
893f9900dd0SZhengjun Xing    },
894f9900dd0SZhengjun Xing    {
8955fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.SHUFFLES",
896f9900dd0SZhengjun Xing        "EventCode": "0xe7",
897f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.SHUFFLES",
898f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
899f9900dd0SZhengjun Xing        "UMask": "0x40",
900f9900dd0SZhengjun Xing        "Unit": "cpu_core"
901f9900dd0SZhengjun Xing    },
902f9900dd0SZhengjun Xing    {
9035fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_128",
904f9900dd0SZhengjun Xing        "EventCode": "0xe7",
905f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_128",
906f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
907f9900dd0SZhengjun Xing        "UMask": "0x10",
908f9900dd0SZhengjun Xing        "Unit": "cpu_core"
909f9900dd0SZhengjun Xing    },
910f9900dd0SZhengjun Xing    {
9115fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_256",
912f9900dd0SZhengjun Xing        "EventCode": "0xe7",
913f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_256",
914f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
915f9900dd0SZhengjun Xing        "UMask": "0x20",
916f9900dd0SZhengjun Xing        "Unit": "cpu_core"
917f9900dd0SZhengjun Xing    },
918f9900dd0SZhengjun Xing    {
9194c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event LD_BLOCKS.ADDRESS_ALIAS",
9204c12f41aSZhengjun Xing        "Deprecated": "1",
9214c12f41aSZhengjun Xing        "EventCode": "0x03",
9224c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.4K_ALIAS",
9234c12f41aSZhengjun Xing        "PEBS": "1",
9244c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9254c12f41aSZhengjun Xing        "UMask": "0x4",
9264c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9274c12f41aSZhengjun Xing    },
9284c12f41aSZhengjun Xing    {
9294c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of retired loads that are blocked because it initially appears to be store forward blocked, but subsequently is shown not to be blocked based on 4K alias check.",
930f9900dd0SZhengjun Xing        "EventCode": "0x03",
931f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9324c12f41aSZhengjun Xing        "PEBS": "1",
9334c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9344c12f41aSZhengjun Xing        "UMask": "0x4",
9354c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9364c12f41aSZhengjun Xing    },
9374c12f41aSZhengjun Xing    {
9384c12f41aSZhengjun Xing        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
9394c12f41aSZhengjun Xing        "EventCode": "0x03",
9404c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9414c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies in MOB due to partial compare on address.",
942f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
943f9900dd0SZhengjun Xing        "UMask": "0x4",
944f9900dd0SZhengjun Xing        "Unit": "cpu_core"
945f9900dd0SZhengjun Xing    },
946f9900dd0SZhengjun Xing    {
9474c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of retired loads that are blocked because its address exactly matches an older store whose data is not ready.",
9484c12f41aSZhengjun Xing        "EventCode": "0x03",
9494c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.DATA_UNKNOWN",
9504c12f41aSZhengjun Xing        "PEBS": "1",
9514c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9524c12f41aSZhengjun Xing        "UMask": "0x1",
9534c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9544c12f41aSZhengjun Xing    },
9554c12f41aSZhengjun Xing    {
956f9900dd0SZhengjun Xing        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
957f9900dd0SZhengjun Xing        "EventCode": "0x03",
958f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.NO_SR",
9594c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
960f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
961f9900dd0SZhengjun Xing        "UMask": "0x88",
962f9900dd0SZhengjun Xing        "Unit": "cpu_core"
963f9900dd0SZhengjun Xing    },
964f9900dd0SZhengjun Xing    {
965f9900dd0SZhengjun Xing        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
966f9900dd0SZhengjun Xing        "EventCode": "0x03",
967f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.STORE_FORWARD",
9684c12f41aSZhengjun Xing        "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.",
969f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
970f9900dd0SZhengjun Xing        "UMask": "0x82",
971f9900dd0SZhengjun Xing        "Unit": "cpu_core"
972f9900dd0SZhengjun Xing    },
973f9900dd0SZhengjun Xing    {
974f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
975f9900dd0SZhengjun Xing        "EventCode": "0x4c",
976f9900dd0SZhengjun Xing        "EventName": "LOAD_HIT_PREFETCH.SWPF",
9774c12f41aSZhengjun Xing        "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.",
978f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
979f9900dd0SZhengjun Xing        "UMask": "0x1",
980f9900dd0SZhengjun Xing        "Unit": "cpu_core"
981f9900dd0SZhengjun Xing    },
982f9900dd0SZhengjun Xing    {
983f9900dd0SZhengjun Xing        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
984f9900dd0SZhengjun Xing        "CounterMask": "1",
985f9900dd0SZhengjun Xing        "EventCode": "0xa8",
986f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_ACTIVE",
9874c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
988f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
989f9900dd0SZhengjun Xing        "UMask": "0x1",
990f9900dd0SZhengjun Xing        "Unit": "cpu_core"
991f9900dd0SZhengjun Xing    },
992f9900dd0SZhengjun Xing    {
993f9900dd0SZhengjun Xing        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
994f9900dd0SZhengjun Xing        "CounterMask": "6",
995f9900dd0SZhengjun Xing        "EventCode": "0xa8",
996f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_OK",
9974c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
998f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
999f9900dd0SZhengjun Xing        "UMask": "0x1",
1000f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1001f9900dd0SZhengjun Xing    },
1002f9900dd0SZhengjun Xing    {
1003f9900dd0SZhengjun Xing        "BriefDescription": "Number of Uops delivered by the LSD.",
1004f9900dd0SZhengjun Xing        "EventCode": "0xa8",
1005f9900dd0SZhengjun Xing        "EventName": "LSD.UOPS",
10064c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
1007f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1008f9900dd0SZhengjun Xing        "UMask": "0x1",
1009f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1010f9900dd0SZhengjun Xing    },
1011f9900dd0SZhengjun Xing    {
1012f9900dd0SZhengjun Xing        "BriefDescription": "Number of machine clears (nukes) of any type.",
1013f9900dd0SZhengjun Xing        "CounterMask": "1",
1014f9900dd0SZhengjun Xing        "EdgeDetect": "1",
1015f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1016f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.COUNT",
10174c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
1018f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1019f9900dd0SZhengjun Xing        "UMask": "0x1",
1020f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1021f9900dd0SZhengjun Xing    },
1022f9900dd0SZhengjun Xing    {
10234c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears due to memory ordering in which an internal load passes an older store within the same CPU.",
10244c12f41aSZhengjun Xing        "EventCode": "0xc3",
10254c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.DISAMBIGUATION",
10264c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10274c12f41aSZhengjun Xing        "UMask": "0x8",
10284c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10294c12f41aSZhengjun Xing    },
10304c12f41aSZhengjun Xing    {
10314c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machines clears due to memory renaming.",
10324c12f41aSZhengjun Xing        "EventCode": "0xc3",
10334c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.MRN_NUKE",
10344c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
10354c12f41aSZhengjun Xing        "UMask": "0x80",
10364c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10374c12f41aSZhengjun Xing    },
10384c12f41aSZhengjun Xing    {
10394c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears due to a page fault.  Counts both I-Side and D-Side (Loads/Stores) page faults.  A page fault occurs when either the page is not present, or an access violation occurs.",
10404c12f41aSZhengjun Xing        "EventCode": "0xc3",
10414c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.PAGE_FAULT",
10424c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10434c12f41aSZhengjun Xing        "UMask": "0x20",
10444c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10454c12f41aSZhengjun Xing    },
10464c12f41aSZhengjun Xing    {
10474c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears that flush the pipeline and restart the machine with the use of microcode due to SMC, MEMORY_ORDERING, FP_ASSISTS, PAGE_FAULT, DISAMBIGUATION, and FPC_VIRTUAL_TRAP.",
10484c12f41aSZhengjun Xing        "EventCode": "0xc3",
10494c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SLOW",
10504c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10514c12f41aSZhengjun Xing        "UMask": "0x6f",
10524c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10534c12f41aSZhengjun Xing    },
10544c12f41aSZhengjun Xing    {
10554c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears due to program modifying data (self modifying code) within 1K of a recently fetched code page.",
1056f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1057f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10584c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10594c12f41aSZhengjun Xing        "UMask": "0x1",
10604c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10614c12f41aSZhengjun Xing    },
10624c12f41aSZhengjun Xing    {
10634c12f41aSZhengjun Xing        "BriefDescription": "Self-modifying code (SMC) detected.",
10644c12f41aSZhengjun Xing        "EventCode": "0xc3",
10654c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10664c12f41aSZhengjun Xing        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
1067f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1068f9900dd0SZhengjun Xing        "UMask": "0x4",
1069f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1070f9900dd0SZhengjun Xing    },
1071f9900dd0SZhengjun Xing    {
10725fa2481cSZhengjun Xing        "BriefDescription": "MISC2_RETIRED.LFENCE",
1073f9900dd0SZhengjun Xing        "EventCode": "0xe0",
1074f9900dd0SZhengjun Xing        "EventName": "MISC2_RETIRED.LFENCE",
1075f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
1076f9900dd0SZhengjun Xing        "UMask": "0x20",
1077f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1078f9900dd0SZhengjun Xing    },
1079f9900dd0SZhengjun Xing    {
1080f9900dd0SZhengjun Xing        "BriefDescription": "Increments whenever there is an update to the LBR array.",
1081f9900dd0SZhengjun Xing        "EventCode": "0xcc",
1082f9900dd0SZhengjun Xing        "EventName": "MISC_RETIRED.LBR_INSERTS",
10834c12f41aSZhengjun Xing        "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.",
1084f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1085f9900dd0SZhengjun Xing        "UMask": "0x20",
1086f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1087f9900dd0SZhengjun Xing    },
1088f9900dd0SZhengjun Xing    {
1089f9900dd0SZhengjun Xing        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
1090f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1091f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SB",
10924c12f41aSZhengjun Xing        "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.",
1093f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1094f9900dd0SZhengjun Xing        "UMask": "0x8",
1095f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1096f9900dd0SZhengjun Xing    },
1097f9900dd0SZhengjun Xing    {
1098f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
1099f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1100f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SCOREBOARD",
1101f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1102f9900dd0SZhengjun Xing        "UMask": "0x2",
1103f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1104f9900dd0SZhengjun Xing    },
1105f9900dd0SZhengjun Xing    {
11064c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots not consumed by the backend due to a micro-sequencer (MS) scoreboard, which stalls the front-end from issuing from the UROM until a specified older uop retires.",
11074c12f41aSZhengjun Xing        "EventCode": "0x75",
11084c12f41aSZhengjun Xing        "EventName": "SERIALIZATION.NON_C01_MS_SCB",
11094c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of issue slots not consumed by the backend due to a micro-sequencer (MS) scoreboard, which stalls the front-end from issuing from the UROM until a specified older uop retires. The most commonly executed instruction with an MS scoreboard is PAUSE.",
11104c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
11114c12f41aSZhengjun Xing        "UMask": "0x2",
11124c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11134c12f41aSZhengjun Xing    },
11144c12f41aSZhengjun Xing    {
1115f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
1116f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1117f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
11184c12f41aSZhengjun Xing        "PublicDescription": "Number of slots in TMA method where no micro-operations were being issued from front-end to back-end of the machine due to lack of back-end resources.",
1119f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1120f9900dd0SZhengjun Xing        "UMask": "0x2",
1121f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1122f9900dd0SZhengjun Xing    },
1123f9900dd0SZhengjun Xing    {
1124f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculations.",
1125f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1126f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BAD_SPEC_SLOTS",
11274c12f41aSZhengjun Xing        "PublicDescription": "Number of slots of TMA method that were wasted due to incorrect speculation. It covers all types of control-flow or data-related mis-speculations.",
1128f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1129f9900dd0SZhengjun Xing        "UMask": "0x4",
1130f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1131f9900dd0SZhengjun Xing    },
1132f9900dd0SZhengjun Xing    {
1133f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
1134f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1135f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
11364c12f41aSZhengjun Xing        "PublicDescription": "Number of TMA slots that were wasted due to incorrect speculation by (any type of) branch mispredictions. This event estimates number of specualtive operations that were issued but not retired as well as the out-of-order engine recovery past a branch misprediction.",
1137f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1138f9900dd0SZhengjun Xing        "UMask": "0x8",
1139f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1140f9900dd0SZhengjun Xing    },
1141f9900dd0SZhengjun Xing    {
11425fa2481cSZhengjun Xing        "BriefDescription": "TOPDOWN.MEMORY_BOUND_SLOTS",
1143f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1144f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.MEMORY_BOUND_SLOTS",
1145f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1146f9900dd0SZhengjun Xing        "UMask": "0x10",
1147f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1148f9900dd0SZhengjun Xing    },
1149f9900dd0SZhengjun Xing    {
1150f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
1151f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS",
11524c12f41aSZhengjun Xing        "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).",
1153f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1154f9900dd0SZhengjun Xing        "UMask": "0x4",
1155f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1156f9900dd0SZhengjun Xing    },
1157f9900dd0SZhengjun Xing    {
1158f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
1159f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1160f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS_P",
11614c12f41aSZhengjun Xing        "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.",
1162f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1163f9900dd0SZhengjun Xing        "UMask": "0x1",
1164f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1165f9900dd0SZhengjun Xing    },
1166f9900dd0SZhengjun Xing    {
11674c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear.",
11684c12f41aSZhengjun Xing        "EventCode": "0x73",
11694c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.ALL",
11704c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear. Only issue slots wasted due to fast nukes such as memory ordering nukes are counted. Other nukes are not accounted for. Counts all issue slots blocked during this recovery window including relevant microcode flows and while uops are not yet available in the instruction queue (IQ) even if an FE_bound event occurs during this period. Also includes the issue slots that were consumed by the backend but were thrown away because they were younger than the mispredict or machine clear.",
11714c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11724c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11734c12f41aSZhengjun Xing    },
11744c12f41aSZhengjun Xing    {
11754c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to fast nukes such as memory ordering and memory disambiguation machine clears.",
11764c12f41aSZhengjun Xing        "EventCode": "0x73",
11774c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.FASTNUKE",
11784c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11794c12f41aSZhengjun Xing        "UMask": "0x2",
11804c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11814c12f41aSZhengjun Xing    },
11824c12f41aSZhengjun Xing    {
11834c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a machine clear (nuke) of any kind including memory ordering and memory disambiguation.",
11844c12f41aSZhengjun Xing        "EventCode": "0x73",
11854c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MACHINE_CLEARS",
11864c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11874c12f41aSZhengjun Xing        "UMask": "0x3",
11884c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11894c12f41aSZhengjun Xing    },
11904c12f41aSZhengjun Xing    {
11914c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to branch mispredicts.",
11924c12f41aSZhengjun Xing        "EventCode": "0x73",
11934c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MISPREDICT",
11944c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11954c12f41aSZhengjun Xing        "UMask": "0x4",
11964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11974c12f41aSZhengjun Xing    },
11984c12f41aSZhengjun Xing    {
11994c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to a machine clear (nuke).",
12004c12f41aSZhengjun Xing        "EventCode": "0x73",
12014c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.NUKE",
12024c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12034c12f41aSZhengjun Xing        "UMask": "0x1",
12044c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12054c12f41aSZhengjun Xing    },
12064c12f41aSZhengjun Xing    {
12074c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to backend stalls.",
12084c12f41aSZhengjun Xing        "EventCode": "0x74",
12094c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALL",
12104c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12114c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12124c12f41aSZhengjun Xing    },
12134c12f41aSZhengjun Xing    {
12144c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to certain allocation restrictions.",
12154c12f41aSZhengjun Xing        "EventCode": "0x74",
12164c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALLOC_RESTRICTIONS",
12174c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12184c12f41aSZhengjun Xing        "UMask": "0x1",
12194c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12204c12f41aSZhengjun Xing    },
12214c12f41aSZhengjun Xing    {
12224c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to memory reservation stalls in which a scheduler is not able to accept uops.",
12234c12f41aSZhengjun Xing        "EventCode": "0x74",
12244c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.MEM_SCHEDULER",
12254c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12264c12f41aSZhengjun Xing        "UMask": "0x2",
12274c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12284c12f41aSZhengjun Xing    },
12294c12f41aSZhengjun Xing    {
12304c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to IEC or FPC RAT stalls, which can be due to FIQ or IEC reservation stalls in which the integer, floating point or SIMD scheduler is not able to accept uops.",
12314c12f41aSZhengjun Xing        "EventCode": "0x74",
12324c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.NON_MEM_SCHEDULER",
12334c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12344c12f41aSZhengjun Xing        "UMask": "0x8",
12354c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12364c12f41aSZhengjun Xing    },
12374c12f41aSZhengjun Xing    {
12384c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to the physical register file unable to accept an entry (marble stalls).",
12394c12f41aSZhengjun Xing        "EventCode": "0x74",
12404c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REGISTER",
12414c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12424c12f41aSZhengjun Xing        "UMask": "0x20",
12434c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12444c12f41aSZhengjun Xing    },
12454c12f41aSZhengjun Xing    {
12464c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to the reorder buffer being full (ROB stalls).",
12474c12f41aSZhengjun Xing        "EventCode": "0x74",
12484c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REORDER_BUFFER",
12494c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12504c12f41aSZhengjun Xing        "UMask": "0x40",
12514c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12524c12f41aSZhengjun Xing    },
12534c12f41aSZhengjun Xing    {
12544c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to scoreboards from the instruction queue (IQ), jump execution unit (JEU), or microcode sequencer (MS).",
12554c12f41aSZhengjun Xing        "EventCode": "0x74",
12564c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.SERIALIZATION",
12574c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12584c12f41aSZhengjun Xing        "UMask": "0x10",
12594c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12604c12f41aSZhengjun Xing    },
12614c12f41aSZhengjun Xing    {
12624c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to frontend stalls.",
12634c12f41aSZhengjun Xing        "EventCode": "0x71",
12644c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ALL",
12654c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12664c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12674c12f41aSZhengjun Xing    },
12684c12f41aSZhengjun Xing    {
12694c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BACLEARS.",
12704c12f41aSZhengjun Xing        "EventCode": "0x71",
12714c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_DETECT",
12724c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BACLEARS, which occurs when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend. Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
12734c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12744c12f41aSZhengjun Xing        "UMask": "0x2",
12754c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12764c12f41aSZhengjun Xing    },
12774c12f41aSZhengjun Xing    {
12784c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BTCLEARS.",
12794c12f41aSZhengjun Xing        "EventCode": "0x71",
12804c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_RESTEER",
12814c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BTCLEARS, which occurs when the Branch Target Buffer (BTB) predicts a taken branch.",
12824c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12834c12f41aSZhengjun Xing        "UMask": "0x40",
12844c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12854c12f41aSZhengjun Xing    },
12864c12f41aSZhengjun Xing    {
12874c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to the microcode sequencer (MS).",
12884c12f41aSZhengjun Xing        "EventCode": "0x71",
12894c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.CISC",
12904c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12914c12f41aSZhengjun Xing        "UMask": "0x1",
12924c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12934c12f41aSZhengjun Xing    },
12944c12f41aSZhengjun Xing    {
12954c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to decode stalls.",
12964c12f41aSZhengjun Xing        "EventCode": "0x71",
12974c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.DECODE",
12984c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12994c12f41aSZhengjun Xing        "UMask": "0x8",
13004c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13014c12f41aSZhengjun Xing    },
13024c12f41aSZhengjun Xing    {
13034c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to frontend bandwidth restrictions due to decode, predecode, cisc, and other limitations.",
13044c12f41aSZhengjun Xing        "EventCode": "0x71",
13054c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_BANDWIDTH",
13064c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13074c12f41aSZhengjun Xing        "UMask": "0x8d",
13084c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13094c12f41aSZhengjun Xing    },
13104c12f41aSZhengjun Xing    {
13114c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to a latency related stalls including BACLEARs, BTCLEARs, ITLB misses, and ICache misses.",
13124c12f41aSZhengjun Xing        "EventCode": "0x71",
13134c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_LATENCY",
13144c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13154c12f41aSZhengjun Xing        "UMask": "0x72",
13164c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13174c12f41aSZhengjun Xing    },
13184c12f41aSZhengjun Xing    {
13194c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to ITLB misses.",
13204c12f41aSZhengjun Xing        "EventCode": "0x71",
13214c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ITLB",
13224c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to Instruction Table Lookaside Buffer (ITLB) misses.",
13234c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13244c12f41aSZhengjun Xing        "UMask": "0x10",
13254c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13264c12f41aSZhengjun Xing    },
13274c12f41aSZhengjun Xing    {
13284c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to other common frontend stalls not categorized.",
13294c12f41aSZhengjun Xing        "EventCode": "0x71",
13304c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.OTHER",
13314c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13324c12f41aSZhengjun Xing        "UMask": "0x80",
13334c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13344c12f41aSZhengjun Xing    },
13354c12f41aSZhengjun Xing    {
13364c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to wrong predecodes.",
13374c12f41aSZhengjun Xing        "EventCode": "0x71",
13384c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.PREDECODE",
13394c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13404c12f41aSZhengjun Xing        "UMask": "0x4",
13414c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13424c12f41aSZhengjun Xing    },
13434c12f41aSZhengjun Xing    {
13444c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of consumed retirement slots.",
13454c12f41aSZhengjun Xing        "EventCode": "0xc2",
13464c12f41aSZhengjun Xing        "EventName": "TOPDOWN_RETIRING.ALL",
13474c12f41aSZhengjun Xing        "PEBS": "1",
13484c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13494c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13504c12f41aSZhengjun Xing    },
13514c12f41aSZhengjun Xing    {
13525fa2481cSZhengjun Xing        "BriefDescription": "UOPS_DECODED.DEC0_UOPS",
1353f9900dd0SZhengjun Xing        "EventCode": "0x76",
1354f9900dd0SZhengjun Xing        "EventName": "UOPS_DECODED.DEC0_UOPS",
1355f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1356f9900dd0SZhengjun Xing        "UMask": "0x1",
1357f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1358f9900dd0SZhengjun Xing    },
1359f9900dd0SZhengjun Xing    {
1360f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 0",
1361f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1362f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_0",
13634c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 0.",
1364f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1365f9900dd0SZhengjun Xing        "UMask": "0x1",
1366f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1367f9900dd0SZhengjun Xing    },
1368f9900dd0SZhengjun Xing    {
1369f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 1",
1370f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1371f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_1",
13724c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 1.",
1373f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1374f9900dd0SZhengjun Xing        "UMask": "0x2",
1375f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1376f9900dd0SZhengjun Xing    },
1377f9900dd0SZhengjun Xing    {
1378f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 2, 3 and 10",
1379f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1380f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_2_3_10",
13814c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 2, 3 and 10",
1382f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1383f9900dd0SZhengjun Xing        "UMask": "0x4",
1384f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1385f9900dd0SZhengjun Xing    },
1386f9900dd0SZhengjun Xing    {
1387f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 4 and 9",
1388f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1389f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_4_9",
13904c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 4 and 9",
1391f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1392f9900dd0SZhengjun Xing        "UMask": "0x10",
1393f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1394f9900dd0SZhengjun Xing    },
1395f9900dd0SZhengjun Xing    {
1396f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 5 and 11",
1397f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1398f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_5_11",
13994c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 5 and 11",
1400f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1401f9900dd0SZhengjun Xing        "UMask": "0x20",
1402f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1403f9900dd0SZhengjun Xing    },
1404f9900dd0SZhengjun Xing    {
1405f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 6",
1406f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1407f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_6",
14084c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 6.",
1409f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1410f9900dd0SZhengjun Xing        "UMask": "0x40",
1411f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1412f9900dd0SZhengjun Xing    },
1413f9900dd0SZhengjun Xing    {
1414f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 7 and 8",
1415f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1416f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_7_8",
14174c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  ports 7 and 8.",
1418f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1419f9900dd0SZhengjun Xing        "UMask": "0x80",
1420f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1421f9900dd0SZhengjun Xing    },
1422f9900dd0SZhengjun Xing    {
1423f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
1424f9900dd0SZhengjun Xing        "CounterMask": "1",
1425f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1426f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
14274c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
1428f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1429f9900dd0SZhengjun Xing        "UMask": "0x2",
1430f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1431f9900dd0SZhengjun Xing    },
1432f9900dd0SZhengjun Xing    {
1433f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
1434f9900dd0SZhengjun Xing        "CounterMask": "2",
1435f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1436f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
14374c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
1438f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1439f9900dd0SZhengjun Xing        "UMask": "0x2",
1440f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1441f9900dd0SZhengjun Xing    },
1442f9900dd0SZhengjun Xing    {
1443f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
1444f9900dd0SZhengjun Xing        "CounterMask": "3",
1445f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1446f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
14474c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
1448f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1449f9900dd0SZhengjun Xing        "UMask": "0x2",
1450f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1451f9900dd0SZhengjun Xing    },
1452f9900dd0SZhengjun Xing    {
1453f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
1454f9900dd0SZhengjun Xing        "CounterMask": "4",
1455f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1456f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
14574c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
1458f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1459f9900dd0SZhengjun Xing        "UMask": "0x2",
1460f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1461f9900dd0SZhengjun Xing    },
1462f9900dd0SZhengjun Xing    {
1463f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
1464f9900dd0SZhengjun Xing        "CounterMask": "1",
1465f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1466f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
14674c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
1468f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1469f9900dd0SZhengjun Xing        "UMask": "0x1",
1470f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1471f9900dd0SZhengjun Xing    },
1472f9900dd0SZhengjun Xing    {
1473f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
1474f9900dd0SZhengjun Xing        "CounterMask": "2",
1475f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1476f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
14774c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
1478f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1479f9900dd0SZhengjun Xing        "UMask": "0x1",
1480f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1481f9900dd0SZhengjun Xing    },
1482f9900dd0SZhengjun Xing    {
1483f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
1484f9900dd0SZhengjun Xing        "CounterMask": "3",
1485f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1486f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
14874c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
1488f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1489f9900dd0SZhengjun Xing        "UMask": "0x1",
1490f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1491f9900dd0SZhengjun Xing    },
1492f9900dd0SZhengjun Xing    {
1493f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
1494f9900dd0SZhengjun Xing        "CounterMask": "4",
1495f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1496f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
14974c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
1498f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1499f9900dd0SZhengjun Xing        "UMask": "0x1",
1500f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1501f9900dd0SZhengjun Xing    },
1502f9900dd0SZhengjun Xing    {
1503f9900dd0SZhengjun Xing        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
1504f9900dd0SZhengjun Xing        "CounterMask": "1",
1505f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1506f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALLS",
1507f9900dd0SZhengjun Xing        "Invert": "1",
15084c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
1509f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1510f9900dd0SZhengjun Xing        "UMask": "0x1",
1511f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1512f9900dd0SZhengjun Xing    },
1513f9900dd0SZhengjun Xing    {
1514f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_EXECUTED.STALLS",
1515f9900dd0SZhengjun Xing        "CounterMask": "1",
15164c12f41aSZhengjun Xing        "Deprecated": "1",
1517f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1518f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
1519f9900dd0SZhengjun Xing        "Invert": "1",
1520f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1521f9900dd0SZhengjun Xing        "UMask": "0x1",
1522f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1523f9900dd0SZhengjun Xing    },
1524f9900dd0SZhengjun Xing    {
1525f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
1526f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1527f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.THREAD",
1528f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1529f9900dd0SZhengjun Xing        "UMask": "0x1",
1530f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1531f9900dd0SZhengjun Xing    },
1532f9900dd0SZhengjun Xing    {
1533f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of x87 uops dispatched.",
1534f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1535f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.X87",
15364c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of x87 uops executed.",
1537f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1538f9900dd0SZhengjun Xing        "UMask": "0x10",
1539f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1540f9900dd0SZhengjun Xing    },
1541f9900dd0SZhengjun Xing    {
1542f9900dd0SZhengjun Xing        "BriefDescription": "Uops that RAT issues to RS",
1543f9900dd0SZhengjun Xing        "EventCode": "0xae",
1544f9900dd0SZhengjun Xing        "EventName": "UOPS_ISSUED.ANY",
15454c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
1546f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1547f9900dd0SZhengjun Xing        "UMask": "0x1",
1548f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1549f9900dd0SZhengjun Xing    },
1550f9900dd0SZhengjun Xing    {
15514c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of uops retired.",
15524c12f41aSZhengjun Xing        "EventCode": "0xc2",
15534c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.ALL",
15544c12f41aSZhengjun Xing        "PEBS": "1",
15554c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15564c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15574c12f41aSZhengjun Xing    },
15584c12f41aSZhengjun Xing    {
1559f9900dd0SZhengjun Xing        "BriefDescription": "Cycles with retired uop(s).",
1560f9900dd0SZhengjun Xing        "CounterMask": "1",
1561f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1562f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.CYCLES",
15634c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where at least one uop has retired.",
1564f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1565f9900dd0SZhengjun Xing        "UMask": "0x2",
1566f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1567f9900dd0SZhengjun Xing    },
1568f9900dd0SZhengjun Xing    {
15695fa2481cSZhengjun Xing        "BriefDescription": "Retired uops except the last uop of each instruction.",
1570f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1571f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.HEAVY",
15724c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of retired micro-operations (uops) except the last uop of each instruction. An instruction that is decoded into less than two uops does not contribute to the count.",
1573f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1574f9900dd0SZhengjun Xing        "UMask": "0x1",
1575f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1576f9900dd0SZhengjun Xing    },
1577f9900dd0SZhengjun Xing    {
15784c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of integer divide uops retired.",
15794c12f41aSZhengjun Xing        "EventCode": "0xc2",
15804c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.IDIV",
15814c12f41aSZhengjun Xing        "PEBS": "1",
15824c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15834c12f41aSZhengjun Xing        "UMask": "0x10",
15844c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15854c12f41aSZhengjun Xing    },
15864c12f41aSZhengjun Xing    {
15874c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of uops that are from complex flows issued by the micro-sequencer (MS).",
15884c12f41aSZhengjun Xing        "EventCode": "0xc2",
15894c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
15904c12f41aSZhengjun Xing        "PEBS": "1",
15914c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops that are from complex flows issued by the Microcode Sequencer (MS). This includes uops from flows due to complex instructions, faults, assists, and inserted flows.",
15924c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15934c12f41aSZhengjun Xing        "UMask": "0x1",
15944c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15954c12f41aSZhengjun Xing    },
15964c12f41aSZhengjun Xing    {
15975fa2481cSZhengjun Xing        "BriefDescription": "UOPS_RETIRED.MS",
1598f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1599f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
1600f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
1601f9900dd0SZhengjun Xing        "MSRValue": "0x8",
1602f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1603f9900dd0SZhengjun Xing        "UMask": "0x4",
1604f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1605f9900dd0SZhengjun Xing    },
1606f9900dd0SZhengjun Xing    {
1607f9900dd0SZhengjun Xing        "BriefDescription": "Retirement slots used.",
1608f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1609f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.SLOTS",
16104c12f41aSZhengjun Xing        "PublicDescription": "Counts the retirement slots used each cycle.",
1611f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1612f9900dd0SZhengjun Xing        "UMask": "0x2",
1613f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1614f9900dd0SZhengjun Xing    },
1615f9900dd0SZhengjun Xing    {
1616f9900dd0SZhengjun Xing        "BriefDescription": "Cycles without actually retired uops.",
1617f9900dd0SZhengjun Xing        "CounterMask": "1",
1618f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1619f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALLS",
1620f9900dd0SZhengjun Xing        "Invert": "1",
16214c12f41aSZhengjun Xing        "PublicDescription": "This event counts cycles without actually retired uops.",
1622f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1623f9900dd0SZhengjun Xing        "UMask": "0x2",
1624f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1625f9900dd0SZhengjun Xing    },
1626f9900dd0SZhengjun Xing    {
1627f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_RETIRED.STALLS",
1628f9900dd0SZhengjun Xing        "CounterMask": "1",
16294c12f41aSZhengjun Xing        "Deprecated": "1",
1630f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1631f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1632f9900dd0SZhengjun Xing        "Invert": "1",
1633f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1634f9900dd0SZhengjun Xing        "UMask": "0x2",
1635f9900dd0SZhengjun Xing        "Unit": "cpu_core"
16364c12f41aSZhengjun Xing    },
16374c12f41aSZhengjun Xing    {
16384c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of x87 uops retired, includes those in MS flows.",
16394c12f41aSZhengjun Xing        "EventCode": "0xc2",
16404c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.X87",
16414c12f41aSZhengjun Xing        "PEBS": "1",
16424c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
16434c12f41aSZhengjun Xing        "UMask": "0x2",
16444c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1645f9900dd0SZhengjun Xing    }
1646f9900dd0SZhengjun Xing]
1647