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.",
34*588c8a2dSIan Rogers        "CounterMask": "1",
354c12f41aSZhengjun Xing        "EventCode": "0xb0",
364c12f41aSZhengjun Xing        "EventName": "ARITH.IDIV_ACTIVE",
374c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
384c12f41aSZhengjun Xing        "UMask": "0x8",
394c12f41aSZhengjun Xing        "Unit": "cpu_core"
404c12f41aSZhengjun Xing    },
414c12f41aSZhengjun Xing    {
424c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event ARITH.IDIV_ACTIVE",
434c12f41aSZhengjun Xing        "CounterMask": "1",
444c12f41aSZhengjun Xing        "Deprecated": "1",
454c12f41aSZhengjun Xing        "EventCode": "0xb0",
464c12f41aSZhengjun Xing        "EventName": "ARITH.INT_DIVIDER_ACTIVE",
474c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
484c12f41aSZhengjun Xing        "UMask": "0x8",
494c12f41aSZhengjun Xing        "Unit": "cpu_core"
504c12f41aSZhengjun Xing    },
514c12f41aSZhengjun Xing    {
524c12f41aSZhengjun Xing        "BriefDescription": "Number of occurrences where a microcode assist is invoked by hardware.",
534c12f41aSZhengjun Xing        "EventCode": "0xc1",
544c12f41aSZhengjun Xing        "EventName": "ASSISTS.ANY",
554c12f41aSZhengjun 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.",
564c12f41aSZhengjun Xing        "SampleAfterValue": "100003",
574c12f41aSZhengjun Xing        "UMask": "0x1b",
584c12f41aSZhengjun Xing        "Unit": "cpu_core"
594c12f41aSZhengjun Xing    },
604c12f41aSZhengjun Xing    {
61f9900dd0SZhengjun Xing        "BriefDescription": "Counts the total number of branch instructions retired for all branch types.",
62f9900dd0SZhengjun Xing        "EventCode": "0xc4",
63f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
64f9900dd0SZhengjun Xing        "PEBS": "1",
654c12f41aSZhengjun 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.",
66f9900dd0SZhengjun Xing        "SampleAfterValue": "200003",
67f9900dd0SZhengjun Xing        "Unit": "cpu_atom"
68f9900dd0SZhengjun Xing    },
69f9900dd0SZhengjun Xing    {
704c12f41aSZhengjun Xing        "BriefDescription": "All branch instructions retired.",
714c12f41aSZhengjun Xing        "EventCode": "0xc4",
724c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
734c12f41aSZhengjun Xing        "PEBS": "1",
744c12f41aSZhengjun Xing        "PublicDescription": "Counts all branch instructions retired.",
754c12f41aSZhengjun Xing        "SampleAfterValue": "400009",
764c12f41aSZhengjun Xing        "Unit": "cpu_core"
774c12f41aSZhengjun Xing    },
784c12f41aSZhengjun Xing    {
79f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.NEAR_CALL",
804c12f41aSZhengjun Xing        "Deprecated": "1",
81f9900dd0SZhengjun Xing        "EventCode": "0xc4",
82f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.CALL",
83f9900dd0SZhengjun Xing        "PEBS": "1",
84f9900dd0SZhengjun Xing        "SampleAfterValue": "200003",
85f9900dd0SZhengjun Xing        "UMask": "0xf9",
86f9900dd0SZhengjun Xing        "Unit": "cpu_atom"
87f9900dd0SZhengjun Xing    },
88f9900dd0SZhengjun Xing    {
89a95ab294SIan Rogers        "BriefDescription": "Counts the number of retired JCC (Jump on Conditional Code) branch instructions retired, includes both taken and not taken branches.",
90a95ab294SIan Rogers        "EventCode": "0xc4",
91a95ab294SIan Rogers        "EventName": "BR_INST_RETIRED.COND",
92a95ab294SIan Rogers        "PEBS": "1",
93a95ab294SIan Rogers        "SampleAfterValue": "200003",
94a95ab294SIan Rogers        "UMask": "0x7e",
95a95ab294SIan Rogers        "Unit": "cpu_atom"
96a95ab294SIan Rogers    },
97a95ab294SIan Rogers    {
98f9900dd0SZhengjun Xing        "BriefDescription": "Conditional branch instructions retired.",
99f9900dd0SZhengjun Xing        "EventCode": "0xc4",
100f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND",
101f9900dd0SZhengjun Xing        "PEBS": "1",
1024c12f41aSZhengjun Xing        "PublicDescription": "Counts conditional branch instructions retired.",
103f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
104f9900dd0SZhengjun Xing        "UMask": "0x11",
105f9900dd0SZhengjun Xing        "Unit": "cpu_core"
106f9900dd0SZhengjun Xing    },
107f9900dd0SZhengjun Xing    {
108f9900dd0SZhengjun Xing        "BriefDescription": "Not taken branch instructions retired.",
109f9900dd0SZhengjun Xing        "EventCode": "0xc4",
110f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_NTAKEN",
111f9900dd0SZhengjun Xing        "PEBS": "1",
1124c12f41aSZhengjun Xing        "PublicDescription": "Counts not taken branch instructions retired.",
113f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
114f9900dd0SZhengjun Xing        "UMask": "0x10",
115f9900dd0SZhengjun Xing        "Unit": "cpu_core"
116f9900dd0SZhengjun Xing    },
117f9900dd0SZhengjun Xing    {
1184c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of taken JCC (Jump on Conditional Code) branch instructions retired.",
119f9900dd0SZhengjun Xing        "EventCode": "0xc4",
120f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_TAKEN",
121f9900dd0SZhengjun Xing        "PEBS": "1",
1224c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1234c12f41aSZhengjun Xing        "UMask": "0xfe",
1244c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1254c12f41aSZhengjun Xing    },
1264c12f41aSZhengjun Xing    {
1274c12f41aSZhengjun Xing        "BriefDescription": "Taken conditional branch instructions retired.",
1284c12f41aSZhengjun Xing        "EventCode": "0xc4",
1294c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.COND_TAKEN",
1304c12f41aSZhengjun Xing        "PEBS": "1",
1314c12f41aSZhengjun Xing        "PublicDescription": "Counts taken conditional branch instructions retired.",
132f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
133f9900dd0SZhengjun Xing        "UMask": "0x1",
134f9900dd0SZhengjun Xing        "Unit": "cpu_core"
135f9900dd0SZhengjun Xing    },
136f9900dd0SZhengjun Xing    {
1374c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of far branch instructions retired, includes far jump, far call and return, and interrupt call and return.",
138f9900dd0SZhengjun Xing        "EventCode": "0xc4",
139f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
140f9900dd0SZhengjun Xing        "PEBS": "1",
1414c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1424c12f41aSZhengjun Xing        "UMask": "0xbf",
1434c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1444c12f41aSZhengjun Xing    },
1454c12f41aSZhengjun Xing    {
1464c12f41aSZhengjun Xing        "BriefDescription": "Far branch instructions retired.",
1474c12f41aSZhengjun Xing        "EventCode": "0xc4",
1484c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
1494c12f41aSZhengjun Xing        "PEBS": "1",
1504c12f41aSZhengjun Xing        "PublicDescription": "Counts far branch instructions retired.",
151f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
152f9900dd0SZhengjun Xing        "UMask": "0x40",
153f9900dd0SZhengjun Xing        "Unit": "cpu_core"
154f9900dd0SZhengjun Xing    },
155f9900dd0SZhengjun Xing    {
1564c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near indirect JMP and near indirect CALL branch instructions retired.",
157f9900dd0SZhengjun Xing        "EventCode": "0xc4",
158f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT",
159f9900dd0SZhengjun Xing        "PEBS": "1",
1604c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1614c12f41aSZhengjun Xing        "UMask": "0xeb",
1624c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1634c12f41aSZhengjun Xing    },
1644c12f41aSZhengjun Xing    {
1654c12f41aSZhengjun Xing        "BriefDescription": "Indirect near branch instructions retired (excluding returns)",
1664c12f41aSZhengjun Xing        "EventCode": "0xc4",
1674c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT",
1684c12f41aSZhengjun Xing        "PEBS": "1",
1694c12f41aSZhengjun Xing        "PublicDescription": "Counts near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
170f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
171f9900dd0SZhengjun Xing        "UMask": "0x80",
172f9900dd0SZhengjun Xing        "Unit": "cpu_core"
173f9900dd0SZhengjun Xing    },
174f9900dd0SZhengjun Xing    {
1754c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.",
1764c12f41aSZhengjun Xing        "EventCode": "0xc4",
1774c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.INDIRECT_CALL",
1784c12f41aSZhengjun Xing        "PEBS": "1",
1794c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1804c12f41aSZhengjun Xing        "UMask": "0xfb",
1814c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1824c12f41aSZhengjun Xing    },
1834c12f41aSZhengjun Xing    {
1844c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.INDIRECT_CALL",
1854c12f41aSZhengjun Xing        "Deprecated": "1",
1864c12f41aSZhengjun Xing        "EventCode": "0xc4",
1874c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.IND_CALL",
1884c12f41aSZhengjun Xing        "PEBS": "1",
1894c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
1904c12f41aSZhengjun Xing        "UMask": "0xfb",
1914c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1924c12f41aSZhengjun Xing    },
1934c12f41aSZhengjun Xing    {
1944c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.COND",
1954c12f41aSZhengjun Xing        "Deprecated": "1",
1964c12f41aSZhengjun Xing        "EventCode": "0xc4",
1974c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.JCC",
1984c12f41aSZhengjun Xing        "PEBS": "1",
1994c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2004c12f41aSZhengjun Xing        "UMask": "0x7e",
2014c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2024c12f41aSZhengjun Xing    },
2034c12f41aSZhengjun Xing    {
2044c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near CALL branch instructions retired.",
205f9900dd0SZhengjun Xing        "EventCode": "0xc4",
206f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_CALL",
207f9900dd0SZhengjun Xing        "PEBS": "1",
2084c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2094c12f41aSZhengjun Xing        "UMask": "0xf9",
2104c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2114c12f41aSZhengjun Xing    },
2124c12f41aSZhengjun Xing    {
2134c12f41aSZhengjun Xing        "BriefDescription": "Direct and indirect near call instructions retired.",
2144c12f41aSZhengjun Xing        "EventCode": "0xc4",
2154c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_CALL",
2164c12f41aSZhengjun Xing        "PEBS": "1",
2174c12f41aSZhengjun Xing        "PublicDescription": "Counts both direct and indirect near call instructions retired.",
218f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
219f9900dd0SZhengjun Xing        "UMask": "0x2",
220f9900dd0SZhengjun Xing        "Unit": "cpu_core"
221f9900dd0SZhengjun Xing    },
222f9900dd0SZhengjun Xing    {
2234c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near RET branch instructions retired.",
224f9900dd0SZhengjun Xing        "EventCode": "0xc4",
225f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
226f9900dd0SZhengjun Xing        "PEBS": "1",
2274c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2284c12f41aSZhengjun Xing        "UMask": "0xf7",
2294c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2304c12f41aSZhengjun Xing    },
2314c12f41aSZhengjun Xing    {
2324c12f41aSZhengjun Xing        "BriefDescription": "Return instructions retired.",
2334c12f41aSZhengjun Xing        "EventCode": "0xc4",
2344c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
2354c12f41aSZhengjun Xing        "PEBS": "1",
2364c12f41aSZhengjun Xing        "PublicDescription": "Counts return instructions retired.",
237f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
238f9900dd0SZhengjun Xing        "UMask": "0x8",
239f9900dd0SZhengjun Xing        "Unit": "cpu_core"
240f9900dd0SZhengjun Xing    },
241f9900dd0SZhengjun Xing    {
242f9900dd0SZhengjun Xing        "BriefDescription": "Taken branch instructions retired.",
243f9900dd0SZhengjun Xing        "EventCode": "0xc4",
244f9900dd0SZhengjun Xing        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
245f9900dd0SZhengjun Xing        "PEBS": "1",
2464c12f41aSZhengjun Xing        "PublicDescription": "Counts taken branch instructions retired.",
247f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
248f9900dd0SZhengjun Xing        "UMask": "0x20",
249f9900dd0SZhengjun Xing        "Unit": "cpu_core"
250f9900dd0SZhengjun Xing    },
251f9900dd0SZhengjun Xing    {
2524c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.INDIRECT",
2534c12f41aSZhengjun Xing        "Deprecated": "1",
2544c12f41aSZhengjun Xing        "EventCode": "0xc4",
2554c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.NON_RETURN_IND",
2564c12f41aSZhengjun Xing        "PEBS": "1",
2574c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2584c12f41aSZhengjun Xing        "UMask": "0xeb",
2594c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2604c12f41aSZhengjun Xing    },
2614c12f41aSZhengjun Xing    {
2624c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of near relative CALL branch instructions retired.",
2634c12f41aSZhengjun Xing        "EventCode": "0xc4",
2644c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.REL_CALL",
2654c12f41aSZhengjun Xing        "PEBS": "1",
2664c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2674c12f41aSZhengjun Xing        "UMask": "0xfd",
2684c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2694c12f41aSZhengjun Xing    },
2704c12f41aSZhengjun Xing    {
2714c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.NEAR_RETURN",
2724c12f41aSZhengjun Xing        "Deprecated": "1",
2734c12f41aSZhengjun Xing        "EventCode": "0xc4",
2744c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.RETURN",
2754c12f41aSZhengjun Xing        "PEBS": "1",
2764c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2774c12f41aSZhengjun Xing        "UMask": "0xf7",
2784c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2794c12f41aSZhengjun Xing    },
2804c12f41aSZhengjun Xing    {
2814c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_INST_RETIRED.COND_TAKEN",
2824c12f41aSZhengjun Xing        "Deprecated": "1",
2834c12f41aSZhengjun Xing        "EventCode": "0xc4",
2844c12f41aSZhengjun Xing        "EventName": "BR_INST_RETIRED.TAKEN_JCC",
2854c12f41aSZhengjun Xing        "PEBS": "1",
2864c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2874c12f41aSZhengjun Xing        "UMask": "0xfe",
2884c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2894c12f41aSZhengjun Xing    },
2904c12f41aSZhengjun Xing    {
2914c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of mispredicted branch instructions retired for all branch types.",
292f9900dd0SZhengjun Xing        "EventCode": "0xc5",
293f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
294f9900dd0SZhengjun Xing        "PEBS": "1",
2954c12f41aSZhengjun 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.",
2964c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
2974c12f41aSZhengjun Xing        "Unit": "cpu_atom"
2984c12f41aSZhengjun Xing    },
2994c12f41aSZhengjun Xing    {
3004c12f41aSZhengjun Xing        "BriefDescription": "All mispredicted branch instructions retired.",
3014c12f41aSZhengjun Xing        "EventCode": "0xc5",
3024c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
3034c12f41aSZhengjun Xing        "PEBS": "1",
3044c12f41aSZhengjun 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.",
305f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
306f9900dd0SZhengjun Xing        "Unit": "cpu_core"
307f9900dd0SZhengjun Xing    },
308f9900dd0SZhengjun Xing    {
3094c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted JCC (Jump on Conditional Code) branch instructions retired.",
310f9900dd0SZhengjun Xing        "EventCode": "0xc5",
311f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND",
312f9900dd0SZhengjun Xing        "PEBS": "1",
3134c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3144c12f41aSZhengjun Xing        "UMask": "0x7e",
3154c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3164c12f41aSZhengjun Xing    },
3174c12f41aSZhengjun Xing    {
3184c12f41aSZhengjun Xing        "BriefDescription": "Mispredicted conditional branch instructions retired.",
3194c12f41aSZhengjun Xing        "EventCode": "0xc5",
3204c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND",
3214c12f41aSZhengjun Xing        "PEBS": "1",
3224c12f41aSZhengjun Xing        "PublicDescription": "Counts mispredicted conditional branch instructions retired.",
323f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
324f9900dd0SZhengjun Xing        "UMask": "0x11",
325f9900dd0SZhengjun Xing        "Unit": "cpu_core"
326f9900dd0SZhengjun Xing    },
327f9900dd0SZhengjun Xing    {
328f9900dd0SZhengjun Xing        "BriefDescription": "Mispredicted non-taken conditional branch instructions retired.",
329f9900dd0SZhengjun Xing        "EventCode": "0xc5",
330f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_NTAKEN",
331f9900dd0SZhengjun Xing        "PEBS": "1",
3324c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of conditional branch instructions retired that were mispredicted and the branch direction was not taken.",
333f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
334f9900dd0SZhengjun Xing        "UMask": "0x10",
335f9900dd0SZhengjun Xing        "Unit": "cpu_core"
336f9900dd0SZhengjun Xing    },
337f9900dd0SZhengjun Xing    {
3384c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted taken JCC (Jump on Conditional Code) branch instructions retired.",
339f9900dd0SZhengjun Xing        "EventCode": "0xc5",
340f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
341f9900dd0SZhengjun Xing        "PEBS": "1",
3424c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3434c12f41aSZhengjun Xing        "UMask": "0xfe",
3444c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3454c12f41aSZhengjun Xing    },
3464c12f41aSZhengjun Xing    {
3474c12f41aSZhengjun Xing        "BriefDescription": "number of branch instructions retired that were mispredicted and taken.",
3484c12f41aSZhengjun Xing        "EventCode": "0xc5",
3494c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.COND_TAKEN",
3504c12f41aSZhengjun Xing        "PEBS": "1",
3514c12f41aSZhengjun Xing        "PublicDescription": "Counts taken conditional mispredicted branch instructions retired.",
352f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
353f9900dd0SZhengjun Xing        "UMask": "0x1",
354f9900dd0SZhengjun Xing        "Unit": "cpu_core"
355f9900dd0SZhengjun Xing    },
356f9900dd0SZhengjun Xing    {
3574c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near indirect JMP and near indirect CALL branch instructions retired.",
3584c12f41aSZhengjun Xing        "EventCode": "0xc5",
3594c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT",
3604c12f41aSZhengjun Xing        "PEBS": "1",
3614c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3624c12f41aSZhengjun Xing        "UMask": "0xeb",
3634c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3644c12f41aSZhengjun Xing    },
3654c12f41aSZhengjun Xing    {
366b0365c14SIan Rogers        "BriefDescription": "Miss-predicted near indirect branch instructions retired (excluding returns)",
367b0365c14SIan Rogers        "EventCode": "0xc5",
368b0365c14SIan Rogers        "EventName": "BR_MISP_RETIRED.INDIRECT",
369b0365c14SIan Rogers        "PEBS": "1",
370b0365c14SIan Rogers        "PublicDescription": "Counts miss-predicted near indirect branch instructions retired excluding returns. TSX abort is an indirect branch.",
371b0365c14SIan Rogers        "SampleAfterValue": "100003",
372b0365c14SIan Rogers        "UMask": "0x80",
373b0365c14SIan Rogers        "Unit": "cpu_core"
374b0365c14SIan Rogers    },
375b0365c14SIan Rogers    {
3764c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired.",
377f9900dd0SZhengjun Xing        "EventCode": "0xc5",
378f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
379f9900dd0SZhengjun Xing        "PEBS": "1",
3804c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
3814c12f41aSZhengjun Xing        "UMask": "0xfb",
3824c12f41aSZhengjun Xing        "Unit": "cpu_atom"
3834c12f41aSZhengjun Xing    },
3844c12f41aSZhengjun Xing    {
3854c12f41aSZhengjun Xing        "BriefDescription": "Mispredicted indirect CALL retired.",
3864c12f41aSZhengjun Xing        "EventCode": "0xc5",
3874c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.INDIRECT_CALL",
3884c12f41aSZhengjun Xing        "PEBS": "1",
3894c12f41aSZhengjun Xing        "PublicDescription": "Counts retired mispredicted indirect (near taken) CALL instructions, including both register and memory indirect.",
390f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
391f9900dd0SZhengjun Xing        "UMask": "0x2",
392f9900dd0SZhengjun Xing        "Unit": "cpu_core"
393f9900dd0SZhengjun Xing    },
394f9900dd0SZhengjun Xing    {
3954c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT_CALL",
3964c12f41aSZhengjun Xing        "Deprecated": "1",
3974c12f41aSZhengjun Xing        "EventCode": "0xc5",
3984c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.IND_CALL",
3994c12f41aSZhengjun Xing        "PEBS": "1",
4004c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4014c12f41aSZhengjun Xing        "UMask": "0xfb",
4024c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4034c12f41aSZhengjun Xing    },
4044c12f41aSZhengjun Xing    {
4054c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND",
4064c12f41aSZhengjun Xing        "Deprecated": "1",
4074c12f41aSZhengjun Xing        "EventCode": "0xc5",
4084c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.JCC",
4094c12f41aSZhengjun Xing        "PEBS": "1",
4104c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4114c12f41aSZhengjun Xing        "UMask": "0x7e",
4124c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4134c12f41aSZhengjun Xing    },
4144c12f41aSZhengjun Xing    {
415f9900dd0SZhengjun Xing        "BriefDescription": "Number of near branch instructions retired that were mispredicted and taken.",
416f9900dd0SZhengjun Xing        "EventCode": "0xc5",
417f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
418f9900dd0SZhengjun Xing        "PEBS": "1",
4194c12f41aSZhengjun Xing        "PublicDescription": "Counts number of near branch instructions retired that were mispredicted and taken.",
420f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
421f9900dd0SZhengjun Xing        "UMask": "0x20",
422f9900dd0SZhengjun Xing        "Unit": "cpu_core"
423f9900dd0SZhengjun Xing    },
424f9900dd0SZhengjun Xing    {
4254c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.INDIRECT",
4264c12f41aSZhengjun Xing        "Deprecated": "1",
4274c12f41aSZhengjun Xing        "EventCode": "0xc5",
4284c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
4294c12f41aSZhengjun Xing        "PEBS": "1",
4304c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4314c12f41aSZhengjun Xing        "UMask": "0xeb",
4324c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4334c12f41aSZhengjun Xing    },
4344c12f41aSZhengjun Xing    {
435f9900dd0SZhengjun Xing        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
436f9900dd0SZhengjun Xing        "EventCode": "0xc5",
437f9900dd0SZhengjun Xing        "EventName": "BR_MISP_RETIRED.RET",
438f9900dd0SZhengjun Xing        "PEBS": "1",
4394c12f41aSZhengjun Xing        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
440f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
441f9900dd0SZhengjun Xing        "UMask": "0x8",
442f9900dd0SZhengjun Xing        "Unit": "cpu_core"
443f9900dd0SZhengjun Xing    },
444f9900dd0SZhengjun Xing    {
4454c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired.",
4464c12f41aSZhengjun Xing        "EventCode": "0xc5",
4474c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.RETURN",
4484c12f41aSZhengjun Xing        "PEBS": "1",
4494c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4504c12f41aSZhengjun Xing        "UMask": "0xf7",
4514c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4524c12f41aSZhengjun Xing    },
4534c12f41aSZhengjun Xing    {
4544c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event BR_MISP_RETIRED.COND_TAKEN",
4554c12f41aSZhengjun Xing        "Deprecated": "1",
4564c12f41aSZhengjun Xing        "EventCode": "0xc5",
4574c12f41aSZhengjun Xing        "EventName": "BR_MISP_RETIRED.TAKEN_JCC",
4584c12f41aSZhengjun Xing        "PEBS": "1",
4594c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
4604c12f41aSZhengjun Xing        "UMask": "0xfe",
4614c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4624c12f41aSZhengjun Xing    },
4634c12f41aSZhengjun Xing    {
4645fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 light-weight slower wakeup time but more power saving optimized state.",
4655fa2481cSZhengjun Xing        "EventCode": "0xec",
4665fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C01",
4674c12f41aSZhengjun 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.",
4685fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4695fa2481cSZhengjun Xing        "UMask": "0x10",
4705fa2481cSZhengjun Xing        "Unit": "cpu_core"
4715fa2481cSZhengjun Xing    },
4725fa2481cSZhengjun Xing    {
4735fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.2 light-weight faster wakeup time but less power saving optimized state.",
4745fa2481cSZhengjun Xing        "EventCode": "0xec",
4755fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C02",
4764c12f41aSZhengjun 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.",
4775fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4785fa2481cSZhengjun Xing        "UMask": "0x20",
4795fa2481cSZhengjun Xing        "Unit": "cpu_core"
4805fa2481cSZhengjun Xing    },
4815fa2481cSZhengjun Xing    {
4825fa2481cSZhengjun Xing        "BriefDescription": "Core clocks when the thread is in the C0.1 or C0.2 or running a PAUSE in C0 ACPI state.",
4835fa2481cSZhengjun Xing        "EventCode": "0xec",
4845fa2481cSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.C0_WAIT",
4854c12f41aSZhengjun 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.",
4865fa2481cSZhengjun Xing        "SampleAfterValue": "2000003",
4875fa2481cSZhengjun Xing        "UMask": "0x70",
4885fa2481cSZhengjun Xing        "Unit": "cpu_core"
4895fa2481cSZhengjun Xing    },
4905fa2481cSZhengjun Xing    {
4914c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
4924c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE",
4934c12f41aSZhengjun 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.",
4944c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
4954c12f41aSZhengjun Xing        "UMask": "0x2",
4964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
4974c12f41aSZhengjun Xing    },
4984c12f41aSZhengjun Xing    {
4994c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
5004c12f41aSZhengjun Xing        "EventCode": "0x3c",
5014c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.CORE_P",
5024c12f41aSZhengjun 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.",
5034c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
5044c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5054c12f41aSZhengjun Xing    },
5064c12f41aSZhengjun Xing    {
507f9900dd0SZhengjun Xing        "BriefDescription": "Cycle counts are evenly distributed between active threads in the Core.",
508f9900dd0SZhengjun Xing        "EventCode": "0xec",
509f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.DISTRIBUTED",
5104c12f41aSZhengjun 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.",
511f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
512f9900dd0SZhengjun Xing        "UMask": "0x2",
513f9900dd0SZhengjun Xing        "Unit": "cpu_core"
514f9900dd0SZhengjun Xing    },
515f9900dd0SZhengjun Xing    {
516f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles when this thread is unhalted and the other thread is halted.",
517f9900dd0SZhengjun Xing        "EventCode": "0x3c",
518f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
5194c12f41aSZhengjun Xing        "PublicDescription": "Counts Core crystal clock cycles when current thread is unhalted and the other thread is halted.",
520f9900dd0SZhengjun Xing        "SampleAfterValue": "25003",
521f9900dd0SZhengjun Xing        "UMask": "0x2",
522f9900dd0SZhengjun Xing        "Unit": "cpu_core"
523f9900dd0SZhengjun Xing    },
524f9900dd0SZhengjun Xing    {
5255fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE",
526f9900dd0SZhengjun Xing        "EventCode": "0xec",
527f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE",
528f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
529f9900dd0SZhengjun Xing        "UMask": "0x40",
530f9900dd0SZhengjun Xing        "Unit": "cpu_core"
531f9900dd0SZhengjun Xing    },
532f9900dd0SZhengjun Xing    {
5335fa2481cSZhengjun Xing        "BriefDescription": "CPU_CLK_UNHALTED.PAUSE_INST",
534f9900dd0SZhengjun Xing        "CounterMask": "1",
535f9900dd0SZhengjun Xing        "EdgeDetect": "1",
536f9900dd0SZhengjun Xing        "EventCode": "0xec",
537f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.PAUSE_INST",
538f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
539f9900dd0SZhengjun Xing        "UMask": "0x40",
540f9900dd0SZhengjun Xing        "Unit": "cpu_core"
541f9900dd0SZhengjun Xing    },
542f9900dd0SZhengjun Xing    {
543f9900dd0SZhengjun Xing        "BriefDescription": "Core crystal clock cycles. Cycle counts are evenly distributed between active threads in the Core.",
544f9900dd0SZhengjun Xing        "EventCode": "0x3c",
545f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_DISTRIBUTED",
5464c12f41aSZhengjun 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.",
547f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
548f9900dd0SZhengjun Xing        "UMask": "0x8",
549f9900dd0SZhengjun Xing        "Unit": "cpu_core"
550f9900dd0SZhengjun Xing    },
551f9900dd0SZhengjun Xing    {
5524c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency. (Fixed event)",
553f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5544c12f41aSZhengjun 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.",
555f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5564c12f41aSZhengjun Xing        "UMask": "0x3",
5574c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5584c12f41aSZhengjun Xing    },
5594c12f41aSZhengjun Xing    {
5604c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5614c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
5624c12f41aSZhengjun 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.",
5634c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
564f9900dd0SZhengjun Xing        "UMask": "0x3",
565f9900dd0SZhengjun Xing        "Unit": "cpu_core"
566f9900dd0SZhengjun Xing    },
567f9900dd0SZhengjun Xing    {
5684c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted reference clock cycles at TSC frequency.",
569a95ab294SIan Rogers        "EventCode": "0x3c",
570a95ab294SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5714c12f41aSZhengjun 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.",
572a95ab294SIan Rogers        "SampleAfterValue": "2000003",
5734c12f41aSZhengjun Xing        "UMask": "0x1",
5744c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5754c12f41aSZhengjun Xing    },
5764c12f41aSZhengjun Xing    {
5774c12f41aSZhengjun Xing        "BriefDescription": "Reference cycles when the core is not in halt state.",
5784c12f41aSZhengjun Xing        "EventCode": "0x3c",
5794c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.REF_TSC_P",
5804c12f41aSZhengjun 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.",
5814c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
582a95ab294SIan Rogers        "UMask": "0x1",
583a95ab294SIan Rogers        "Unit": "cpu_core"
584a95ab294SIan Rogers    },
585a95ab294SIan Rogers    {
5864c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles. (Fixed event)",
587f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5884c12f41aSZhengjun 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.",
589f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
5904c12f41aSZhengjun Xing        "UMask": "0x2",
5914c12f41aSZhengjun Xing        "Unit": "cpu_atom"
5924c12f41aSZhengjun Xing    },
5934c12f41aSZhengjun Xing    {
5944c12f41aSZhengjun Xing        "BriefDescription": "Core cycles when the thread is not in halt state",
5954c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD",
5964c12f41aSZhengjun 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.",
5974c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
598f9900dd0SZhengjun Xing        "UMask": "0x2",
599f9900dd0SZhengjun Xing        "Unit": "cpu_core"
600f9900dd0SZhengjun Xing    },
601f9900dd0SZhengjun Xing    {
6024c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of unhalted core clock cycles.",
603f9900dd0SZhengjun Xing        "EventCode": "0x3c",
604f9900dd0SZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
6054c12f41aSZhengjun 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.",
606f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
6074c12f41aSZhengjun Xing        "Unit": "cpu_atom"
6084c12f41aSZhengjun Xing    },
6094c12f41aSZhengjun Xing    {
6104c12f41aSZhengjun Xing        "BriefDescription": "Thread cycles when thread is not in halt state",
6114c12f41aSZhengjun Xing        "EventCode": "0x3c",
6124c12f41aSZhengjun Xing        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
6134c12f41aSZhengjun 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.",
6144c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
615f9900dd0SZhengjun Xing        "Unit": "cpu_core"
616f9900dd0SZhengjun Xing    },
617f9900dd0SZhengjun Xing    {
618f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
619f9900dd0SZhengjun Xing        "CounterMask": "8",
620f9900dd0SZhengjun Xing        "EventCode": "0xa3",
621f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
622f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
623f9900dd0SZhengjun Xing        "UMask": "0x8",
624f9900dd0SZhengjun Xing        "Unit": "cpu_core"
625f9900dd0SZhengjun Xing    },
626f9900dd0SZhengjun Xing    {
627f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
628f9900dd0SZhengjun Xing        "CounterMask": "1",
629f9900dd0SZhengjun Xing        "EventCode": "0xa3",
630f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
631f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
632f9900dd0SZhengjun Xing        "UMask": "0x1",
633f9900dd0SZhengjun Xing        "Unit": "cpu_core"
634f9900dd0SZhengjun Xing    },
635f9900dd0SZhengjun Xing    {
636f9900dd0SZhengjun Xing        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
637f9900dd0SZhengjun Xing        "CounterMask": "16",
638f9900dd0SZhengjun Xing        "EventCode": "0xa3",
639f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
640f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
641f9900dd0SZhengjun Xing        "UMask": "0x10",
642f9900dd0SZhengjun Xing        "Unit": "cpu_core"
643f9900dd0SZhengjun Xing    },
644f9900dd0SZhengjun Xing    {
645f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
646f9900dd0SZhengjun Xing        "CounterMask": "12",
647f9900dd0SZhengjun Xing        "EventCode": "0xa3",
648f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
649f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
650f9900dd0SZhengjun Xing        "UMask": "0xc",
651f9900dd0SZhengjun Xing        "Unit": "cpu_core"
652f9900dd0SZhengjun Xing    },
653f9900dd0SZhengjun Xing    {
654f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
655f9900dd0SZhengjun Xing        "CounterMask": "5",
656f9900dd0SZhengjun Xing        "EventCode": "0xa3",
657f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
658f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
659f9900dd0SZhengjun Xing        "UMask": "0x5",
660f9900dd0SZhengjun Xing        "Unit": "cpu_core"
661f9900dd0SZhengjun Xing    },
662f9900dd0SZhengjun Xing    {
663f9900dd0SZhengjun Xing        "BriefDescription": "Total execution stalls.",
664f9900dd0SZhengjun Xing        "CounterMask": "4",
665f9900dd0SZhengjun Xing        "EventCode": "0xa3",
666f9900dd0SZhengjun Xing        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
667f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
668f9900dd0SZhengjun Xing        "UMask": "0x4",
669f9900dd0SZhengjun Xing        "Unit": "cpu_core"
670f9900dd0SZhengjun Xing    },
671f9900dd0SZhengjun Xing    {
672f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 1 uop is executed on all ports and Reservation Station was not empty.",
673f9900dd0SZhengjun Xing        "EventCode": "0xa6",
674f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.1_PORTS_UTIL",
6754c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 1 uop was executed on all ports and Reservation Station (RS) was not empty.",
676f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
677f9900dd0SZhengjun Xing        "UMask": "0x2",
678f9900dd0SZhengjun Xing        "Unit": "cpu_core"
679f9900dd0SZhengjun Xing    },
680f9900dd0SZhengjun Xing    {
681f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 2 uops are executed on all ports and Reservation Station was not empty.",
682f9900dd0SZhengjun Xing        "EventCode": "0xa6",
683f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.2_PORTS_UTIL",
6844c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which a total of 2 uops were executed on all ports and Reservation Station (RS) was not empty.",
685f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
686f9900dd0SZhengjun Xing        "UMask": "0x4",
687f9900dd0SZhengjun Xing        "Unit": "cpu_core"
688f9900dd0SZhengjun Xing    },
689f9900dd0SZhengjun Xing    {
690f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station was not empty.",
691f9900dd0SZhengjun Xing        "EventCode": "0xa6",
692f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.3_PORTS_UTIL",
6934c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 3 uops are executed on all ports and Reservation Station (RS) was not empty.",
694f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
695f9900dd0SZhengjun Xing        "UMask": "0x8",
696f9900dd0SZhengjun Xing        "Unit": "cpu_core"
697f9900dd0SZhengjun Xing    },
698f9900dd0SZhengjun Xing    {
699f9900dd0SZhengjun Xing        "BriefDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station was not empty.",
700f9900dd0SZhengjun Xing        "EventCode": "0xa6",
701f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.4_PORTS_UTIL",
7024c12f41aSZhengjun Xing        "PublicDescription": "Cycles total of 4 uops are executed on all ports and Reservation Station (RS) was not empty.",
703f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
704f9900dd0SZhengjun Xing        "UMask": "0x10",
705f9900dd0SZhengjun Xing        "Unit": "cpu_core"
706f9900dd0SZhengjun Xing    },
707f9900dd0SZhengjun Xing    {
708f9900dd0SZhengjun Xing        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
709f9900dd0SZhengjun Xing        "CounterMask": "5",
710f9900dd0SZhengjun Xing        "EventCode": "0xa6",
711f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_LOADS",
712f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
713f9900dd0SZhengjun Xing        "UMask": "0x21",
714f9900dd0SZhengjun Xing        "Unit": "cpu_core"
715f9900dd0SZhengjun Xing    },
716f9900dd0SZhengjun Xing    {
717f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where the Store Buffer was full and no loads caused an execution stall.",
718f9900dd0SZhengjun Xing        "CounterMask": "2",
719f9900dd0SZhengjun Xing        "EventCode": "0xa6",
720f9900dd0SZhengjun Xing        "EventName": "EXE_ACTIVITY.BOUND_ON_STORES",
7214c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where the Store Buffer was full and no loads caused an execution stall.",
722f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
723f9900dd0SZhengjun Xing        "UMask": "0x40",
724f9900dd0SZhengjun Xing        "Unit": "cpu_core"
725f9900dd0SZhengjun Xing    },
726f9900dd0SZhengjun Xing    {
7275fa2481cSZhengjun Xing        "BriefDescription": "Cycles no uop executed while RS was not empty, the SB was not full and there was no outstanding load.",
7285fa2481cSZhengjun Xing        "EventCode": "0xa6",
7295fa2481cSZhengjun Xing        "EventName": "EXE_ACTIVITY.EXE_BOUND_0_PORTS",
7304c12f41aSZhengjun 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.",
7315fa2481cSZhengjun Xing        "SampleAfterValue": "1000003",
7325fa2481cSZhengjun Xing        "UMask": "0x80",
7335fa2481cSZhengjun Xing        "Unit": "cpu_core"
7345fa2481cSZhengjun Xing    },
7355fa2481cSZhengjun Xing    {
736f9900dd0SZhengjun Xing        "BriefDescription": "Instruction decoders utilized in a cycle",
737f9900dd0SZhengjun Xing        "EventCode": "0x75",
738f9900dd0SZhengjun Xing        "EventName": "INST_DECODED.DECODERS",
7394c12f41aSZhengjun Xing        "PublicDescription": "Number of decoders utilized in a cycle when the MITE (legacy decode pipeline) fetches instructions.",
740f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
741f9900dd0SZhengjun Xing        "UMask": "0x1",
742f9900dd0SZhengjun Xing        "Unit": "cpu_core"
743f9900dd0SZhengjun Xing    },
744f9900dd0SZhengjun Xing    {
7454c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired. (Fixed event)",
7464c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY",
7474c12f41aSZhengjun Xing        "PEBS": "1",
7484c12f41aSZhengjun 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.",
7494c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7504c12f41aSZhengjun Xing        "UMask": "0x1",
7514c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7524c12f41aSZhengjun Xing    },
7534c12f41aSZhengjun Xing    {
754f9900dd0SZhengjun Xing        "BriefDescription": "Number of instructions retired. Fixed Counter - architectural event",
755f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY",
756f9900dd0SZhengjun Xing        "PEBS": "1",
7574c12f41aSZhengjun 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.",
758f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
759f9900dd0SZhengjun Xing        "UMask": "0x1",
760f9900dd0SZhengjun Xing        "Unit": "cpu_core"
761f9900dd0SZhengjun Xing    },
762f9900dd0SZhengjun Xing    {
7634c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of instructions retired.",
764f9900dd0SZhengjun Xing        "EventCode": "0xc0",
765f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
766f9900dd0SZhengjun Xing        "PEBS": "1",
7674c12f41aSZhengjun 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.",
7684c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
7694c12f41aSZhengjun Xing        "Unit": "cpu_atom"
7704c12f41aSZhengjun Xing    },
7714c12f41aSZhengjun Xing    {
7724c12f41aSZhengjun Xing        "BriefDescription": "Number of instructions retired. General Counter - architectural event",
7734c12f41aSZhengjun Xing        "EventCode": "0xc0",
7744c12f41aSZhengjun Xing        "EventName": "INST_RETIRED.ANY_P",
7754c12f41aSZhengjun Xing        "PEBS": "1",
7764c12f41aSZhengjun 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.",
777f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
778f9900dd0SZhengjun Xing        "Unit": "cpu_core"
779f9900dd0SZhengjun Xing    },
780f9900dd0SZhengjun Xing    {
7815fa2481cSZhengjun Xing        "BriefDescription": "INST_RETIRED.MACRO_FUSED",
782f9900dd0SZhengjun Xing        "EventCode": "0xc0",
783f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.MACRO_FUSED",
784f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
785f9900dd0SZhengjun Xing        "UMask": "0x10",
786f9900dd0SZhengjun Xing        "Unit": "cpu_core"
787f9900dd0SZhengjun Xing    },
788f9900dd0SZhengjun Xing    {
789a95ab294SIan Rogers        "BriefDescription": "Retired NOP instructions.",
790f9900dd0SZhengjun Xing        "EventCode": "0xc0",
791f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.NOP",
7924c12f41aSZhengjun Xing        "PublicDescription": "Counts all retired NOP or ENDBR32/64 instructions",
793f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
794f9900dd0SZhengjun Xing        "UMask": "0x2",
795f9900dd0SZhengjun Xing        "Unit": "cpu_core"
796f9900dd0SZhengjun Xing    },
797f9900dd0SZhengjun Xing    {
798f9900dd0SZhengjun Xing        "BriefDescription": "Precise instruction retired with PEBS precise-distribution",
799f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.PREC_DIST",
800f9900dd0SZhengjun Xing        "PEBS": "1",
8014c12f41aSZhengjun 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.",
802f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
803f9900dd0SZhengjun Xing        "UMask": "0x1",
804f9900dd0SZhengjun Xing        "Unit": "cpu_core"
805f9900dd0SZhengjun Xing    },
806f9900dd0SZhengjun Xing    {
807ad10c920SIan Rogers        "BriefDescription": "Iterations of Repeat string retired instructions.",
808f9900dd0SZhengjun Xing        "EventCode": "0xc0",
809f9900dd0SZhengjun Xing        "EventName": "INST_RETIRED.REP_ITERATION",
810ad10c920SIan 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.",
811f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
812f9900dd0SZhengjun Xing        "UMask": "0x8",
813f9900dd0SZhengjun Xing        "Unit": "cpu_core"
814f9900dd0SZhengjun Xing    },
815f9900dd0SZhengjun Xing    {
816ad10c920SIan Rogers        "BriefDescription": "Clears speculative count",
817ad10c920SIan Rogers        "CounterMask": "1",
818ad10c920SIan Rogers        "EdgeDetect": "1",
819ad10c920SIan Rogers        "EventCode": "0xad",
820ad10c920SIan Rogers        "EventName": "INT_MISC.CLEARS_COUNT",
821ad10c920SIan Rogers        "PublicDescription": "Counts the number of speculative clears due to any type of branch misprediction or machine clears",
822ad10c920SIan Rogers        "SampleAfterValue": "500009",
823ad10c920SIan Rogers        "UMask": "0x1",
824ad10c920SIan Rogers        "Unit": "cpu_core"
825ad10c920SIan Rogers    },
826ad10c920SIan Rogers    {
827f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
828f9900dd0SZhengjun Xing        "EventCode": "0xad",
829f9900dd0SZhengjun Xing        "EventName": "INT_MISC.CLEAR_RESTEER_CYCLES",
8304c12f41aSZhengjun Xing        "PublicDescription": "Cycles after recovery from a branch misprediction or machine clear till the first uop is issued from the resteered path.",
831f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
832f9900dd0SZhengjun Xing        "UMask": "0x80",
833f9900dd0SZhengjun Xing        "Unit": "cpu_core"
834f9900dd0SZhengjun Xing    },
835f9900dd0SZhengjun Xing    {
836f9900dd0SZhengjun Xing        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread",
837f9900dd0SZhengjun Xing        "EventCode": "0xad",
838f9900dd0SZhengjun Xing        "EventName": "INT_MISC.RECOVERY_CYCLES",
8394c12f41aSZhengjun Xing        "PublicDescription": "Counts core cycles when the Resource allocator was stalled due to recovery from an earlier branch misprediction or machine clear event.",
840f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
841f9900dd0SZhengjun Xing        "UMask": "0x1",
842f9900dd0SZhengjun Xing        "Unit": "cpu_core"
843f9900dd0SZhengjun Xing    },
844f9900dd0SZhengjun Xing    {
8455fa2481cSZhengjun Xing        "BriefDescription": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
846f9900dd0SZhengjun Xing        "EventCode": "0xad",
847f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UNKNOWN_BRANCH_CYCLES",
848f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
849f9900dd0SZhengjun Xing        "MSRValue": "0x7",
850f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
851f9900dd0SZhengjun Xing        "UMask": "0x40",
852f9900dd0SZhengjun Xing        "Unit": "cpu_core"
853f9900dd0SZhengjun Xing    },
854f9900dd0SZhengjun Xing    {
855f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where uops got dropped",
856f9900dd0SZhengjun Xing        "EventCode": "0xad",
857f9900dd0SZhengjun Xing        "EventName": "INT_MISC.UOP_DROPPING",
8584c12f41aSZhengjun Xing        "PublicDescription": "Estimated number of Top-down Microarchitecture Analysis slots that got dropped due to non front-end reasons",
859f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
860f9900dd0SZhengjun Xing        "UMask": "0x10",
861f9900dd0SZhengjun Xing        "Unit": "cpu_core"
862f9900dd0SZhengjun Xing    },
863f9900dd0SZhengjun Xing    {
8645fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.128BIT",
865f9900dd0SZhengjun Xing        "EventCode": "0xe7",
866f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.128BIT",
867f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
868f9900dd0SZhengjun Xing        "UMask": "0x13",
869f9900dd0SZhengjun Xing        "Unit": "cpu_core"
870f9900dd0SZhengjun Xing    },
871f9900dd0SZhengjun Xing    {
8725fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.256BIT",
873f9900dd0SZhengjun Xing        "EventCode": "0xe7",
874f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.256BIT",
875f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
876f9900dd0SZhengjun Xing        "UMask": "0xac",
877f9900dd0SZhengjun Xing        "Unit": "cpu_core"
878f9900dd0SZhengjun Xing    },
879f9900dd0SZhengjun Xing    {
880f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 128-bit vector instructions.",
881f9900dd0SZhengjun Xing        "EventCode": "0xe7",
882f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_128",
8834c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 128-bit vector instructions.",
884f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
885f9900dd0SZhengjun Xing        "UMask": "0x3",
886f9900dd0SZhengjun Xing        "Unit": "cpu_core"
887f9900dd0SZhengjun Xing    },
888f9900dd0SZhengjun Xing    {
889f9900dd0SZhengjun Xing        "BriefDescription": "integer ADD, SUB, SAD 256-bit vector instructions.",
890f9900dd0SZhengjun Xing        "EventCode": "0xe7",
891f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.ADD_256",
8924c12f41aSZhengjun Xing        "PublicDescription": "Number of retired integer ADD/SUB (regular or horizontal), SAD 256-bit vector instructions.",
893f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
894f9900dd0SZhengjun Xing        "UMask": "0xc",
895f9900dd0SZhengjun Xing        "Unit": "cpu_core"
896f9900dd0SZhengjun Xing    },
897f9900dd0SZhengjun Xing    {
8985fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.MUL_256",
899f9900dd0SZhengjun Xing        "EventCode": "0xe7",
900f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.MUL_256",
901f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
902f9900dd0SZhengjun Xing        "UMask": "0x80",
903f9900dd0SZhengjun Xing        "Unit": "cpu_core"
904f9900dd0SZhengjun Xing    },
905f9900dd0SZhengjun Xing    {
9065fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.SHUFFLES",
907f9900dd0SZhengjun Xing        "EventCode": "0xe7",
908f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.SHUFFLES",
909f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
910f9900dd0SZhengjun Xing        "UMask": "0x40",
911f9900dd0SZhengjun Xing        "Unit": "cpu_core"
912f9900dd0SZhengjun Xing    },
913f9900dd0SZhengjun Xing    {
9145fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_128",
915f9900dd0SZhengjun Xing        "EventCode": "0xe7",
916f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_128",
917f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
918f9900dd0SZhengjun Xing        "UMask": "0x10",
919f9900dd0SZhengjun Xing        "Unit": "cpu_core"
920f9900dd0SZhengjun Xing    },
921f9900dd0SZhengjun Xing    {
9225fa2481cSZhengjun Xing        "BriefDescription": "INT_VEC_RETIRED.VNNI_256",
923f9900dd0SZhengjun Xing        "EventCode": "0xe7",
924f9900dd0SZhengjun Xing        "EventName": "INT_VEC_RETIRED.VNNI_256",
925f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
926f9900dd0SZhengjun Xing        "UMask": "0x20",
927f9900dd0SZhengjun Xing        "Unit": "cpu_core"
928f9900dd0SZhengjun Xing    },
929f9900dd0SZhengjun Xing    {
9304c12f41aSZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event LD_BLOCKS.ADDRESS_ALIAS",
9314c12f41aSZhengjun Xing        "Deprecated": "1",
9324c12f41aSZhengjun Xing        "EventCode": "0x03",
9334c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.4K_ALIAS",
9344c12f41aSZhengjun Xing        "PEBS": "1",
9354c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9364c12f41aSZhengjun Xing        "UMask": "0x4",
9374c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9384c12f41aSZhengjun Xing    },
9394c12f41aSZhengjun Xing    {
9404c12f41aSZhengjun 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.",
941f9900dd0SZhengjun Xing        "EventCode": "0x03",
942f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9434c12f41aSZhengjun Xing        "PEBS": "1",
9444c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9454c12f41aSZhengjun Xing        "UMask": "0x4",
9464c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9474c12f41aSZhengjun Xing    },
9484c12f41aSZhengjun Xing    {
9494c12f41aSZhengjun Xing        "BriefDescription": "False dependencies in MOB due to partial compare on address.",
9504c12f41aSZhengjun Xing        "EventCode": "0x03",
9514c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.ADDRESS_ALIAS",
9524c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of times a load got blocked due to false dependencies in MOB due to partial compare on address.",
953f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
954f9900dd0SZhengjun Xing        "UMask": "0x4",
955f9900dd0SZhengjun Xing        "Unit": "cpu_core"
956f9900dd0SZhengjun Xing    },
957f9900dd0SZhengjun Xing    {
9584c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of retired loads that are blocked because its address exactly matches an older store whose data is not ready.",
9594c12f41aSZhengjun Xing        "EventCode": "0x03",
9604c12f41aSZhengjun Xing        "EventName": "LD_BLOCKS.DATA_UNKNOWN",
9614c12f41aSZhengjun Xing        "PEBS": "1",
9624c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
9634c12f41aSZhengjun Xing        "UMask": "0x1",
9644c12f41aSZhengjun Xing        "Unit": "cpu_atom"
9654c12f41aSZhengjun Xing    },
9664c12f41aSZhengjun Xing    {
967f9900dd0SZhengjun Xing        "BriefDescription": "The number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
968f9900dd0SZhengjun Xing        "EventCode": "0x03",
969f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.NO_SR",
9704c12f41aSZhengjun 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.",
971f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
972f9900dd0SZhengjun Xing        "UMask": "0x88",
973f9900dd0SZhengjun Xing        "Unit": "cpu_core"
974f9900dd0SZhengjun Xing    },
975f9900dd0SZhengjun Xing    {
976f9900dd0SZhengjun Xing        "BriefDescription": "Loads blocked due to overlapping with a preceding store that cannot be forwarded.",
977f9900dd0SZhengjun Xing        "EventCode": "0x03",
978f9900dd0SZhengjun Xing        "EventName": "LD_BLOCKS.STORE_FORWARD",
9794c12f41aSZhengjun 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.",
980f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
981f9900dd0SZhengjun Xing        "UMask": "0x82",
982f9900dd0SZhengjun Xing        "Unit": "cpu_core"
983f9900dd0SZhengjun Xing    },
984f9900dd0SZhengjun Xing    {
985f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of demand load dispatches that hit L1D fill buffer (FB) allocated for software prefetch.",
986f9900dd0SZhengjun Xing        "EventCode": "0x4c",
987f9900dd0SZhengjun Xing        "EventName": "LOAD_HIT_PREFETCH.SWPF",
9884c12f41aSZhengjun 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.",
989f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
990f9900dd0SZhengjun Xing        "UMask": "0x1",
991f9900dd0SZhengjun Xing        "Unit": "cpu_core"
992f9900dd0SZhengjun Xing    },
993f9900dd0SZhengjun Xing    {
994f9900dd0SZhengjun Xing        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
995f9900dd0SZhengjun Xing        "CounterMask": "1",
996f9900dd0SZhengjun Xing        "EventCode": "0xa8",
997f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_ACTIVE",
9984c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when at least one uop is delivered by the LSD (Loop-stream detector).",
999f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1000f9900dd0SZhengjun Xing        "UMask": "0x1",
1001f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1002f9900dd0SZhengjun Xing    },
1003f9900dd0SZhengjun Xing    {
1004f9900dd0SZhengjun Xing        "BriefDescription": "Cycles optimal number of Uops delivered by the LSD, but did not come from the decoder.",
1005f9900dd0SZhengjun Xing        "CounterMask": "6",
1006f9900dd0SZhengjun Xing        "EventCode": "0xa8",
1007f9900dd0SZhengjun Xing        "EventName": "LSD.CYCLES_OK",
10084c12f41aSZhengjun Xing        "PublicDescription": "Counts the cycles when optimal number of uops is delivered by the LSD (Loop-stream detector).",
1009f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1010f9900dd0SZhengjun Xing        "UMask": "0x1",
1011f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1012f9900dd0SZhengjun Xing    },
1013f9900dd0SZhengjun Xing    {
1014f9900dd0SZhengjun Xing        "BriefDescription": "Number of Uops delivered by the LSD.",
1015f9900dd0SZhengjun Xing        "EventCode": "0xa8",
1016f9900dd0SZhengjun Xing        "EventName": "LSD.UOPS",
10174c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops delivered to the back-end by the LSD(Loop Stream Detector).",
1018f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1019f9900dd0SZhengjun Xing        "UMask": "0x1",
1020f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1021f9900dd0SZhengjun Xing    },
1022f9900dd0SZhengjun Xing    {
1023f9900dd0SZhengjun Xing        "BriefDescription": "Number of machine clears (nukes) of any type.",
1024f9900dd0SZhengjun Xing        "CounterMask": "1",
1025f9900dd0SZhengjun Xing        "EdgeDetect": "1",
1026f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1027f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.COUNT",
10284c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of machine clears (nukes) of any type.",
1029f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1030f9900dd0SZhengjun Xing        "UMask": "0x1",
1031f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1032f9900dd0SZhengjun Xing    },
1033f9900dd0SZhengjun Xing    {
10344c12f41aSZhengjun 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.",
10354c12f41aSZhengjun Xing        "EventCode": "0xc3",
10364c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.DISAMBIGUATION",
10374c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10384c12f41aSZhengjun Xing        "UMask": "0x8",
10394c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10404c12f41aSZhengjun Xing    },
10414c12f41aSZhengjun Xing    {
10424c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machines clears due to memory renaming.",
10434c12f41aSZhengjun Xing        "EventCode": "0xc3",
10444c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.MRN_NUKE",
10454c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
10464c12f41aSZhengjun Xing        "UMask": "0x80",
10474c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10484c12f41aSZhengjun Xing    },
10494c12f41aSZhengjun Xing    {
10504c12f41aSZhengjun 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.",
10514c12f41aSZhengjun Xing        "EventCode": "0xc3",
10524c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.PAGE_FAULT",
10534c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10544c12f41aSZhengjun Xing        "UMask": "0x20",
10554c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10564c12f41aSZhengjun Xing    },
10574c12f41aSZhengjun Xing    {
10584c12f41aSZhengjun 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.",
10594c12f41aSZhengjun Xing        "EventCode": "0xc3",
10604c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SLOW",
10614c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10624c12f41aSZhengjun Xing        "UMask": "0x6f",
10634c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10644c12f41aSZhengjun Xing    },
10654c12f41aSZhengjun Xing    {
10664c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of machine clears due to program modifying data (self modifying code) within 1K of a recently fetched code page.",
1067f9900dd0SZhengjun Xing        "EventCode": "0xc3",
1068f9900dd0SZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10694c12f41aSZhengjun Xing        "SampleAfterValue": "20003",
10704c12f41aSZhengjun Xing        "UMask": "0x1",
10714c12f41aSZhengjun Xing        "Unit": "cpu_atom"
10724c12f41aSZhengjun Xing    },
10734c12f41aSZhengjun Xing    {
10744c12f41aSZhengjun Xing        "BriefDescription": "Self-modifying code (SMC) detected.",
10754c12f41aSZhengjun Xing        "EventCode": "0xc3",
10764c12f41aSZhengjun Xing        "EventName": "MACHINE_CLEARS.SMC",
10774c12f41aSZhengjun Xing        "PublicDescription": "Counts self-modifying code (SMC) detected, which causes a machine clear.",
1078f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1079f9900dd0SZhengjun Xing        "UMask": "0x4",
1080f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1081f9900dd0SZhengjun Xing    },
1082f9900dd0SZhengjun Xing    {
1083*588c8a2dSIan Rogers        "BriefDescription": "LFENCE instructions retired",
1084f9900dd0SZhengjun Xing        "EventCode": "0xe0",
1085f9900dd0SZhengjun Xing        "EventName": "MISC2_RETIRED.LFENCE",
1086*588c8a2dSIan Rogers        "PublicDescription": "number of LFENCE retired instructions",
1087f9900dd0SZhengjun Xing        "SampleAfterValue": "400009",
1088f9900dd0SZhengjun Xing        "UMask": "0x20",
1089f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1090f9900dd0SZhengjun Xing    },
1091f9900dd0SZhengjun Xing    {
1092f9900dd0SZhengjun Xing        "BriefDescription": "Increments whenever there is an update to the LBR array.",
1093f9900dd0SZhengjun Xing        "EventCode": "0xcc",
1094f9900dd0SZhengjun Xing        "EventName": "MISC_RETIRED.LBR_INSERTS",
10954c12f41aSZhengjun 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.",
1096f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1097f9900dd0SZhengjun Xing        "UMask": "0x20",
1098f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1099f9900dd0SZhengjun Xing    },
1100f9900dd0SZhengjun Xing    {
1101f9900dd0SZhengjun Xing        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
1102f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1103f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SB",
11044c12f41aSZhengjun 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.",
1105f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1106f9900dd0SZhengjun Xing        "UMask": "0x8",
1107f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1108f9900dd0SZhengjun Xing    },
1109f9900dd0SZhengjun Xing    {
1110f9900dd0SZhengjun Xing        "BriefDescription": "Counts cycles where the pipeline is stalled due to serializing operations.",
1111f9900dd0SZhengjun Xing        "EventCode": "0xa2",
1112f9900dd0SZhengjun Xing        "EventName": "RESOURCE_STALLS.SCOREBOARD",
1113f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
1114f9900dd0SZhengjun Xing        "UMask": "0x2",
1115f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1116f9900dd0SZhengjun Xing    },
1117f9900dd0SZhengjun Xing    {
11184c12f41aSZhengjun 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.",
11194c12f41aSZhengjun Xing        "EventCode": "0x75",
11204c12f41aSZhengjun Xing        "EventName": "SERIALIZATION.NON_C01_MS_SCB",
11214c12f41aSZhengjun 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.",
11224c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
11234c12f41aSZhengjun Xing        "UMask": "0x2",
11244c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11254c12f41aSZhengjun Xing    },
11264c12f41aSZhengjun Xing    {
1127f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots where no uops were being issued due to lack of back-end resources.",
1128f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1129f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BACKEND_BOUND_SLOTS",
11304c12f41aSZhengjun 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.",
1131f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1132f9900dd0SZhengjun Xing        "UMask": "0x2",
1133f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1134f9900dd0SZhengjun Xing    },
1135f9900dd0SZhengjun Xing    {
1136f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculations.",
1137f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1138f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BAD_SPEC_SLOTS",
11394c12f41aSZhengjun 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.",
1140f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1141f9900dd0SZhengjun Xing        "UMask": "0x4",
1142f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1143f9900dd0SZhengjun Xing    },
1144f9900dd0SZhengjun Xing    {
1145f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots wasted due to incorrect speculation by branch mispredictions",
1146f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1147f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.BR_MISPREDICT_SLOTS",
11484c12f41aSZhengjun 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.",
1149f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1150f9900dd0SZhengjun Xing        "UMask": "0x8",
1151f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1152f9900dd0SZhengjun Xing    },
1153f9900dd0SZhengjun Xing    {
11545fa2481cSZhengjun Xing        "BriefDescription": "TOPDOWN.MEMORY_BOUND_SLOTS",
1155f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1156f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.MEMORY_BOUND_SLOTS",
1157f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1158f9900dd0SZhengjun Xing        "UMask": "0x10",
1159f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1160f9900dd0SZhengjun Xing    },
1161f9900dd0SZhengjun Xing    {
1162f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. Fixed counter - architectural event",
1163f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS",
11644c12f41aSZhengjun 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).",
1165f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1166f9900dd0SZhengjun Xing        "UMask": "0x4",
1167f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1168f9900dd0SZhengjun Xing    },
1169f9900dd0SZhengjun Xing    {
1170f9900dd0SZhengjun Xing        "BriefDescription": "TMA slots available for an unhalted logical processor. General counter - architectural event",
1171f9900dd0SZhengjun Xing        "EventCode": "0xa4",
1172f9900dd0SZhengjun Xing        "EventName": "TOPDOWN.SLOTS_P",
11734c12f41aSZhengjun 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.",
1174f9900dd0SZhengjun Xing        "SampleAfterValue": "10000003",
1175f9900dd0SZhengjun Xing        "UMask": "0x1",
1176f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1177f9900dd0SZhengjun Xing    },
1178f9900dd0SZhengjun Xing    {
11794c12f41aSZhengjun 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.",
11804c12f41aSZhengjun Xing        "EventCode": "0x73",
11814c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.ALL",
11824c12f41aSZhengjun 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.",
11834c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11844c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11854c12f41aSZhengjun Xing    },
11864c12f41aSZhengjun Xing    {
11874c12f41aSZhengjun 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.",
11884c12f41aSZhengjun Xing        "EventCode": "0x73",
11894c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.FASTNUKE",
11904c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11914c12f41aSZhengjun Xing        "UMask": "0x2",
11924c12f41aSZhengjun Xing        "Unit": "cpu_atom"
11934c12f41aSZhengjun Xing    },
11944c12f41aSZhengjun Xing    {
11954c12f41aSZhengjun 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.",
11964c12f41aSZhengjun Xing        "EventCode": "0x73",
11974c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MACHINE_CLEARS",
11984c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
11994c12f41aSZhengjun Xing        "UMask": "0x3",
12004c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12014c12f41aSZhengjun Xing    },
12024c12f41aSZhengjun Xing    {
12034c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to branch mispredicts.",
12044c12f41aSZhengjun Xing        "EventCode": "0x73",
12054c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.MISPREDICT",
12064c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12074c12f41aSZhengjun Xing        "UMask": "0x4",
12084c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12094c12f41aSZhengjun Xing    },
12104c12f41aSZhengjun Xing    {
12114c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to a machine clear (nuke).",
12124c12f41aSZhengjun Xing        "EventCode": "0x73",
12134c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BAD_SPECULATION.NUKE",
12144c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12154c12f41aSZhengjun Xing        "UMask": "0x1",
12164c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12174c12f41aSZhengjun Xing    },
12184c12f41aSZhengjun Xing    {
12194c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to backend stalls.",
12204c12f41aSZhengjun Xing        "EventCode": "0x74",
12214c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALL",
12224c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12234c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12244c12f41aSZhengjun Xing    },
12254c12f41aSZhengjun Xing    {
12264c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not consumed by the backend due to certain allocation restrictions.",
12274c12f41aSZhengjun Xing        "EventCode": "0x74",
12284c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.ALLOC_RESTRICTIONS",
12294c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12304c12f41aSZhengjun Xing        "UMask": "0x1",
12314c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12324c12f41aSZhengjun Xing    },
12334c12f41aSZhengjun Xing    {
12344c12f41aSZhengjun 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.",
12354c12f41aSZhengjun Xing        "EventCode": "0x74",
12364c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.MEM_SCHEDULER",
12374c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12384c12f41aSZhengjun Xing        "UMask": "0x2",
12394c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12404c12f41aSZhengjun Xing    },
12414c12f41aSZhengjun Xing    {
12424c12f41aSZhengjun 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.",
12434c12f41aSZhengjun Xing        "EventCode": "0x74",
12444c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.NON_MEM_SCHEDULER",
12454c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12464c12f41aSZhengjun Xing        "UMask": "0x8",
12474c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12484c12f41aSZhengjun Xing    },
12494c12f41aSZhengjun Xing    {
12504c12f41aSZhengjun 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).",
12514c12f41aSZhengjun Xing        "EventCode": "0x74",
12524c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REGISTER",
12534c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12544c12f41aSZhengjun Xing        "UMask": "0x20",
12554c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12564c12f41aSZhengjun Xing    },
12574c12f41aSZhengjun Xing    {
12584c12f41aSZhengjun 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).",
12594c12f41aSZhengjun Xing        "EventCode": "0x74",
12604c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.REORDER_BUFFER",
12614c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12624c12f41aSZhengjun Xing        "UMask": "0x40",
12634c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12644c12f41aSZhengjun Xing    },
12654c12f41aSZhengjun Xing    {
12664c12f41aSZhengjun 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).",
12674c12f41aSZhengjun Xing        "EventCode": "0x74",
12684c12f41aSZhengjun Xing        "EventName": "TOPDOWN_BE_BOUND.SERIALIZATION",
12694c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12704c12f41aSZhengjun Xing        "UMask": "0x10",
12714c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12724c12f41aSZhengjun Xing    },
12734c12f41aSZhengjun Xing    {
12744c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of issue slots every cycle that were not consumed by the backend due to frontend stalls.",
12754c12f41aSZhengjun Xing        "EventCode": "0x71",
12764c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ALL",
12774c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12784c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12794c12f41aSZhengjun Xing    },
12804c12f41aSZhengjun Xing    {
12814c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BACLEARS.",
12824c12f41aSZhengjun Xing        "EventCode": "0x71",
12834c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_DETECT",
12844c12f41aSZhengjun 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.",
12854c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12864c12f41aSZhengjun Xing        "UMask": "0x2",
12874c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12884c12f41aSZhengjun Xing    },
12894c12f41aSZhengjun Xing    {
12904c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to BTCLEARS.",
12914c12f41aSZhengjun Xing        "EventCode": "0x71",
12924c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.BRANCH_RESTEER",
12934c12f41aSZhengjun 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.",
12944c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
12954c12f41aSZhengjun Xing        "UMask": "0x40",
12964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
12974c12f41aSZhengjun Xing    },
12984c12f41aSZhengjun Xing    {
12994c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to the microcode sequencer (MS).",
13004c12f41aSZhengjun Xing        "EventCode": "0x71",
13014c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.CISC",
13024c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13034c12f41aSZhengjun Xing        "UMask": "0x1",
13044c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13054c12f41aSZhengjun Xing    },
13064c12f41aSZhengjun Xing    {
13074c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to decode stalls.",
13084c12f41aSZhengjun Xing        "EventCode": "0x71",
13094c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.DECODE",
13104c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13114c12f41aSZhengjun Xing        "UMask": "0x8",
13124c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13134c12f41aSZhengjun Xing    },
13144c12f41aSZhengjun Xing    {
13154c12f41aSZhengjun 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.",
13164c12f41aSZhengjun Xing        "EventCode": "0x71",
13174c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_BANDWIDTH",
13184c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13194c12f41aSZhengjun Xing        "UMask": "0x8d",
13204c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13214c12f41aSZhengjun Xing    },
13224c12f41aSZhengjun Xing    {
13234c12f41aSZhengjun 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.",
13244c12f41aSZhengjun Xing        "EventCode": "0x71",
13254c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.FRONTEND_LATENCY",
13264c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13274c12f41aSZhengjun Xing        "UMask": "0x72",
13284c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13294c12f41aSZhengjun Xing    },
13304c12f41aSZhengjun Xing    {
13314c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to ITLB misses.",
13324c12f41aSZhengjun Xing        "EventCode": "0x71",
13334c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.ITLB",
13344c12f41aSZhengjun 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.",
13354c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13364c12f41aSZhengjun Xing        "UMask": "0x10",
13374c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13384c12f41aSZhengjun Xing    },
13394c12f41aSZhengjun Xing    {
13404c12f41aSZhengjun 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.",
13414c12f41aSZhengjun Xing        "EventCode": "0x71",
13424c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.OTHER",
13434c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13444c12f41aSZhengjun Xing        "UMask": "0x80",
13454c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13464c12f41aSZhengjun Xing    },
13474c12f41aSZhengjun Xing    {
13484c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of issue slots every cycle that were not delivered by the frontend due to wrong predecodes.",
13494c12f41aSZhengjun Xing        "EventCode": "0x71",
13504c12f41aSZhengjun Xing        "EventName": "TOPDOWN_FE_BOUND.PREDECODE",
13514c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13524c12f41aSZhengjun Xing        "UMask": "0x4",
13534c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13544c12f41aSZhengjun Xing    },
13554c12f41aSZhengjun Xing    {
13564c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of consumed retirement slots.",
13574c12f41aSZhengjun Xing        "EventCode": "0xc2",
13584c12f41aSZhengjun Xing        "EventName": "TOPDOWN_RETIRING.ALL",
13594c12f41aSZhengjun Xing        "PEBS": "1",
13604c12f41aSZhengjun Xing        "SampleAfterValue": "1000003",
13614c12f41aSZhengjun Xing        "Unit": "cpu_atom"
13624c12f41aSZhengjun Xing    },
13634c12f41aSZhengjun Xing    {
13645fa2481cSZhengjun Xing        "BriefDescription": "UOPS_DECODED.DEC0_UOPS",
1365f9900dd0SZhengjun Xing        "EventCode": "0x76",
1366f9900dd0SZhengjun Xing        "EventName": "UOPS_DECODED.DEC0_UOPS",
1367f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1368f9900dd0SZhengjun Xing        "UMask": "0x1",
1369f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1370f9900dd0SZhengjun Xing    },
1371f9900dd0SZhengjun Xing    {
1372f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 0",
1373f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1374f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_0",
13754c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 0.",
1376f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1377f9900dd0SZhengjun Xing        "UMask": "0x1",
1378f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1379f9900dd0SZhengjun Xing    },
1380f9900dd0SZhengjun Xing    {
1381f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 1",
1382f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1383f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_1",
13844c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 1.",
1385f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1386f9900dd0SZhengjun Xing        "UMask": "0x2",
1387f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1388f9900dd0SZhengjun Xing    },
1389f9900dd0SZhengjun Xing    {
1390f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 2, 3 and 10",
1391f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1392f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_2_3_10",
13934c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 2, 3 and 10",
1394f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1395f9900dd0SZhengjun Xing        "UMask": "0x4",
1396f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1397f9900dd0SZhengjun Xing    },
1398f9900dd0SZhengjun Xing    {
1399f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 4 and 9",
1400f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1401f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_4_9",
14024c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 4 and 9",
1403f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1404f9900dd0SZhengjun Xing        "UMask": "0x10",
1405f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1406f9900dd0SZhengjun Xing    },
1407f9900dd0SZhengjun Xing    {
1408f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 5 and 11",
1409f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1410f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_5_11",
14114c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution ports 5 and 11",
1412f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1413f9900dd0SZhengjun Xing        "UMask": "0x20",
1414f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1415f9900dd0SZhengjun Xing    },
1416f9900dd0SZhengjun Xing    {
1417f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on port 6",
1418f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1419f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_6",
14204c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  port 6.",
1421f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1422f9900dd0SZhengjun Xing        "UMask": "0x40",
1423f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1424f9900dd0SZhengjun Xing    },
1425f9900dd0SZhengjun Xing    {
1426f9900dd0SZhengjun Xing        "BriefDescription": "Uops executed on ports 7 and 8",
1427f9900dd0SZhengjun Xing        "EventCode": "0xb2",
1428f9900dd0SZhengjun Xing        "EventName": "UOPS_DISPATCHED.PORT_7_8",
14294c12f41aSZhengjun Xing        "PublicDescription": "Number of uops dispatch to execution  ports 7 and 8.",
1430f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1431f9900dd0SZhengjun Xing        "UMask": "0x80",
1432f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1433f9900dd0SZhengjun Xing    },
1434f9900dd0SZhengjun Xing    {
1435f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
1436f9900dd0SZhengjun Xing        "CounterMask": "1",
1437f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1438f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
14394c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 1 micro-op is executed from any thread on physical core.",
1440f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1441f9900dd0SZhengjun Xing        "UMask": "0x2",
1442f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1443f9900dd0SZhengjun Xing    },
1444f9900dd0SZhengjun Xing    {
1445f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
1446f9900dd0SZhengjun Xing        "CounterMask": "2",
1447f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1448f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
14494c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 2 micro-ops are executed from any thread on physical core.",
1450f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1451f9900dd0SZhengjun Xing        "UMask": "0x2",
1452f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1453f9900dd0SZhengjun Xing    },
1454f9900dd0SZhengjun Xing    {
1455f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
1456f9900dd0SZhengjun Xing        "CounterMask": "3",
1457f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1458f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
14594c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 3 micro-ops are executed from any thread on physical core.",
1460f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1461f9900dd0SZhengjun Xing        "UMask": "0x2",
1462f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1463f9900dd0SZhengjun Xing    },
1464f9900dd0SZhengjun Xing    {
1465f9900dd0SZhengjun Xing        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
1466f9900dd0SZhengjun Xing        "CounterMask": "4",
1467f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1468f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
14694c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles when at least 4 micro-ops are executed from any thread on physical core.",
1470f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1471f9900dd0SZhengjun Xing        "UMask": "0x2",
1472f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1473f9900dd0SZhengjun Xing    },
1474f9900dd0SZhengjun Xing    {
1475f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 1 uop was executed per-thread",
1476f9900dd0SZhengjun Xing        "CounterMask": "1",
1477f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1478f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_1",
14794c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 1 uop was executed per-thread.",
1480f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1481f9900dd0SZhengjun Xing        "UMask": "0x1",
1482f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1483f9900dd0SZhengjun Xing    },
1484f9900dd0SZhengjun Xing    {
1485f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 2 uops were executed per-thread",
1486f9900dd0SZhengjun Xing        "CounterMask": "2",
1487f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1488f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_2",
14894c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 2 uops were executed per-thread.",
1490f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1491f9900dd0SZhengjun Xing        "UMask": "0x1",
1492f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1493f9900dd0SZhengjun Xing    },
1494f9900dd0SZhengjun Xing    {
1495f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 3 uops were executed per-thread",
1496f9900dd0SZhengjun Xing        "CounterMask": "3",
1497f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1498f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_3",
14994c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 3 uops were executed per-thread.",
1500f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1501f9900dd0SZhengjun Xing        "UMask": "0x1",
1502f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1503f9900dd0SZhengjun Xing    },
1504f9900dd0SZhengjun Xing    {
1505f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where at least 4 uops were executed per-thread",
1506f9900dd0SZhengjun Xing        "CounterMask": "4",
1507f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1508f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.CYCLES_GE_4",
15094c12f41aSZhengjun Xing        "PublicDescription": "Cycles where at least 4 uops were executed per-thread.",
1510f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1511f9900dd0SZhengjun Xing        "UMask": "0x1",
1512f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1513f9900dd0SZhengjun Xing    },
1514f9900dd0SZhengjun Xing    {
1515f9900dd0SZhengjun Xing        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
1516f9900dd0SZhengjun Xing        "CounterMask": "1",
1517f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1518f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALLS",
1519f9900dd0SZhengjun Xing        "Invert": "1",
15204c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
1521f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1522f9900dd0SZhengjun Xing        "UMask": "0x1",
1523f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1524f9900dd0SZhengjun Xing    },
1525f9900dd0SZhengjun Xing    {
1526f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_EXECUTED.STALLS",
1527f9900dd0SZhengjun Xing        "CounterMask": "1",
15284c12f41aSZhengjun Xing        "Deprecated": "1",
1529f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1530f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
1531f9900dd0SZhengjun Xing        "Invert": "1",
1532f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1533f9900dd0SZhengjun Xing        "UMask": "0x1",
1534f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1535f9900dd0SZhengjun Xing    },
1536f9900dd0SZhengjun Xing    {
1537f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
1538f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1539f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.THREAD",
1540f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1541f9900dd0SZhengjun Xing        "UMask": "0x1",
1542f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1543f9900dd0SZhengjun Xing    },
1544f9900dd0SZhengjun Xing    {
1545f9900dd0SZhengjun Xing        "BriefDescription": "Counts the number of x87 uops dispatched.",
1546f9900dd0SZhengjun Xing        "EventCode": "0xb1",
1547f9900dd0SZhengjun Xing        "EventName": "UOPS_EXECUTED.X87",
15484c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of x87 uops executed.",
1549f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1550f9900dd0SZhengjun Xing        "UMask": "0x10",
1551f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1552f9900dd0SZhengjun Xing    },
1553f9900dd0SZhengjun Xing    {
1554f9900dd0SZhengjun Xing        "BriefDescription": "Uops that RAT issues to RS",
1555f9900dd0SZhengjun Xing        "EventCode": "0xae",
1556f9900dd0SZhengjun Xing        "EventName": "UOPS_ISSUED.ANY",
15574c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops that the Resource Allocation Table (RAT) issues to the Reservation Station (RS).",
1558f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1559f9900dd0SZhengjun Xing        "UMask": "0x1",
1560f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1561f9900dd0SZhengjun Xing    },
1562f9900dd0SZhengjun Xing    {
15634c12f41aSZhengjun Xing        "BriefDescription": "Counts the total number of uops retired.",
15644c12f41aSZhengjun Xing        "EventCode": "0xc2",
15654c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.ALL",
15664c12f41aSZhengjun Xing        "PEBS": "1",
15674c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15684c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15694c12f41aSZhengjun Xing    },
15704c12f41aSZhengjun Xing    {
1571f9900dd0SZhengjun Xing        "BriefDescription": "Cycles with retired uop(s).",
1572f9900dd0SZhengjun Xing        "CounterMask": "1",
1573f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1574f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.CYCLES",
15754c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where at least one uop has retired.",
1576f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1577f9900dd0SZhengjun Xing        "UMask": "0x2",
1578f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1579f9900dd0SZhengjun Xing    },
1580f9900dd0SZhengjun Xing    {
15815fa2481cSZhengjun Xing        "BriefDescription": "Retired uops except the last uop of each instruction.",
1582f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1583f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.HEAVY",
15844c12f41aSZhengjun 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.",
1585f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1586f9900dd0SZhengjun Xing        "UMask": "0x1",
1587f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1588f9900dd0SZhengjun Xing    },
1589f9900dd0SZhengjun Xing    {
15904c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of integer divide uops retired.",
15914c12f41aSZhengjun Xing        "EventCode": "0xc2",
15924c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.IDIV",
15934c12f41aSZhengjun Xing        "PEBS": "1",
15944c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
15954c12f41aSZhengjun Xing        "UMask": "0x10",
15964c12f41aSZhengjun Xing        "Unit": "cpu_atom"
15974c12f41aSZhengjun Xing    },
15984c12f41aSZhengjun Xing    {
15994c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of uops that are from complex flows issued by the micro-sequencer (MS).",
16004c12f41aSZhengjun Xing        "EventCode": "0xc2",
16014c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
16024c12f41aSZhengjun Xing        "PEBS": "1",
16034c12f41aSZhengjun 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.",
16044c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
16054c12f41aSZhengjun Xing        "UMask": "0x1",
16064c12f41aSZhengjun Xing        "Unit": "cpu_atom"
16074c12f41aSZhengjun Xing    },
16084c12f41aSZhengjun Xing    {
16095fa2481cSZhengjun Xing        "BriefDescription": "UOPS_RETIRED.MS",
1610f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1611f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.MS",
1612f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
1613f9900dd0SZhengjun Xing        "MSRValue": "0x8",
1614f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1615f9900dd0SZhengjun Xing        "UMask": "0x4",
1616f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1617f9900dd0SZhengjun Xing    },
1618f9900dd0SZhengjun Xing    {
1619f9900dd0SZhengjun Xing        "BriefDescription": "Retirement slots used.",
1620f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1621f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.SLOTS",
16224c12f41aSZhengjun Xing        "PublicDescription": "Counts the retirement slots used each cycle.",
1623f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
1624f9900dd0SZhengjun Xing        "UMask": "0x2",
1625f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1626f9900dd0SZhengjun Xing    },
1627f9900dd0SZhengjun Xing    {
1628f9900dd0SZhengjun Xing        "BriefDescription": "Cycles without actually retired uops.",
1629f9900dd0SZhengjun Xing        "CounterMask": "1",
1630f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1631f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALLS",
1632f9900dd0SZhengjun Xing        "Invert": "1",
16334c12f41aSZhengjun Xing        "PublicDescription": "This event counts cycles without actually retired uops.",
1634f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1635f9900dd0SZhengjun Xing        "UMask": "0x2",
1636f9900dd0SZhengjun Xing        "Unit": "cpu_core"
1637f9900dd0SZhengjun Xing    },
1638f9900dd0SZhengjun Xing    {
1639f9900dd0SZhengjun Xing        "BriefDescription": "This event is deprecated. Refer to new event UOPS_RETIRED.STALLS",
1640f9900dd0SZhengjun Xing        "CounterMask": "1",
16414c12f41aSZhengjun Xing        "Deprecated": "1",
1642f9900dd0SZhengjun Xing        "EventCode": "0xc2",
1643f9900dd0SZhengjun Xing        "EventName": "UOPS_RETIRED.STALL_CYCLES",
1644f9900dd0SZhengjun Xing        "Invert": "1",
1645f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
1646f9900dd0SZhengjun Xing        "UMask": "0x2",
1647f9900dd0SZhengjun Xing        "Unit": "cpu_core"
16484c12f41aSZhengjun Xing    },
16494c12f41aSZhengjun Xing    {
16504c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of x87 uops retired, includes those in MS flows.",
16514c12f41aSZhengjun Xing        "EventCode": "0xc2",
16524c12f41aSZhengjun Xing        "EventName": "UOPS_RETIRED.X87",
16534c12f41aSZhengjun Xing        "PEBS": "1",
16544c12f41aSZhengjun Xing        "SampleAfterValue": "2000003",
16554c12f41aSZhengjun Xing        "UMask": "0x2",
16564c12f41aSZhengjun Xing        "Unit": "cpu_atom"
1657f9900dd0SZhengjun Xing    }
1658f9900dd0SZhengjun Xing]
1659