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    {
365*b0365c14SIan Rogers        "BriefDescription": "Miss-predicted near indirect branch instructions retired (excluding returns)",
366*b0365c14SIan Rogers        "EventCode": "0xc5",
367*b0365c14SIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT",
368*b0365c14SIan Rogers        "PEBS": "1",
369*b0365c14SIan Rogers        "PublicDescription": "Counts miss-predicted near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
370*b0365c14SIan Rogers        "SampleAfterValue": "100003",
371*b0365c14SIan Rogers        "UMask": "0x80",
372*b0365c14SIan Rogers        "Unit": "cpu_core"
373*b0365c14SIan Rogers    },
374*b0365c14SIan Rogers    {
3754c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired.",
376f9900dd0SZhengjun Xing        "EventCode": "0xc5",
377f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
378f9900dd0SZhengjun Xing        "PEBS": "1",
3794c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3804c12f41aSZhengjun Xing        "UMask": "0xfb",
3814c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3824c12f41aSZhengjun Xing    },
3834c12f41aSZhengjun Xing    {
3844c12f41aSZhengjun Xing        "BriefDescription": "Mispredicted indirect CALL retired.",
3854c12f41aSZhengjun Xing        "EventCode": "0xc5",
3864c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
3874c12f41aSZhengjun Xing        "PEBS": "1",
3884c12f41aSZhengjun Xing        "PublicDescription": "Counts retired mispredicted indirect (near taken) CALL instructions, including both register and memory indirect.",
389f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
390f9900dd0SZhengjun Xing        "UMask": "0x2",
391f9900dd0SZhengjun Xing        "Unit": "cpu_core"
392f9900dd0SZhengjun Xing    },
393f9900dd0SZhengjun Xing    {
3944c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT_CALL",
3954c12f41aSZhengjun Xing        "Deprecated": "1",
3964c12f41aSZhengjun Xing        "EventCode": "0xc5",
3974c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.IND_CALL",
3984c12f41aSZhengjun Xing        "PEBS": "1",
3994c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4004c12f41aSZhengjun Xing        "UMask": "0xfb",
4014c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4024c12f41aSZhengjun Xing    },
4034c12f41aSZhengjun Xing    {
4044c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND",
4054c12f41aSZhengjun Xing        "Deprecated": "1",
4064c12f41aSZhengjun Xing        "EventCode": "0xc5",
4074c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.JCC",
4084c12f41aSZhengjun Xing        "PEBS": "1",
4094c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4104c12f41aSZhengjun Xing        "UMask": "0x7e",
4114c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4124c12f41aSZhengjun Xing    },
4134c12f41aSZhengjun Xing    {
414f9900dd0SZhengjun Xing        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
415f9900dd0SZhengjun Xing        "EventCode": "0xc5",
416f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
417f9900dd0SZhengjun Xing        "PEBS": "1",
4184c12f41aSZhengjun Xing        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
419f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
420f9900dd0SZhengjun Xing        "UMask": "0x20",
421f9900dd0SZhengjun Xing        "Unit": "cpu_core"
422f9900dd0SZhengjun Xing    },
423f9900dd0SZhengjun Xing    {
4244c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT",
4254c12f41aSZhengjun Xing        "Deprecated": "1",
4264c12f41aSZhengjun Xing        "EventCode": "0xc5",
4274c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
4284c12f41aSZhengjun Xing        "PEBS": "1",
4294c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4304c12f41aSZhengjun Xing        "UMask": "0xeb",
4314c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4324c12f41aSZhengjun Xing    },
4334c12f41aSZhengjun Xing    {
434f9900dd0SZhengjun Xing        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
435f9900dd0SZhengjun Xing        "EventCode": "0xc5",
436f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.RET",
437f9900dd0SZhengjun Xing        "PEBS": "1",
4384c12f41aSZhengjun Xing        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
439f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
440f9900dd0SZhengjun Xing        "UMask": "0x8",
441f9900dd0SZhengjun Xing        "Unit": "cpu_core"
442f9900dd0SZhengjun Xing    },
443f9900dd0SZhengjun Xing    {
4444c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired.",
4454c12f41aSZhengjun Xing        "EventCode": "0xc5",
4464c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.RETURN",
4474c12f41aSZhengjun Xing        "PEBS": "1",
4484c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4494c12f41aSZhengjun Xing        "UMask": "0xf7",
4504c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4514c12f41aSZhengjun Xing    },
4524c12f41aSZhengjun Xing    {
4534c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND_TAKEN",
4544c12f41aSZhengjun Xing        "Deprecated": "1",
4554c12f41aSZhengjun Xing        "EventCode": "0xc5",
4564c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.TAKEN_JCC",
4574c12f41aSZhengjun Xing        "PEBS": "1",
4584c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4594c12f41aSZhengjun Xing        "UMask": "0xfe",
4604c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4614c12f41aSZhengjun Xing    },
4624c12f41aSZhengjun Xing    {
4635fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 light-weight slower wakeup time but more power saving optimized state.",
4645fa2481cSZhengjun Xing        "EventCode": "0xec",
4655fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C01",
4664c12f41aSZhengjun 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.",
4675fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4685fa2481cSZhengjun Xing        "UMask": "0x10",
4695fa2481cSZhengjun Xing        "Unit": "cpu_core"
4705fa2481cSZhengjun Xing    },
4715fa2481cSZhengjun Xing    {
4725fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.2 light-weight faster wakeup time but less power saving optimized state.",
4735fa2481cSZhengjun Xing        "EventCode": "0xec",
4745fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C02",
4754c12f41aSZhengjun 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.",
4765fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4775fa2481cSZhengjun Xing        "UMask": "0x20",
4785fa2481cSZhengjun Xing        "Unit": "cpu_core"
4795fa2481cSZhengjun Xing    },
4805fa2481cSZhengjun Xing    {
4815fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 or C0.2 or running a PAUSE in C0 ACPI state.",
4825fa2481cSZhengjun Xing        "EventCode": "0xec",
4835fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C0_WAIT",
4844c12f41aSZhengjun 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.",
4855fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4865fa2481cSZhengjun Xing        "UMask": "0x70",
4875fa2481cSZhengjun Xing        "Unit": "cpu_core"
4885fa2481cSZhengjun Xing    },
4895fa2481cSZhengjun Xing    {
4904c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
4914c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE",
4924c12f41aSZhengjun 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.",
4934c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
4944c12f41aSZhengjun Xing        "UMask": "0x2",
4954c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4964c12f41aSZhengjun Xing    },
4974c12f41aSZhengjun Xing    {
4984c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
4994c12f41aSZhengjun Xing        "EventCode": "0x3c",
5004c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE_P",
5014c12f41aSZhengjun 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.",
5024c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
5034c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5044c12f41aSZhengjun Xing    },
5054c12f41aSZhengjun Xing    {
506f9900dd0SZhengjun Xing        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
507f9900dd0SZhengjun Xing        "EventCode": "0xec",
508f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
5094c12f41aSZhengjun 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.",
510f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
511f9900dd0SZhengjun Xing        "UMask": "0x2",
512f9900dd0SZhengjun Xing        "Unit": "cpu_core"
513f9900dd0SZhengjun Xing    },
514f9900dd0SZhengjun Xing    {
515f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
516f9900dd0SZhengjun Xing        "EventCode": "0x3c",
517f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
5184c12f41aSZhengjun Xing        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
519f9900dd0SZhengjun Xing        "SampleAfterValue": "25003",
520f9900dd0SZhengjun Xing        "UMask": "0x2",
521f9900dd0SZhengjun Xing        "Unit": "cpu_core"
522f9900dd0SZhengjun Xing    },
523f9900dd0SZhengjun Xing    {
5245fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE",
525f9900dd0SZhengjun Xing        "EventCode": "0xec",
526f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE",
527f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
528f9900dd0SZhengjun Xing        "UMask": "0x40",
529f9900dd0SZhengjun Xing        "Unit": "cpu_core"
530f9900dd0SZhengjun Xing    },
531f9900dd0SZhengjun Xing    {
5325fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE_INST",
533f9900dd0SZhengjun Xing        "CounterMask": "1",
534f9900dd0SZhengjun Xing        "EdgeDetect": "1",
535f9900dd0SZhengjun Xing        "EventCode": "0xec",
536f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE_INST",
537f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
538f9900dd0SZhengjun Xing        "UMask": "0x40",
539f9900dd0SZhengjun Xing        "Unit": "cpu_core"
540f9900dd0SZhengjun Xing    },
541f9900dd0SZhengjun Xing    {
542f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
543f9900dd0SZhengjun Xing        "EventCode": "0x3c",
544f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
5454c12f41aSZhengjun 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.",
546f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
547f9900dd0SZhengjun Xing        "UMask": "0x8",
548f9900dd0SZhengjun Xing        "Unit": "cpu_core"
549f9900dd0SZhengjun Xing    },
550f9900dd0SZhengjun Xing    {
5514c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency. (Fixed event)",
552f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5534c12f41aSZhengjun 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.",
554f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5554c12f41aSZhengjun Xing        "UMask": "0x3",
5564c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5574c12f41aSZhengjun Xing    },
5584c12f41aSZhengjun Xing    {
5594c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5604c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5614c12f41aSZhengjun 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.",
5624c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
563f9900dd0SZhengjun Xing        "UMask": "0x3",
564f9900dd0SZhengjun Xing        "Unit": "cpu_core"
565f9900dd0SZhengjun Xing    },
566f9900dd0SZhengjun Xing    {
5674c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency.",
568a95ab294SIan Rogers        "EventCode": "0x3c",
569a95ab294SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5704c12f41aSZhengjun 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.",
571a95ab294SIan Rogers        "SampleAfterValue": "2000003",
5724c12f41aSZhengjun Xing        "UMask": "0x1",
5734c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5744c12f41aSZhengjun Xing    },
5754c12f41aSZhengjun Xing    {
5764c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5774c12f41aSZhengjun Xing        "EventCode": "0x3c",
5784c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5794c12f41aSZhengjun 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.",
5804c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
581a95ab294SIan Rogers        "UMask": "0x1",
582a95ab294SIan Rogers        "Unit": "cpu_core"
583a95ab294SIan Rogers    },
584a95ab294SIan Rogers    {
5854c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
586f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5874c12f41aSZhengjun 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.",
588f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5894c12f41aSZhengjun Xing        "UMask": "0x2",
5904c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5914c12f41aSZhengjun Xing    },
5924c12f41aSZhengjun Xing    {
5934c12f41aSZhengjun Xing        "BriefDescription": "Core cycles when the thread is not in halt state",
5944c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5954c12f41aSZhengjun 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.",
5964c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
597f9900dd0SZhengjun Xing        "UMask": "0x2",
598f9900dd0SZhengjun Xing        "Unit": "cpu_core"
599f9900dd0SZhengjun Xing    },
600f9900dd0SZhengjun Xing    {
6014c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
602f9900dd0SZhengjun Xing        "EventCode": "0x3c",
603f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
6044c12f41aSZhengjun 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.",
605f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
6064c12f41aSZhengjun Xing        "Unit": "cpu_atom"
6074c12f41aSZhengjun Xing    },
6084c12f41aSZhengjun Xing    {
6094c12f41aSZhengjun Xing        "BriefDescription": "Thread cycles when thread is not in halt state",
6104c12f41aSZhengjun Xing        "EventCode": "0x3c",
6114c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
6124c12f41aSZhengjun 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.",
6134c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
614f9900dd0SZhengjun Xing        "Unit": "cpu_core"
615f9900dd0SZhengjun Xing    },
616f9900dd0SZhengjun Xing    {
617f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
618f9900dd0SZhengjun Xing        "CounterMask": "8",
619f9900dd0SZhengjun Xing        "EventCode": "0xa3",
620f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
621f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
622f9900dd0SZhengjun Xing        "UMask": "0x8",
623f9900dd0SZhengjun Xing        "Unit": "cpu_core"
624f9900dd0SZhengjun Xing    },
625f9900dd0SZhengjun Xing    {
626f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
627f9900dd0SZhengjun Xing        "CounterMask": "1",
628f9900dd0SZhengjun Xing        "EventCode": "0xa3",
629f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
630f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
631f9900dd0SZhengjun Xing        "UMask": "0x1",
632f9900dd0SZhengjun Xing        "Unit": "cpu_core"
633f9900dd0SZhengjun Xing    },
634f9900dd0SZhengjun Xing    {
635f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
636f9900dd0SZhengjun Xing        "CounterMask": "16",
637f9900dd0SZhengjun Xing        "EventCode": "0xa3",
638f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
639f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
640f9900dd0SZhengjun Xing        "UMask": "0x10",
641f9900dd0SZhengjun Xing        "Unit": "cpu_core"
642f9900dd0SZhengjun Xing    },
643f9900dd0SZhengjun Xing    {
644f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
645f9900dd0SZhengjun Xing        "CounterMask": "12",
646f9900dd0SZhengjun Xing        "EventCode": "0xa3",
647f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
648f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
649f9900dd0SZhengjun Xing        "UMask": "0xc",
650f9900dd0SZhengjun Xing        "Unit": "cpu_core"
651f9900dd0SZhengjun Xing    },
652f9900dd0SZhengjun Xing    {
653f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
654f9900dd0SZhengjun Xing        "CounterMask": "5",
655f9900dd0SZhengjun Xing        "EventCode": "0xa3",
656f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
657f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
658f9900dd0SZhengjun Xing        "UMask": "0x5",
659f9900dd0SZhengjun Xing        "Unit": "cpu_core"
660f9900dd0SZhengjun Xing    },
661f9900dd0SZhengjun Xing    {
662f9900dd0SZhengjun Xing        "BriefDescription": "Total execution stalls.",
663f9900dd0SZhengjun Xing        "CounterMask": "4",
664f9900dd0SZhengjun Xing        "EventCode": "0xa3",
665f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
666f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
667f9900dd0SZhengjun Xing        "UMask": "0x4",
668f9900dd0SZhengjun Xing        "Unit": "cpu_core"
669f9900dd0SZhengjun Xing    },
670f9900dd0SZhengjun Xing    {
671f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
672f9900dd0SZhengjun Xing        "EventCode": "0xa6",
673f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
6744c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
675f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
676f9900dd0SZhengjun Xing        "UMask": "0x2",
677f9900dd0SZhengjun Xing        "Unit": "cpu_core"
678f9900dd0SZhengjun Xing    },
679f9900dd0SZhengjun Xing    {
680f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
681f9900dd0SZhengjun Xing        "EventCode": "0xa6",
682f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
6834c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
684f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
685f9900dd0SZhengjun Xing        "UMask": "0x4",
686f9900dd0SZhengjun Xing        "Unit": "cpu_core"
687f9900dd0SZhengjun Xing    },
688f9900dd0SZhengjun Xing    {
689f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
690f9900dd0SZhengjun Xing        "EventCode": "0xa6",
691f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
6924c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
693f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
694f9900dd0SZhengjun Xing        "UMask": "0x8",
695f9900dd0SZhengjun Xing        "Unit": "cpu_core"
696f9900dd0SZhengjun Xing    },
697f9900dd0SZhengjun Xing    {
698f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
699f9900dd0SZhengjun Xing        "EventCode": "0xa6",
700f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
7014c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
702f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
703f9900dd0SZhengjun Xing        "UMask": "0x10",
704f9900dd0SZhengjun Xing        "Unit": "cpu_core"
705f9900dd0SZhengjun Xing    },
706f9900dd0SZhengjun Xing    {
707f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
708f9900dd0SZhengjun Xing        "CounterMask": "5",
709f9900dd0SZhengjun Xing        "EventCode": "0xa6",
710f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_LOADS",
711f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
712f9900dd0SZhengjun Xing        "UMask": "0x21",
713f9900dd0SZhengjun Xing        "Unit": "cpu_core"
714f9900dd0SZhengjun Xing    },
715f9900dd0SZhengjun Xing    {
716f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
717f9900dd0SZhengjun Xing        "CounterMask": "2",
718f9900dd0SZhengjun Xing        "EventCode": "0xa6",
719f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
7204c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
721f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
722f9900dd0SZhengjun Xing        "UMask": "0x40",
723f9900dd0SZhengjun Xing        "Unit": "cpu_core"
724f9900dd0SZhengjun Xing    },
725f9900dd0SZhengjun Xing    {
7265fa2481cSZhengjun Xing        "BriefDescription": "Cycles no uop executed while RS was not empty, the SB was not full and there was no outstanding load.",
7275fa2481cSZhengjun Xing        "EventCode": "0xa6",
7285fa2481cSZhengjun Xing        "EventName": "EXE_ACTIVITY.EXE_BOUND_0_PORTS",
7294c12f41aSZhengjun 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.",
7305fa2481cSZhengjun Xing        "SampleAfterValue": "1000003",
7315fa2481cSZhengjun Xing        "UMask": "0x80",
7325fa2481cSZhengjun Xing        "Unit": "cpu_core"
7335fa2481cSZhengjun Xing    },
7345fa2481cSZhengjun Xing    {
735f9900dd0SZhengjun Xing        "BriefDescription": "Instruction decoders utilized in a cycle",
736f9900dd0SZhengjun Xing        "EventCode": "0x75",
737f9900dd0SZhengjun Xing        "EventName": "INST_DECODED.DECODERS",
7384c12f41aSZhengjun Xing        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
739f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
740f9900dd0SZhengjun Xing        "UMask": "0x1",
741f9900dd0SZhengjun Xing        "Unit": "cpu_core"
742f9900dd0SZhengjun Xing    },
743f9900dd0SZhengjun Xing    {
7444c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired. (Fixed event)",
7454c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY",
7464c12f41aSZhengjun Xing        "PEBS": "1",
7474c12f41aSZhengjun 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.",
7484c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7494c12f41aSZhengjun Xing        "UMask": "0x1",
7504c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7514c12f41aSZhengjun Xing    },
7524c12f41aSZhengjun Xing    {
753f9900dd0SZhengjun Xing        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
754f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY",
755f9900dd0SZhengjun Xing        "PEBS": "1",
7564c12f41aSZhengjun 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.",
757f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
758f9900dd0SZhengjun Xing        "UMask": "0x1",
759f9900dd0SZhengjun Xing        "Unit": "cpu_core"
760f9900dd0SZhengjun Xing    },
761f9900dd0SZhengjun Xing    {
7624c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired.",
763f9900dd0SZhengjun Xing        "EventCode": "0xc0",
764f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
765f9900dd0SZhengjun Xing        "PEBS": "1",
7664c12f41aSZhengjun 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.",
7674c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7684c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7694c12f41aSZhengjun Xing    },
7704c12f41aSZhengjun Xing    {
7714c12f41aSZhengjun Xing        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
7724c12f41aSZhengjun Xing        "EventCode": "0xc0",
7734c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
7744c12f41aSZhengjun Xing        "PEBS": "1",
7754c12f41aSZhengjun 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.",
776f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
777f9900dd0SZhengjun Xing        "Unit": "cpu_core"
778f9900dd0SZhengjun Xing    },
779f9900dd0SZhengjun Xing    {
7805fa2481cSZhengjun Xing        "BriefDescription": "INST_RETIRED.MACRO_FUSED",
781f9900dd0SZhengjun Xing        "EventCode": "0xc0",
782f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.MACRO_FUSED",
783f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
784f9900dd0SZhengjun Xing        "UMask": "0x10",
785f9900dd0SZhengjun Xing        "Unit": "cpu_core"
786f9900dd0SZhengjun Xing    },
787f9900dd0SZhengjun Xing    {
788a95ab294SIan Rogers        "BriefDescription": "Retired NOP instructions.",
789f9900dd0SZhengjun Xing        "EventCode": "0xc0",
790f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.NOP",
7914c12f41aSZhengjun Xing        "PublicDescription": "Counts all retired NOP or ENDBR32/64 instructions",
792f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
793f9900dd0SZhengjun Xing        "UMask": "0x2",
794f9900dd0SZhengjun Xing        "Unit": "cpu_core"
795f9900dd0SZhengjun Xing    },
796f9900dd0SZhengjun Xing    {
797f9900dd0SZhengjun Xing        "BriefDescription": "Precise instruction retired with PEBS precise-distribution",
798f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.PREC_DIST",
799f9900dd0SZhengjun Xing        "PEBS": "1",
8004c12f41aSZhengjun 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.",
801f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
802f9900dd0SZhengjun Xing        "UMask": "0x1",
803f9900dd0SZhengjun Xing        "Unit": "cpu_core"
804f9900dd0SZhengjun Xing    },
805f9900dd0SZhengjun Xing    {
806ad10c920SIan Rogers        "BriefDescription": "Iterations of Repeat string retired instructions.",
807f9900dd0SZhengjun Xing        "EventCode": "0xc0",
808f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.REP_ITERATION",
809ad10c920SIan 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.",
810f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
811f9900dd0SZhengjun Xing        "UMask": "0x8",
812f9900dd0SZhengjun Xing        "Unit": "cpu_core"
813f9900dd0SZhengjun Xing    },
814f9900dd0SZhengjun Xing    {
815ad10c920SIan Rogers        "BriefDescription": "Clears speculative count",
816ad10c920SIan Rogers        "CounterMask": "1",
817ad10c920SIan Rogers        "EdgeDetect": "1",
818ad10c920SIan Rogers        "EventCode": "0xad",
819ad10c920SIan Rogers        "EventName": "INT_MISC.CLEARS_COUNT",
820ad10c920SIan Rogers        "PublicDescription": "Counts the number of speculative clears due to any type of branch misprediction or machine clears",
821ad10c920SIan Rogers        "SampleAfterValue": "500009",
822ad10c920SIan Rogers        "UMask": "0x1",
823ad10c920SIan Rogers        "Unit": "cpu_core"
824ad10c920SIan Rogers    },
825ad10c920SIan Rogers    {
826f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
827f9900dd0SZhengjun Xing        "EventCode": "0xad",
828f9900dd0SZhengjun Xing        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
8294c12f41aSZhengjun Xing        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
830f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
831f9900dd0SZhengjun Xing        "UMask": "0x80",
832f9900dd0SZhengjun Xing        "Unit": "cpu_core"
833f9900dd0SZhengjun Xing    },
834f9900dd0SZhengjun Xing    {
835f9900dd0SZhengjun Xing        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
836f9900dd0SZhengjun Xing        "EventCode": "0xad",
837f9900dd0SZhengjun Xing        "EventName": "INT_MISC.RECOVERY_CYCLES",
8384c12f41aSZhengjun Xing        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
839f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
840f9900dd0SZhengjun Xing        "UMask": "0x1",
841f9900dd0SZhengjun Xing        "Unit": "cpu_core"
842f9900dd0SZhengjun Xing    },
843f9900dd0SZhengjun Xing    {
8445fa2481cSZhengjun Xing        "BriefDescription": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
845f9900dd0SZhengjun Xing        "EventCode": "0xad",
846f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
847f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
848f9900dd0SZhengjun Xing        "MSRValue": "0x7",
849f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
850f9900dd0SZhengjun Xing        "UMask": "0x40",
851f9900dd0SZhengjun Xing        "Unit": "cpu_core"
852f9900dd0SZhengjun Xing    },
853f9900dd0SZhengjun Xing    {
854f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where uops got dropped",
855f9900dd0SZhengjun Xing        "EventCode": "0xad",
856f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UOP_DROPPING",
8574c12f41aSZhengjun Xing        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
858f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
859f9900dd0SZhengjun Xing        "UMask": "0x10",
860f9900dd0SZhengjun Xing        "Unit": "cpu_core"
861f9900dd0SZhengjun Xing    },
862f9900dd0SZhengjun Xing    {
8635fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.128BIT",
864f9900dd0SZhengjun Xing        "EventCode": "0xe7",
865f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.128BIT",
866f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
867f9900dd0SZhengjun Xing        "UMask": "0x13",
868f9900dd0SZhengjun Xing        "Unit": "cpu_core"
869f9900dd0SZhengjun Xing    },
870f9900dd0SZhengjun Xing    {
8715fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.256BIT",
872f9900dd0SZhengjun Xing        "EventCode": "0xe7",
873f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.256BIT",
874f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
875f9900dd0SZhengjun Xing        "UMask": "0xac",
876f9900dd0SZhengjun Xing        "Unit": "cpu_core"
877f9900dd0SZhengjun Xing    },
878f9900dd0SZhengjun Xing    {
879f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 128-bit vector instructions.",
880f9900dd0SZhengjun Xing        "EventCode": "0xe7",
881f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_128",
8824c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 128-bit vector instructions.",
883f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
884f9900dd0SZhengjun Xing        "UMask": "0x3",
885f9900dd0SZhengjun Xing        "Unit": "cpu_core"
886f9900dd0SZhengjun Xing    },
887f9900dd0SZhengjun Xing    {
888f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 256-bit vector instructions.",
889f9900dd0SZhengjun Xing        "EventCode": "0xe7",
890f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_256",
8914c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 256-bit vector instructions.",
892f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
893f9900dd0SZhengjun Xing        "UMask": "0xc",
894f9900dd0SZhengjun Xing        "Unit": "cpu_core"
895f9900dd0SZhengjun Xing    },
896f9900dd0SZhengjun Xing    {
8975fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.MUL_256",
898f9900dd0SZhengjun Xing        "EventCode": "0xe7",
899f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.MUL_256",
900f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
901f9900dd0SZhengjun Xing        "UMask": "0x80",
902f9900dd0SZhengjun Xing        "Unit": "cpu_core"
903f9900dd0SZhengjun Xing    },
904f9900dd0SZhengjun Xing    {
9055fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.SHUFFLES",
906f9900dd0SZhengjun Xing        "EventCode": "0xe7",
907f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.SHUFFLES",
908f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
909f9900dd0SZhengjun Xing        "UMask": "0x40",
910f9900dd0SZhengjun Xing        "Unit": "cpu_core"
911f9900dd0SZhengjun Xing    },
912f9900dd0SZhengjun Xing    {
9135fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_128",
914f9900dd0SZhengjun Xing        "EventCode": "0xe7",
915f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_128",
916f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
917f9900dd0SZhengjun Xing        "UMask": "0x10",
918f9900dd0SZhengjun Xing        "Unit": "cpu_core"
919f9900dd0SZhengjun Xing    },
920f9900dd0SZhengjun Xing    {
9215fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_256",
922f9900dd0SZhengjun Xing        "EventCode": "0xe7",
923f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_256",
924f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
925f9900dd0SZhengjun Xing        "UMask": "0x20",
926f9900dd0SZhengjun Xing        "Unit": "cpu_core"
927f9900dd0SZhengjun Xing    },
928f9900dd0SZhengjun Xing    {
9294c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event LD_BLOCKS.ADDRESS_ALIAS",
9304c12f41aSZhengjun Xing        "Deprecated": "1",
9314c12f41aSZhengjun Xing        "EventCode": "0x03",
9324c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.4K_ALIAS",
9334c12f41aSZhengjun Xing        "PEBS": "1",
9344c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9354c12f41aSZhengjun Xing        "UMask": "0x4",
9364c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9374c12f41aSZhengjun Xing    },
9384c12f41aSZhengjun Xing    {
9394c12f41aSZhengjun 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.",
940f9900dd0SZhengjun Xing        "EventCode": "0x03",
941f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9424c12f41aSZhengjun Xing        "PEBS": "1",
9434c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9444c12f41aSZhengjun Xing        "UMask": "0x4",
9454c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9464c12f41aSZhengjun Xing    },
9474c12f41aSZhengjun Xing    {
9484c12f41aSZhengjun Xing        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
9494c12f41aSZhengjun Xing        "EventCode": "0x03",
9504c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9514c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies in MOB due to partial compare on address.",
952f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
953f9900dd0SZhengjun Xing        "UMask": "0x4",
954f9900dd0SZhengjun Xing        "Unit": "cpu_core"
955f9900dd0SZhengjun Xing    },
956f9900dd0SZhengjun Xing    {
9574c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of retired loads that are blocked because its address exactly matches an older store whose data is not ready.",
9584c12f41aSZhengjun Xing        "EventCode": "0x03",
9594c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.DATA_UNKNOWN",
9604c12f41aSZhengjun Xing        "PEBS": "1",
9614c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9624c12f41aSZhengjun Xing        "UMask": "0x1",
9634c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9644c12f41aSZhengjun Xing    },
9654c12f41aSZhengjun Xing    {
966f9900dd0SZhengjun Xing        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
967f9900dd0SZhengjun Xing        "EventCode": "0x03",
968f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.NO_SR",
9694c12f41aSZhengjun 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.",
970f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
971f9900dd0SZhengjun Xing        "UMask": "0x88",
972f9900dd0SZhengjun Xing        "Unit": "cpu_core"
973f9900dd0SZhengjun Xing    },
974f9900dd0SZhengjun Xing    {
975f9900dd0SZhengjun Xing        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
976f9900dd0SZhengjun Xing        "EventCode": "0x03",
977f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.STORE_FORWARD",
9784c12f41aSZhengjun 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.",
979f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
980f9900dd0SZhengjun Xing        "UMask": "0x82",
981f9900dd0SZhengjun Xing        "Unit": "cpu_core"
982f9900dd0SZhengjun Xing    },
983f9900dd0SZhengjun Xing    {
984f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
985f9900dd0SZhengjun Xing        "EventCode": "0x4c",
986f9900dd0SZhengjun Xing        "EventName": "LOAD_HIT_PREFETCH.SWPF",
9874c12f41aSZhengjun 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.",
988f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
989f9900dd0SZhengjun Xing        "UMask": "0x1",
990f9900dd0SZhengjun Xing        "Unit": "cpu_core"
991f9900dd0SZhengjun Xing    },
992f9900dd0SZhengjun Xing    {
993f9900dd0SZhengjun Xing        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
994f9900dd0SZhengjun Xing        "CounterMask": "1",
995f9900dd0SZhengjun Xing        "EventCode": "0xa8",
996f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_ACTIVE",
9974c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when at least one uop 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": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
1004f9900dd0SZhengjun Xing        "CounterMask": "6",
1005f9900dd0SZhengjun Xing        "EventCode": "0xa8",
1006f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_OK",
10074c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
1008f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1009f9900dd0SZhengjun Xing        "UMask": "0x1",
1010f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1011f9900dd0SZhengjun Xing    },
1012f9900dd0SZhengjun Xing    {
1013f9900dd0SZhengjun Xing        "BriefDescription": "Number of Uops delivered by the LSD.",
1014f9900dd0SZhengjun Xing        "EventCode": "0xa8",
1015f9900dd0SZhengjun Xing        "EventName": "LSD.UOPS",
10164c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
1017f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1018f9900dd0SZhengjun Xing        "UMask": "0x1",
1019f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1020f9900dd0SZhengjun Xing    },
1021f9900dd0SZhengjun Xing    {
1022f9900dd0SZhengjun Xing        "BriefDescription": "Number of machine clears (nukes) of any type.",
1023f9900dd0SZhengjun Xing        "CounterMask": "1",
1024f9900dd0SZhengjun Xing        "EdgeDetect": "1",
1025f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1026f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.COUNT",
10274c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
1028f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1029f9900dd0SZhengjun Xing        "UMask": "0x1",
1030f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1031f9900dd0SZhengjun Xing    },
1032f9900dd0SZhengjun Xing    {
10334c12f41aSZhengjun 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.",
10344c12f41aSZhengjun Xing        "EventCode": "0xc3",
10354c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.DISAMBIGUATION",
10364c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10374c12f41aSZhengjun Xing        "UMask": "0x8",
10384c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10394c12f41aSZhengjun Xing    },
10404c12f41aSZhengjun Xing    {
10414c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machines clears due to memory renaming.",
10424c12f41aSZhengjun Xing        "EventCode": "0xc3",
10434c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.MRN_NUKE",
10444c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
10454c12f41aSZhengjun Xing        "UMask": "0x80",
10464c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10474c12f41aSZhengjun Xing    },
10484c12f41aSZhengjun Xing    {
10494c12f41aSZhengjun 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.",
10504c12f41aSZhengjun Xing        "EventCode": "0xc3",
10514c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.PAGE_FAULT",
10524c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10534c12f41aSZhengjun Xing        "UMask": "0x20",
10544c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10554c12f41aSZhengjun Xing    },
10564c12f41aSZhengjun Xing    {
10574c12f41aSZhengjun 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.",
10584c12f41aSZhengjun Xing        "EventCode": "0xc3",
10594c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SLOW",
10604c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10614c12f41aSZhengjun Xing        "UMask": "0x6f",
10624c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10634c12f41aSZhengjun Xing    },
10644c12f41aSZhengjun Xing    {
10654c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears due to program modifying data (self modifying code) within 1K of a recently fetched code page.",
1066f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1067f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10684c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10694c12f41aSZhengjun Xing        "UMask": "0x1",
10704c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10714c12f41aSZhengjun Xing    },
10724c12f41aSZhengjun Xing    {
10734c12f41aSZhengjun Xing        "BriefDescription": "Self-modifying code (SMC) detected.",
10744c12f41aSZhengjun Xing        "EventCode": "0xc3",
10754c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10764c12f41aSZhengjun Xing        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
1077f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1078f9900dd0SZhengjun Xing        "UMask": "0x4",
1079f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1080f9900dd0SZhengjun Xing    },
1081f9900dd0SZhengjun Xing    {
10825fa2481cSZhengjun Xing        "BriefDescription": "MISC2_RETIRED.LFENCE",
1083f9900dd0SZhengjun Xing        "EventCode": "0xe0",
1084f9900dd0SZhengjun Xing        "EventName": "MISC2_RETIRED.LFENCE",
1085f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
1086f9900dd0SZhengjun Xing        "UMask": "0x20",
1087f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1088f9900dd0SZhengjun Xing    },
1089f9900dd0SZhengjun Xing    {
1090f9900dd0SZhengjun Xing        "BriefDescription": "Increments whenever there is an update to the LBR array.",
1091f9900dd0SZhengjun Xing        "EventCode": "0xcc",
1092f9900dd0SZhengjun Xing        "EventName": "MISC_RETIRED.LBR_INSERTS",
10934c12f41aSZhengjun 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.",
1094f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1095f9900dd0SZhengjun Xing        "UMask": "0x20",
1096f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1097f9900dd0SZhengjun Xing    },
1098f9900dd0SZhengjun Xing    {
1099f9900dd0SZhengjun Xing        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
1100f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1101f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SB",
11024c12f41aSZhengjun 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.",
1103f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1104f9900dd0SZhengjun Xing        "UMask": "0x8",
1105f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1106f9900dd0SZhengjun Xing    },
1107f9900dd0SZhengjun Xing    {
1108f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
1109f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1110f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SCOREBOARD",
1111f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1112f9900dd0SZhengjun Xing        "UMask": "0x2",
1113f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1114f9900dd0SZhengjun Xing    },
1115f9900dd0SZhengjun Xing    {
11164c12f41aSZhengjun 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.",
11174c12f41aSZhengjun Xing        "EventCode": "0x75",
11184c12f41aSZhengjun Xing        "EventName": "SERIALIZATION.NON_C01_MS_SCB",
11194c12f41aSZhengjun 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.",
11204c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
11214c12f41aSZhengjun Xing        "UMask": "0x2",
11224c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11234c12f41aSZhengjun Xing    },
11244c12f41aSZhengjun Xing    {
1125f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
1126f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1127f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
11284c12f41aSZhengjun 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.",
1129f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1130f9900dd0SZhengjun Xing        "UMask": "0x2",
1131f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1132f9900dd0SZhengjun Xing    },
1133f9900dd0SZhengjun Xing    {
1134f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculations.",
1135f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1136f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BAD_SPEC_SLOTS",
11374c12f41aSZhengjun 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.",
1138f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1139f9900dd0SZhengjun Xing        "UMask": "0x4",
1140f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1141f9900dd0SZhengjun Xing    },
1142f9900dd0SZhengjun Xing    {
1143f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
1144f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1145f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
11464c12f41aSZhengjun 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.",
1147f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1148f9900dd0SZhengjun Xing        "UMask": "0x8",
1149f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1150f9900dd0SZhengjun Xing    },
1151f9900dd0SZhengjun Xing    {
11525fa2481cSZhengjun Xing        "BriefDescription": "TOPDOWN.MEMORY_BOUND_SLOTS",
1153f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1154f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.MEMORY_BOUND_SLOTS",
1155f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1156f9900dd0SZhengjun Xing        "UMask": "0x10",
1157f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1158f9900dd0SZhengjun Xing    },
1159f9900dd0SZhengjun Xing    {
1160f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
1161f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS",
11624c12f41aSZhengjun 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).",
1163f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1164f9900dd0SZhengjun Xing        "UMask": "0x4",
1165f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1166f9900dd0SZhengjun Xing    },
1167f9900dd0SZhengjun Xing    {
1168f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
1169f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1170f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS_P",
11714c12f41aSZhengjun 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.",
1172f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1173f9900dd0SZhengjun Xing        "UMask": "0x1",
1174f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1175f9900dd0SZhengjun Xing    },
1176f9900dd0SZhengjun Xing    {
11774c12f41aSZhengjun 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.",
11784c12f41aSZhengjun Xing        "EventCode": "0x73",
11794c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.ALL",
11804c12f41aSZhengjun 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.",
11814c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11824c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11834c12f41aSZhengjun Xing    },
11844c12f41aSZhengjun Xing    {
11854c12f41aSZhengjun 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.",
11864c12f41aSZhengjun Xing        "EventCode": "0x73",
11874c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.FASTNUKE",
11884c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11894c12f41aSZhengjun Xing        "UMask": "0x2",
11904c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11914c12f41aSZhengjun Xing    },
11924c12f41aSZhengjun Xing    {
11934c12f41aSZhengjun 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.",
11944c12f41aSZhengjun Xing        "EventCode": "0x73",
11954c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MACHINE_CLEARS",
11964c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11974c12f41aSZhengjun Xing        "UMask": "0x3",
11984c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11994c12f41aSZhengjun Xing    },
12004c12f41aSZhengjun Xing    {
12014c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to branch mispredicts.",
12024c12f41aSZhengjun Xing        "EventCode": "0x73",
12034c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MISPREDICT",
12044c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12054c12f41aSZhengjun Xing        "UMask": "0x4",
12064c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12074c12f41aSZhengjun Xing    },
12084c12f41aSZhengjun Xing    {
12094c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to a machine clear (nuke).",
12104c12f41aSZhengjun Xing        "EventCode": "0x73",
12114c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.NUKE",
12124c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12134c12f41aSZhengjun Xing        "UMask": "0x1",
12144c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12154c12f41aSZhengjun Xing    },
12164c12f41aSZhengjun Xing    {
12174c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to backend stalls.",
12184c12f41aSZhengjun Xing        "EventCode": "0x74",
12194c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALL",
12204c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12214c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12224c12f41aSZhengjun Xing    },
12234c12f41aSZhengjun Xing    {
12244c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to certain allocation restrictions.",
12254c12f41aSZhengjun Xing        "EventCode": "0x74",
12264c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALLOC_RESTRICTIONS",
12274c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12284c12f41aSZhengjun Xing        "UMask": "0x1",
12294c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12304c12f41aSZhengjun Xing    },
12314c12f41aSZhengjun Xing    {
12324c12f41aSZhengjun 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.",
12334c12f41aSZhengjun Xing        "EventCode": "0x74",
12344c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.MEM_SCHEDULER",
12354c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12364c12f41aSZhengjun Xing        "UMask": "0x2",
12374c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12384c12f41aSZhengjun Xing    },
12394c12f41aSZhengjun Xing    {
12404c12f41aSZhengjun 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.",
12414c12f41aSZhengjun Xing        "EventCode": "0x74",
12424c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.NON_MEM_SCHEDULER",
12434c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12444c12f41aSZhengjun Xing        "UMask": "0x8",
12454c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12464c12f41aSZhengjun Xing    },
12474c12f41aSZhengjun Xing    {
12484c12f41aSZhengjun 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).",
12494c12f41aSZhengjun Xing        "EventCode": "0x74",
12504c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REGISTER",
12514c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12524c12f41aSZhengjun Xing        "UMask": "0x20",
12534c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12544c12f41aSZhengjun Xing    },
12554c12f41aSZhengjun Xing    {
12564c12f41aSZhengjun 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).",
12574c12f41aSZhengjun Xing        "EventCode": "0x74",
12584c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REORDER_BUFFER",
12594c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12604c12f41aSZhengjun Xing        "UMask": "0x40",
12614c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12624c12f41aSZhengjun Xing    },
12634c12f41aSZhengjun Xing    {
12644c12f41aSZhengjun 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).",
12654c12f41aSZhengjun Xing        "EventCode": "0x74",
12664c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.SERIALIZATION",
12674c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12684c12f41aSZhengjun Xing        "UMask": "0x10",
12694c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12704c12f41aSZhengjun Xing    },
12714c12f41aSZhengjun Xing    {
12724c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to frontend stalls.",
12734c12f41aSZhengjun Xing        "EventCode": "0x71",
12744c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ALL",
12754c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12764c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12774c12f41aSZhengjun Xing    },
12784c12f41aSZhengjun Xing    {
12794c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BACLEARS.",
12804c12f41aSZhengjun Xing        "EventCode": "0x71",
12814c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_DETECT",
12824c12f41aSZhengjun 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.",
12834c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12844c12f41aSZhengjun Xing        "UMask": "0x2",
12854c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12864c12f41aSZhengjun Xing    },
12874c12f41aSZhengjun Xing    {
12884c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BTCLEARS.",
12894c12f41aSZhengjun Xing        "EventCode": "0x71",
12904c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_RESTEER",
12914c12f41aSZhengjun 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.",
12924c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12934c12f41aSZhengjun Xing        "UMask": "0x40",
12944c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12954c12f41aSZhengjun Xing    },
12964c12f41aSZhengjun Xing    {
12974c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to the microcode sequencer (MS).",
12984c12f41aSZhengjun Xing        "EventCode": "0x71",
12994c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.CISC",
13004c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13014c12f41aSZhengjun Xing        "UMask": "0x1",
13024c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13034c12f41aSZhengjun Xing    },
13044c12f41aSZhengjun Xing    {
13054c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to decode stalls.",
13064c12f41aSZhengjun Xing        "EventCode": "0x71",
13074c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.DECODE",
13084c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13094c12f41aSZhengjun Xing        "UMask": "0x8",
13104c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13114c12f41aSZhengjun Xing    },
13124c12f41aSZhengjun Xing    {
13134c12f41aSZhengjun 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.",
13144c12f41aSZhengjun Xing        "EventCode": "0x71",
13154c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_BANDWIDTH",
13164c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13174c12f41aSZhengjun Xing        "UMask": "0x8d",
13184c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13194c12f41aSZhengjun Xing    },
13204c12f41aSZhengjun Xing    {
13214c12f41aSZhengjun 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.",
13224c12f41aSZhengjun Xing        "EventCode": "0x71",
13234c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_LATENCY",
13244c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13254c12f41aSZhengjun Xing        "UMask": "0x72",
13264c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13274c12f41aSZhengjun Xing    },
13284c12f41aSZhengjun Xing    {
13294c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to ITLB misses.",
13304c12f41aSZhengjun Xing        "EventCode": "0x71",
13314c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ITLB",
13324c12f41aSZhengjun 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.",
13334c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13344c12f41aSZhengjun Xing        "UMask": "0x10",
13354c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13364c12f41aSZhengjun Xing    },
13374c12f41aSZhengjun Xing    {
13384c12f41aSZhengjun 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.",
13394c12f41aSZhengjun Xing        "EventCode": "0x71",
13404c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.OTHER",
13414c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13424c12f41aSZhengjun Xing        "UMask": "0x80",
13434c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13444c12f41aSZhengjun Xing    },
13454c12f41aSZhengjun Xing    {
13464c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to wrong predecodes.",
13474c12f41aSZhengjun Xing        "EventCode": "0x71",
13484c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.PREDECODE",
13494c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13504c12f41aSZhengjun Xing        "UMask": "0x4",
13514c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13524c12f41aSZhengjun Xing    },
13534c12f41aSZhengjun Xing    {
13544c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of consumed retirement slots.",
13554c12f41aSZhengjun Xing        "EventCode": "0xc2",
13564c12f41aSZhengjun Xing        "EventName": "TOPDOWN_RETIRING.ALL",
13574c12f41aSZhengjun Xing        "PEBS": "1",
13584c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13594c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13604c12f41aSZhengjun Xing    },
13614c12f41aSZhengjun Xing    {
13625fa2481cSZhengjun Xing        "BriefDescription": "UOPS_DECODED.DEC0_UOPS",
1363f9900dd0SZhengjun Xing        "EventCode": "0x76",
1364f9900dd0SZhengjun Xing        "EventName": "UOPS_DECODED.DEC0_UOPS",
1365f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1366f9900dd0SZhengjun Xing        "UMask": "0x1",
1367f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1368f9900dd0SZhengjun Xing    },
1369f9900dd0SZhengjun Xing    {
1370f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 0",
1371f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1372f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_0",
13734c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 0.",
1374f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1375f9900dd0SZhengjun Xing        "UMask": "0x1",
1376f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1377f9900dd0SZhengjun Xing    },
1378f9900dd0SZhengjun Xing    {
1379f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 1",
1380f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1381f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_1",
13824c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 1.",
1383f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1384f9900dd0SZhengjun Xing        "UMask": "0x2",
1385f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1386f9900dd0SZhengjun Xing    },
1387f9900dd0SZhengjun Xing    {
1388f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 2, 3 and 10",
1389f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1390f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_2_3_10",
13914c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 2, 3 and 10",
1392f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1393f9900dd0SZhengjun Xing        "UMask": "0x4",
1394f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1395f9900dd0SZhengjun Xing    },
1396f9900dd0SZhengjun Xing    {
1397f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 4 and 9",
1398f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1399f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_4_9",
14004c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 4 and 9",
1401f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1402f9900dd0SZhengjun Xing        "UMask": "0x10",
1403f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1404f9900dd0SZhengjun Xing    },
1405f9900dd0SZhengjun Xing    {
1406f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 5 and 11",
1407f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1408f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_5_11",
14094c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 5 and 11",
1410f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1411f9900dd0SZhengjun Xing        "UMask": "0x20",
1412f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1413f9900dd0SZhengjun Xing    },
1414f9900dd0SZhengjun Xing    {
1415f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 6",
1416f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1417f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_6",
14184c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 6.",
1419f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1420f9900dd0SZhengjun Xing        "UMask": "0x40",
1421f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1422f9900dd0SZhengjun Xing    },
1423f9900dd0SZhengjun Xing    {
1424f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 7 and 8",
1425f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1426f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_7_8",
14274c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  ports 7 and 8.",
1428f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1429f9900dd0SZhengjun Xing        "UMask": "0x80",
1430f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1431f9900dd0SZhengjun Xing    },
1432f9900dd0SZhengjun Xing    {
1433f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
1434f9900dd0SZhengjun Xing        "CounterMask": "1",
1435f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1436f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
14374c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 1 micro-op is 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 2 micro-op is executed from any thread on physical core.",
1444f9900dd0SZhengjun Xing        "CounterMask": "2",
1445f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1446f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
14474c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 2 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 3 micro-op is executed from any thread on physical core.",
1454f9900dd0SZhengjun Xing        "CounterMask": "3",
1455f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1456f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
14574c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 3 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 at least 4 micro-op is executed from any thread on physical core.",
1464f9900dd0SZhengjun Xing        "CounterMask": "4",
1465f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1466f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
14674c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
1468f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1469f9900dd0SZhengjun Xing        "UMask": "0x2",
1470f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1471f9900dd0SZhengjun Xing    },
1472f9900dd0SZhengjun Xing    {
1473f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
1474f9900dd0SZhengjun Xing        "CounterMask": "1",
1475f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1476f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
14774c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 1 uop was 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 2 uops were executed per-thread",
1484f9900dd0SZhengjun Xing        "CounterMask": "2",
1485f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1486f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
14874c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 2 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 3 uops were executed per-thread",
1494f9900dd0SZhengjun Xing        "CounterMask": "3",
1495f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1496f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
14974c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 3 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": "Cycles where at least 4 uops were executed per-thread",
1504f9900dd0SZhengjun Xing        "CounterMask": "4",
1505f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1506f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
15074c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
1508f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1509f9900dd0SZhengjun Xing        "UMask": "0x1",
1510f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1511f9900dd0SZhengjun Xing    },
1512f9900dd0SZhengjun Xing    {
1513f9900dd0SZhengjun Xing        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
1514f9900dd0SZhengjun Xing        "CounterMask": "1",
1515f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1516f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALLS",
1517f9900dd0SZhengjun Xing        "Invert": "1",
15184c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
1519f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1520f9900dd0SZhengjun Xing        "UMask": "0x1",
1521f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1522f9900dd0SZhengjun Xing    },
1523f9900dd0SZhengjun Xing    {
1524f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_EXECUTED.STALLS",
1525f9900dd0SZhengjun Xing        "CounterMask": "1",
15264c12f41aSZhengjun Xing        "Deprecated": "1",
1527f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1528f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
1529f9900dd0SZhengjun Xing        "Invert": "1",
1530f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1531f9900dd0SZhengjun Xing        "UMask": "0x1",
1532f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1533f9900dd0SZhengjun Xing    },
1534f9900dd0SZhengjun Xing    {
1535f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
1536f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1537f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.THREAD",
1538f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1539f9900dd0SZhengjun Xing        "UMask": "0x1",
1540f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1541f9900dd0SZhengjun Xing    },
1542f9900dd0SZhengjun Xing    {
1543f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of x87 uops dispatched.",
1544f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1545f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.X87",
15464c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of x87 uops executed.",
1547f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1548f9900dd0SZhengjun Xing        "UMask": "0x10",
1549f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1550f9900dd0SZhengjun Xing    },
1551f9900dd0SZhengjun Xing    {
1552f9900dd0SZhengjun Xing        "BriefDescription": "Uops that RAT issues to RS",
1553f9900dd0SZhengjun Xing        "EventCode": "0xae",
1554f9900dd0SZhengjun Xing        "EventName": "UOPS_ISSUED.ANY",
15554c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
1556f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1557f9900dd0SZhengjun Xing        "UMask": "0x1",
1558f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1559f9900dd0SZhengjun Xing    },
1560f9900dd0SZhengjun Xing    {
15614c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of uops retired.",
15624c12f41aSZhengjun Xing        "EventCode": "0xc2",
15634c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.ALL",
15644c12f41aSZhengjun Xing        "PEBS": "1",
15654c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15664c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15674c12f41aSZhengjun Xing    },
15684c12f41aSZhengjun Xing    {
1569f9900dd0SZhengjun Xing        "BriefDescription": "Cycles with retired uop(s).",
1570f9900dd0SZhengjun Xing        "CounterMask": "1",
1571f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1572f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.CYCLES",
15734c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where at least one uop has retired.",
1574f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1575f9900dd0SZhengjun Xing        "UMask": "0x2",
1576f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1577f9900dd0SZhengjun Xing    },
1578f9900dd0SZhengjun Xing    {
15795fa2481cSZhengjun Xing        "BriefDescription": "Retired uops except the last uop of each instruction.",
1580f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1581f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.HEAVY",
15824c12f41aSZhengjun 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.",
1583f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1584f9900dd0SZhengjun Xing        "UMask": "0x1",
1585f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1586f9900dd0SZhengjun Xing    },
1587f9900dd0SZhengjun Xing    {
15884c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of integer divide uops retired.",
15894c12f41aSZhengjun Xing        "EventCode": "0xc2",
15904c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.IDIV",
15914c12f41aSZhengjun Xing        "PEBS": "1",
15924c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15934c12f41aSZhengjun Xing        "UMask": "0x10",
15944c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15954c12f41aSZhengjun Xing    },
15964c12f41aSZhengjun Xing    {
15974c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of uops that are from complex flows issued by the micro-sequencer (MS).",
15984c12f41aSZhengjun Xing        "EventCode": "0xc2",
15994c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
16004c12f41aSZhengjun Xing        "PEBS": "1",
16014c12f41aSZhengjun 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.",
16024c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
16034c12f41aSZhengjun Xing        "UMask": "0x1",
16044c12f41aSZhengjun Xing        "Unit": "cpu_atom"
16054c12f41aSZhengjun Xing    },
16064c12f41aSZhengjun Xing    {
16075fa2481cSZhengjun Xing        "BriefDescription": "UOPS_RETIRED.MS",
1608f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1609f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
1610f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
1611f9900dd0SZhengjun Xing        "MSRValue": "0x8",
1612f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1613f9900dd0SZhengjun Xing        "UMask": "0x4",
1614f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1615f9900dd0SZhengjun Xing    },
1616f9900dd0SZhengjun Xing    {
1617f9900dd0SZhengjun Xing        "BriefDescription": "Retirement slots used.",
1618f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1619f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.SLOTS",
16204c12f41aSZhengjun Xing        "PublicDescription": "Counts the retirement slots used each cycle.",
1621f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1622f9900dd0SZhengjun Xing        "UMask": "0x2",
1623f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1624f9900dd0SZhengjun Xing    },
1625f9900dd0SZhengjun Xing    {
1626f9900dd0SZhengjun Xing        "BriefDescription": "Cycles without actually retired uops.",
1627f9900dd0SZhengjun Xing        "CounterMask": "1",
1628f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1629f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALLS",
1630f9900dd0SZhengjun Xing        "Invert": "1",
16314c12f41aSZhengjun Xing        "PublicDescription": "This event counts cycles without actually retired uops.",
1632f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1633f9900dd0SZhengjun Xing        "UMask": "0x2",
1634f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1635f9900dd0SZhengjun Xing    },
1636f9900dd0SZhengjun Xing    {
1637f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_RETIRED.STALLS",
1638f9900dd0SZhengjun Xing        "CounterMask": "1",
16394c12f41aSZhengjun Xing        "Deprecated": "1",
1640f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1641f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1642f9900dd0SZhengjun Xing        "Invert": "1",
1643f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1644f9900dd0SZhengjun Xing        "UMask": "0x2",
1645f9900dd0SZhengjun Xing        "Unit": "cpu_core"
16464c12f41aSZhengjun Xing    },
16474c12f41aSZhengjun Xing    {
16484c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of x87 uops retired, includes those in MS flows.",
16494c12f41aSZhengjun Xing        "EventCode": "0xc2",
16504c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.X87",
16514c12f41aSZhengjun Xing        "PEBS": "1",
16524c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
16534c12f41aSZhengjun Xing        "UMask": "0x2",
16544c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1655f9900dd0SZhengjun Xing    }
1656f9900dd0SZhengjun Xing]
1657