1b74d1315SAndi Kleen[
2b74d1315SAndi Kleen    {
3b74d1315SAndi Kleen        "BriefDescription": "Cycles when divider is busy executing divide operations",
410e8d85fSIan Rogers        "EventCode": "0x14",
510e8d85fSIan Rogers        "EventName": "ARITH.FPU_DIV_ACTIVE",
610e8d85fSIan Rogers        "PublicDescription": "This event counts the number of the divide operations executed. Uses edge-detect and a cmask value of 1 on ARITH.FPU_DIV_ACTIVE to get the number of the divide operations executed.",
7b3ab8adcSAndi Kleen        "SampleAfterValue": "2000003",
810e8d85fSIan Rogers        "UMask": "0x1"
9b3ab8adcSAndi Kleen    },
10b3ab8adcSAndi Kleen    {
1110e8d85fSIan Rogers        "BriefDescription": "Speculative and retired  branches",
1210e8d85fSIan Rogers        "EventCode": "0x88",
1310e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_BRANCHES",
1410e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired branch instructions.",
1510e8d85fSIan Rogers        "SampleAfterValue": "200003",
1610e8d85fSIan Rogers        "UMask": "0xff"
17b3ab8adcSAndi Kleen    },
18b3ab8adcSAndi Kleen    {
1910e8d85fSIan Rogers        "BriefDescription": "Speculative and retired macro-conditional branches",
2010e8d85fSIan Rogers        "EventCode": "0x88",
2110e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
2210e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-conditional branch instructions.",
2310e8d85fSIan Rogers        "SampleAfterValue": "200003",
2410e8d85fSIan Rogers        "UMask": "0xc1"
25b3ab8adcSAndi Kleen    },
26b3ab8adcSAndi Kleen    {
2710e8d85fSIan Rogers        "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects",
2810e8d85fSIan Rogers        "EventCode": "0x88",
2910e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
3010e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-unconditional branch instructions, excluding calls and indirects.",
3110e8d85fSIan Rogers        "SampleAfterValue": "200003",
3210e8d85fSIan Rogers        "UMask": "0xc2"
33b3ab8adcSAndi Kleen    },
34b3ab8adcSAndi Kleen    {
3510e8d85fSIan Rogers        "BriefDescription": "Speculative and retired direct near calls",
3610e8d85fSIan Rogers        "EventCode": "0x88",
3710e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
3810e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired direct near calls.",
3910e8d85fSIan Rogers        "SampleAfterValue": "200003",
4010e8d85fSIan Rogers        "UMask": "0xd0"
41b3ab8adcSAndi Kleen    },
42b3ab8adcSAndi Kleen    {
4310e8d85fSIan Rogers        "BriefDescription": "Speculative and retired indirect branches excluding calls and returns",
4410e8d85fSIan Rogers        "EventCode": "0x88",
4510e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
4610e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches excluding calls and return branches.",
4710e8d85fSIan Rogers        "SampleAfterValue": "200003",
4810e8d85fSIan Rogers        "UMask": "0xc4"
49b3ab8adcSAndi Kleen    },
50b3ab8adcSAndi Kleen    {
5110e8d85fSIan Rogers        "BriefDescription": "Speculative and retired indirect return branches.",
5210e8d85fSIan Rogers        "EventCode": "0x88",
5310e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
5410e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches that have a return mnemonic.",
5510e8d85fSIan Rogers        "SampleAfterValue": "200003",
5610e8d85fSIan Rogers        "UMask": "0xc8"
57b3ab8adcSAndi Kleen    },
58b3ab8adcSAndi Kleen    {
5910e8d85fSIan Rogers        "BriefDescription": "Not taken macro-conditional branches",
6010e8d85fSIan Rogers        "EventCode": "0x88",
6110e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
6210e8d85fSIan Rogers        "PublicDescription": "This event counts not taken macro-conditional branch instructions.",
6310e8d85fSIan Rogers        "SampleAfterValue": "200003",
6410e8d85fSIan Rogers        "UMask": "0x41"
6510e8d85fSIan Rogers    },
6610e8d85fSIan Rogers    {
6710e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired macro-conditional branches",
6810e8d85fSIan Rogers        "EventCode": "0x88",
6910e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
7010e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions.",
7110e8d85fSIan Rogers        "SampleAfterValue": "200003",
7210e8d85fSIan Rogers        "UMask": "0x81"
7310e8d85fSIan Rogers    },
7410e8d85fSIan Rogers    {
7510e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects",
7610e8d85fSIan Rogers        "EventCode": "0x88",
7710e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
7810e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions excluding calls and indirect branches.",
7910e8d85fSIan Rogers        "SampleAfterValue": "200003",
8010e8d85fSIan Rogers        "UMask": "0x82"
8110e8d85fSIan Rogers    },
8210e8d85fSIan Rogers    {
8310e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired direct near calls",
8410e8d85fSIan Rogers        "EventCode": "0x88",
8510e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
8610e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired direct near calls.",
8710e8d85fSIan Rogers        "SampleAfterValue": "200003",
8810e8d85fSIan Rogers        "UMask": "0x90"
8910e8d85fSIan Rogers    },
9010e8d85fSIan Rogers    {
9110e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns",
9210e8d85fSIan Rogers        "EventCode": "0x88",
9310e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
9410e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired indirect branches excluding calls and return branches.",
9510e8d85fSIan Rogers        "SampleAfterValue": "200003",
9610e8d85fSIan Rogers        "UMask": "0x84"
9710e8d85fSIan Rogers    },
9810e8d85fSIan Rogers    {
9910e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired indirect calls",
10010e8d85fSIan Rogers        "EventCode": "0x88",
10110e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
10210e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired indirect calls including both register and memory indirect.",
10310e8d85fSIan Rogers        "SampleAfterValue": "200003",
10410e8d85fSIan Rogers        "UMask": "0xa0"
10510e8d85fSIan Rogers    },
10610e8d85fSIan Rogers    {
10710e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic",
10810e8d85fSIan Rogers        "EventCode": "0x88",
10910e8d85fSIan Rogers        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
11010e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired indirect branches that have a return mnemonic.",
11110e8d85fSIan Rogers        "SampleAfterValue": "200003",
11210e8d85fSIan Rogers        "UMask": "0x88"
11310e8d85fSIan Rogers    },
11410e8d85fSIan Rogers    {
115b3ab8adcSAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
116b3ab8adcSAndi Kleen        "EventCode": "0xC4",
11710e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
11810e8d85fSIan Rogers        "PublicDescription": "This event counts all (macro) branch instructions retired.",
11910e8d85fSIan Rogers        "SampleAfterValue": "400009"
120b3ab8adcSAndi Kleen    },
121b3ab8adcSAndi Kleen    {
12210e8d85fSIan Rogers        "BriefDescription": "All (macro) branch instructions retired. (Precise Event - PEBS)",
12310e8d85fSIan Rogers        "Errata": "BDW98",
124b3ab8adcSAndi Kleen        "EventCode": "0xC4",
12510e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
126b3ab8adcSAndi Kleen        "PEBS": "2",
127b3ab8adcSAndi Kleen        "PublicDescription": "This is a precise version of BR_INST_RETIRED.ALL_BRANCHES that counts all (macro) branch instructions retired.",
12810e8d85fSIan Rogers        "SampleAfterValue": "400009",
12910e8d85fSIan Rogers        "UMask": "0x4"
13010e8d85fSIan Rogers    },
13110e8d85fSIan Rogers    {
13210e8d85fSIan Rogers        "BriefDescription": "Conditional branch instructions retired.",
13310e8d85fSIan Rogers        "EventCode": "0xC4",
13410e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.CONDITIONAL",
13510e8d85fSIan Rogers        "PEBS": "1",
13610e8d85fSIan Rogers        "PublicDescription": "This event counts conditional branch instructions retired.",
13710e8d85fSIan Rogers        "SampleAfterValue": "400009",
13810e8d85fSIan Rogers        "UMask": "0x1"
13910e8d85fSIan Rogers    },
14010e8d85fSIan Rogers    {
14110e8d85fSIan Rogers        "BriefDescription": "Far branch instructions retired.",
142b3ab8adcSAndi Kleen        "Errata": "BDW98",
143b3ab8adcSAndi Kleen        "EventCode": "0xC4",
144b3ab8adcSAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
14510e8d85fSIan Rogers        "PublicDescription": "This event counts far branch instructions retired.",
146b3ab8adcSAndi Kleen        "SampleAfterValue": "100007",
14710e8d85fSIan Rogers        "UMask": "0x40"
148b3ab8adcSAndi Kleen    },
149b3ab8adcSAndi Kleen    {
15010e8d85fSIan Rogers        "BriefDescription": "Direct and indirect near call instructions retired.",
15110e8d85fSIan Rogers        "EventCode": "0xC4",
15210e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL",
153b3ab8adcSAndi Kleen        "PEBS": "1",
15410e8d85fSIan Rogers        "PublicDescription": "This event counts both direct and indirect near call instructions retired.",
15510e8d85fSIan Rogers        "SampleAfterValue": "100007",
15610e8d85fSIan Rogers        "UMask": "0x2"
157b3ab8adcSAndi Kleen    },
158b3ab8adcSAndi Kleen    {
15910e8d85fSIan Rogers        "BriefDescription": "Direct and indirect macro near call instructions retired (captured in ring 3).",
16010e8d85fSIan Rogers        "EventCode": "0xC4",
16110e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_CALL_R3",
16210e8d85fSIan Rogers        "PEBS": "1",
16310e8d85fSIan Rogers        "PublicDescription": "This event counts both direct and indirect macro near call instructions retired (captured in ring 3).",
16410e8d85fSIan Rogers        "SampleAfterValue": "100007",
16510e8d85fSIan Rogers        "UMask": "0x2"
16610e8d85fSIan Rogers    },
16710e8d85fSIan Rogers    {
16810e8d85fSIan Rogers        "BriefDescription": "Return instructions retired.",
16910e8d85fSIan Rogers        "EventCode": "0xC4",
17010e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
17110e8d85fSIan Rogers        "PEBS": "1",
17210e8d85fSIan Rogers        "PublicDescription": "This event counts return instructions retired.",
17310e8d85fSIan Rogers        "SampleAfterValue": "100007",
17410e8d85fSIan Rogers        "UMask": "0x8"
17510e8d85fSIan Rogers    },
17610e8d85fSIan Rogers    {
17710e8d85fSIan Rogers        "BriefDescription": "Taken branch instructions retired.",
17810e8d85fSIan Rogers        "EventCode": "0xC4",
17910e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
18010e8d85fSIan Rogers        "PEBS": "1",
18110e8d85fSIan Rogers        "PublicDescription": "This event counts taken branch instructions retired.",
18210e8d85fSIan Rogers        "SampleAfterValue": "400009",
18310e8d85fSIan Rogers        "UMask": "0x20"
18410e8d85fSIan Rogers    },
18510e8d85fSIan Rogers    {
18610e8d85fSIan Rogers        "BriefDescription": "Not taken branch instructions retired.",
18710e8d85fSIan Rogers        "EventCode": "0xC4",
18810e8d85fSIan Rogers        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
18910e8d85fSIan Rogers        "PublicDescription": "This event counts not taken branch instructions retired.",
19010e8d85fSIan Rogers        "SampleAfterValue": "400009",
19110e8d85fSIan Rogers        "UMask": "0x10"
19210e8d85fSIan Rogers    },
19310e8d85fSIan Rogers    {
19410e8d85fSIan Rogers        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
19510e8d85fSIan Rogers        "EventCode": "0x89",
19610e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.ALL_BRANCHES",
19710e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted branch instructions.",
19810e8d85fSIan Rogers        "SampleAfterValue": "200003",
19910e8d85fSIan Rogers        "UMask": "0xff"
20010e8d85fSIan Rogers    },
20110e8d85fSIan Rogers    {
20210e8d85fSIan Rogers        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
20310e8d85fSIan Rogers        "EventCode": "0x89",
20410e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
20510e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted macro conditional branch instructions.",
20610e8d85fSIan Rogers        "SampleAfterValue": "200003",
20710e8d85fSIan Rogers        "UMask": "0xc1"
20810e8d85fSIan Rogers    },
20910e8d85fSIan Rogers    {
21010e8d85fSIan Rogers        "BriefDescription": "Mispredicted indirect branches excluding calls and returns",
21110e8d85fSIan Rogers        "EventCode": "0x89",
21210e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
21310e8d85fSIan Rogers        "PublicDescription": "This event counts both taken and not taken mispredicted indirect branches excluding calls and returns.",
21410e8d85fSIan Rogers        "SampleAfterValue": "200003",
21510e8d85fSIan Rogers        "UMask": "0xc4"
21610e8d85fSIan Rogers    },
21710e8d85fSIan Rogers    {
218*78036545SIan Rogers        "BriefDescription": "Speculative mispredicted indirect branches",
219*78036545SIan Rogers        "EventCode": "0x89",
220*78036545SIan Rogers        "EventName": "BR_MISP_EXEC.INDIRECT",
221*78036545SIan Rogers        "PublicDescription": "Counts speculatively miss-predicted indirect branches at execution time. Counts for indirect near CALL or JMP instructions (RET excluded).",
222*78036545SIan Rogers        "SampleAfterValue": "200003",
223*78036545SIan Rogers        "UMask": "0xe4"
224*78036545SIan Rogers    },
225*78036545SIan Rogers    {
22610e8d85fSIan Rogers        "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches",
22710e8d85fSIan Rogers        "EventCode": "0x89",
22810e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
22910e8d85fSIan Rogers        "PublicDescription": "This event counts not taken speculative and retired mispredicted macro conditional branch instructions.",
23010e8d85fSIan Rogers        "SampleAfterValue": "200003",
23110e8d85fSIan Rogers        "UMask": "0x41"
23210e8d85fSIan Rogers    },
23310e8d85fSIan Rogers    {
23410e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches",
23510e8d85fSIan Rogers        "EventCode": "0x89",
23610e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
23710e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired mispredicted macro conditional branch instructions.",
23810e8d85fSIan Rogers        "SampleAfterValue": "200003",
23910e8d85fSIan Rogers        "UMask": "0x81"
24010e8d85fSIan Rogers    },
24110e8d85fSIan Rogers    {
24210e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns",
24310e8d85fSIan Rogers        "EventCode": "0x89",
24410e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
24510e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches excluding calls and returns.",
24610e8d85fSIan Rogers        "SampleAfterValue": "200003",
24710e8d85fSIan Rogers        "UMask": "0x84"
24810e8d85fSIan Rogers    },
24910e8d85fSIan Rogers    {
25010e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect calls.",
25110e8d85fSIan Rogers        "EventCode": "0x89",
25210e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
25310e8d85fSIan Rogers        "SampleAfterValue": "200003",
25410e8d85fSIan Rogers        "UMask": "0xa0"
25510e8d85fSIan Rogers    },
25610e8d85fSIan Rogers    {
25710e8d85fSIan Rogers        "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic",
25810e8d85fSIan Rogers        "EventCode": "0x89",
25910e8d85fSIan Rogers        "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
26010e8d85fSIan Rogers        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches that have a return mnemonic.",
26110e8d85fSIan Rogers        "SampleAfterValue": "200003",
26210e8d85fSIan Rogers        "UMask": "0x88"
26310e8d85fSIan Rogers    },
26410e8d85fSIan Rogers    {
26510e8d85fSIan Rogers        "BriefDescription": "All mispredicted macro branch instructions retired.",
26610e8d85fSIan Rogers        "EventCode": "0xC5",
26710e8d85fSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
26810e8d85fSIan Rogers        "PublicDescription": "This event counts all mispredicted macro branch instructions retired.",
26910e8d85fSIan Rogers        "SampleAfterValue": "400009"
27010e8d85fSIan Rogers    },
27110e8d85fSIan Rogers    {
27210e8d85fSIan Rogers        "BriefDescription": "Mispredicted macro branch instructions retired. (Precise Event - PEBS)",
27310e8d85fSIan Rogers        "EventCode": "0xC5",
27410e8d85fSIan Rogers        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
275b3ab8adcSAndi Kleen        "PEBS": "2",
276b3ab8adcSAndi Kleen        "PublicDescription": "This is a precise version of BR_MISP_RETIRED.ALL_BRANCHES that counts all mispredicted macro branch instructions retired.",
277b3ab8adcSAndi Kleen        "SampleAfterValue": "400009",
27810e8d85fSIan Rogers        "UMask": "0x4"
279b3ab8adcSAndi Kleen    },
280b3ab8adcSAndi Kleen    {
28110e8d85fSIan Rogers        "BriefDescription": "Mispredicted conditional branch instructions retired.",
28210e8d85fSIan Rogers        "EventCode": "0xC5",
28310e8d85fSIan Rogers        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
28410e8d85fSIan Rogers        "PEBS": "1",
28510e8d85fSIan Rogers        "PublicDescription": "This event counts mispredicted conditional branch instructions retired.",
28610e8d85fSIan Rogers        "SampleAfterValue": "400009",
28710e8d85fSIan Rogers        "UMask": "0x1"
288b3ab8adcSAndi Kleen    },
289b3ab8adcSAndi Kleen    {
29010e8d85fSIan Rogers        "BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
29110e8d85fSIan Rogers        "EventCode": "0xC5",
292b3ab8adcSAndi Kleen        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
29310e8d85fSIan Rogers        "PEBS": "1",
29410e8d85fSIan Rogers        "PublicDescription": "Number of near branch instructions retired that were mispredicted and taken.",
295b3ab8adcSAndi Kleen        "SampleAfterValue": "400009",
29610e8d85fSIan Rogers        "UMask": "0x20"
297b3ab8adcSAndi Kleen    },
298b3ab8adcSAndi Kleen    {
29910e8d85fSIan Rogers        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
30010e8d85fSIan Rogers        "EventCode": "0xC5",
30110e8d85fSIan Rogers        "EventName": "BR_MISP_RETIRED.RET",
30210e8d85fSIan Rogers        "PEBS": "1",
30310e8d85fSIan Rogers        "PublicDescription": "This event counts mispredicted return instructions retired.",
30410e8d85fSIan Rogers        "SampleAfterValue": "100007",
30510e8d85fSIan Rogers        "UMask": "0x8"
306b3ab8adcSAndi Kleen    },
307b3ab8adcSAndi Kleen    {
30810e8d85fSIan Rogers        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
30910e8d85fSIan Rogers        "EventCode": "0x3c",
31010e8d85fSIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
311b3ab8adcSAndi Kleen        "SampleAfterValue": "100003",
31210e8d85fSIan Rogers        "UMask": "0x2"
31310e8d85fSIan Rogers    },
31410e8d85fSIan Rogers    {
31510e8d85fSIan Rogers        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
31610e8d85fSIan Rogers        "EventCode": "0x3C",
31710e8d85fSIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
31810e8d85fSIan Rogers        "PublicDescription": "This is a fixed-frequency event programmed to general counters. It counts when the core is unhalted at 100 Mhz.",
31910e8d85fSIan Rogers        "SampleAfterValue": "100003",
32010e8d85fSIan Rogers        "UMask": "0x1"
32110e8d85fSIan Rogers    },
32210e8d85fSIan Rogers    {
32310e8d85fSIan Rogers        "AnyThread": "1",
32410e8d85fSIan Rogers        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
32510e8d85fSIan Rogers        "EventCode": "0x3C",
32610e8d85fSIan Rogers        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
32710e8d85fSIan Rogers        "SampleAfterValue": "100003",
32810e8d85fSIan Rogers        "UMask": "0x1"
32910e8d85fSIan Rogers    },
33010e8d85fSIan Rogers    {
33110e8d85fSIan Rogers        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
33210e8d85fSIan Rogers        "EventCode": "0x3C",
33310e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
33410e8d85fSIan Rogers        "SampleAfterValue": "100003",
33510e8d85fSIan Rogers        "UMask": "0x2"
33610e8d85fSIan Rogers    },
33710e8d85fSIan Rogers    {
33810e8d85fSIan Rogers        "BriefDescription": "Reference cycles when the core is not in halt state.",
33910e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
34010e8d85fSIan Rogers        "PublicDescription": "This event counts the number of reference cycles when the core is not in a halt state. The core enters the halt state when it is running the HLT instruction or the MWAIT instruction. This event is not affected by core frequency changes (for example, P states, TM2 transitions) but has the same incrementing frequency as the time stamp counter. This event can approximate elapsed time while the core was not in a halt state. This event has a constant ratio with the CPU_CLK_UNHALTED.REF_XCLK event. It is counted on a dedicated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events. \nNote: On all current platforms this event stops counting during 'throttling (TM)' states duty off periods the processor is 'halted'.  This event is clocked by base clock (100 Mhz) on Sandy Bridge. 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.",
34110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
34210e8d85fSIan Rogers        "UMask": "0x3"
34310e8d85fSIan Rogers    },
34410e8d85fSIan Rogers    {
34510e8d85fSIan Rogers        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
34610e8d85fSIan Rogers        "EventCode": "0x3C",
34710e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
34810e8d85fSIan Rogers        "PublicDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate).",
34910e8d85fSIan Rogers        "SampleAfterValue": "100003",
35010e8d85fSIan Rogers        "UMask": "0x1"
35110e8d85fSIan Rogers    },
35210e8d85fSIan Rogers    {
35310e8d85fSIan Rogers        "AnyThread": "1",
35410e8d85fSIan Rogers        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
35510e8d85fSIan Rogers        "EventCode": "0x3C",
35610e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
35710e8d85fSIan Rogers        "SampleAfterValue": "100003",
35810e8d85fSIan Rogers        "UMask": "0x1"
35910e8d85fSIan Rogers    },
36010e8d85fSIan Rogers    {
36110e8d85fSIan Rogers        "BriefDescription": "Core cycles when the thread is not in halt state",
36210e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
36310e8d85fSIan Rogers        "PublicDescription": "This event counts the number of core cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. This event is a component in many key event ratios. The core frequency may change from time to time due to transitions associated with Enhanced Intel SpeedStep Technology or TM2. For this reason this event may have a changing ratio with regards to time. When the core frequency is constant, this event can approximate elapsed time while the core was not in the halt state. It is counted on a dedicated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events.",
36410e8d85fSIan Rogers        "SampleAfterValue": "2000003",
36510e8d85fSIan Rogers        "UMask": "0x2"
36610e8d85fSIan Rogers    },
36710e8d85fSIan Rogers    {
36810e8d85fSIan Rogers        "AnyThread": "1",
36910e8d85fSIan Rogers        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
37010e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
37110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
37210e8d85fSIan Rogers        "UMask": "0x2"
37310e8d85fSIan Rogers    },
37410e8d85fSIan Rogers    {
37510e8d85fSIan Rogers        "BriefDescription": "Thread cycles when thread is not in halt state",
37610e8d85fSIan Rogers        "EventCode": "0x3C",
37710e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
37810e8d85fSIan Rogers        "PublicDescription": "This is an architectural event that counts the number of thread cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. The core frequency may change from time to time due to power or thermal throttling. For this reason, this event may have a changing ratio with regards to wall clock time.",
37910e8d85fSIan Rogers        "SampleAfterValue": "2000003"
38010e8d85fSIan Rogers    },
38110e8d85fSIan Rogers    {
38210e8d85fSIan Rogers        "AnyThread": "1",
38310e8d85fSIan Rogers        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
38410e8d85fSIan Rogers        "EventCode": "0x3C",
38510e8d85fSIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
38610e8d85fSIan Rogers        "SampleAfterValue": "2000003"
38710e8d85fSIan Rogers    },
38810e8d85fSIan Rogers    {
38910e8d85fSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
39010e8d85fSIan Rogers        "CounterMask": "8",
39110e8d85fSIan Rogers        "EventCode": "0xA3",
39210e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
39310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
39410e8d85fSIan Rogers        "UMask": "0x8"
39510e8d85fSIan Rogers    },
39610e8d85fSIan Rogers    {
39710e8d85fSIan Rogers        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
39810e8d85fSIan Rogers        "CounterMask": "8",
39910e8d85fSIan Rogers        "EventCode": "0xA3",
40010e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
40110e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand load request missing the L1 data cache.",
40210e8d85fSIan Rogers        "SampleAfterValue": "2000003",
40310e8d85fSIan Rogers        "UMask": "0x8"
40410e8d85fSIan Rogers    },
40510e8d85fSIan Rogers    {
40610e8d85fSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
40710e8d85fSIan Rogers        "CounterMask": "1",
40810e8d85fSIan Rogers        "EventCode": "0xA3",
40910e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
41010e8d85fSIan Rogers        "SampleAfterValue": "2000003",
41110e8d85fSIan Rogers        "UMask": "0x1"
41210e8d85fSIan Rogers    },
41310e8d85fSIan Rogers    {
41410e8d85fSIan Rogers        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
41510e8d85fSIan Rogers        "CounterMask": "1",
41610e8d85fSIan Rogers        "EventCode": "0xA3",
41710e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
41810e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand* load request missing the L2 cache.",
41910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
42010e8d85fSIan Rogers        "UMask": "0x1"
42110e8d85fSIan Rogers    },
42210e8d85fSIan Rogers    {
42310e8d85fSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
42410e8d85fSIan Rogers        "CounterMask": "2",
42510e8d85fSIan Rogers        "EventCode": "0xA3",
42610e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
42710e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand load request (that is cycles with non-completed load waiting for its data from memory subsystem).",
42810e8d85fSIan Rogers        "SampleAfterValue": "2000003",
42910e8d85fSIan Rogers        "UMask": "0x2"
43010e8d85fSIan Rogers    },
43110e8d85fSIan Rogers    {
43210e8d85fSIan Rogers        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
43310e8d85fSIan Rogers        "CounterMask": "2",
43410e8d85fSIan Rogers        "EventCode": "0xA3",
43510e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
43610e8d85fSIan Rogers        "SampleAfterValue": "2000003",
43710e8d85fSIan Rogers        "UMask": "0x2"
43810e8d85fSIan Rogers    },
43910e8d85fSIan Rogers    {
44010e8d85fSIan Rogers        "BriefDescription": "This event increments by 1 for every cycle where there was no execute for this thread.",
44110e8d85fSIan Rogers        "CounterMask": "4",
44210e8d85fSIan Rogers        "EventCode": "0xA3",
44310e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
44410e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles nothing is executed on any execution port.",
44510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
44610e8d85fSIan Rogers        "UMask": "0x4"
44710e8d85fSIan Rogers    },
44810e8d85fSIan Rogers    {
44910e8d85fSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
45010e8d85fSIan Rogers        "CounterMask": "12",
45110e8d85fSIan Rogers        "EventCode": "0xA3",
45210e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
45310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
45410e8d85fSIan Rogers        "UMask": "0xc"
45510e8d85fSIan Rogers    },
45610e8d85fSIan Rogers    {
45710e8d85fSIan Rogers        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
45810e8d85fSIan Rogers        "CounterMask": "12",
45910e8d85fSIan Rogers        "EventCode": "0xA3",
46010e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
46110e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand load request missing the L1 data cache.",
46210e8d85fSIan Rogers        "SampleAfterValue": "2000003",
46310e8d85fSIan Rogers        "UMask": "0xc"
46410e8d85fSIan Rogers    },
46510e8d85fSIan Rogers    {
46610e8d85fSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
46710e8d85fSIan Rogers        "CounterMask": "5",
46810e8d85fSIan Rogers        "EventCode": "0xA3",
46910e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
47010e8d85fSIan Rogers        "SampleAfterValue": "2000003",
47110e8d85fSIan Rogers        "UMask": "0x5"
47210e8d85fSIan Rogers    },
47310e8d85fSIan Rogers    {
47410e8d85fSIan Rogers        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
47510e8d85fSIan Rogers        "CounterMask": "5",
47610e8d85fSIan Rogers        "EventCode": "0xA3",
47710e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
47810e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand* load request missing the L2 cache.(as a footprint) * includes also L1 HW prefetch requests that may or may not be required by demands.",
47910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
48010e8d85fSIan Rogers        "UMask": "0x5"
48110e8d85fSIan Rogers    },
48210e8d85fSIan Rogers    {
48310e8d85fSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
48410e8d85fSIan Rogers        "CounterMask": "6",
48510e8d85fSIan Rogers        "EventCode": "0xA3",
48610e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
48710e8d85fSIan Rogers        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand load request.",
48810e8d85fSIan Rogers        "SampleAfterValue": "2000003",
48910e8d85fSIan Rogers        "UMask": "0x6"
49010e8d85fSIan Rogers    },
49110e8d85fSIan Rogers    {
49210e8d85fSIan Rogers        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
49310e8d85fSIan Rogers        "CounterMask": "6",
49410e8d85fSIan Rogers        "EventCode": "0xA3",
49510e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
49610e8d85fSIan Rogers        "SampleAfterValue": "2000003",
49710e8d85fSIan Rogers        "UMask": "0x6"
49810e8d85fSIan Rogers    },
49910e8d85fSIan Rogers    {
50010e8d85fSIan Rogers        "BriefDescription": "Total execution stalls.",
50110e8d85fSIan Rogers        "CounterMask": "4",
50210e8d85fSIan Rogers        "EventCode": "0xA3",
50310e8d85fSIan Rogers        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
50410e8d85fSIan Rogers        "SampleAfterValue": "2000003",
50510e8d85fSIan Rogers        "UMask": "0x4"
50610e8d85fSIan Rogers    },
50710e8d85fSIan Rogers    {
50810e8d85fSIan Rogers        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
50910e8d85fSIan Rogers        "EventCode": "0x87",
51010e8d85fSIan Rogers        "EventName": "ILD_STALL.LCP",
511*78036545SIan Rogers        "PublicDescription": "This event counts stalls occurred due to changing prefix length (66, 67 or REX.W when they change the length of the decoded instruction). Occurrences counting is proportional to the number of prefixes in a 16B-line. This may result in the following penalties: three-cycle penalty for each LCP in a 16-byte chunk.",
51210e8d85fSIan Rogers        "SampleAfterValue": "2000003",
51310e8d85fSIan Rogers        "UMask": "0x1"
51410e8d85fSIan Rogers    },
51510e8d85fSIan Rogers    {
51610e8d85fSIan Rogers        "BriefDescription": "Instructions retired from execution.",
51710e8d85fSIan Rogers        "EventName": "INST_RETIRED.ANY",
51810e8d85fSIan Rogers        "PublicDescription": "This event counts the number of instructions retired from execution. For instructions that consist of multiple micro-ops, this event counts the retirement of the last micro-op of the instruction. Counting continues during hardware interrupts, traps, and inside interrupt handlers. \nNotes: INST_RETIRED.ANY is counted by a designated fixed counter, leaving the four (eight when Hyperthreading is disabled) programmable counters available for other events. INST_RETIRED.ANY_P is counted by a programmable counter and it is an architectural performance event. \nCounting: Faulting executions of GETSEC/VM entry/VM Exit/MWait will not count as retired instructions.",
51910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
52010e8d85fSIan Rogers        "UMask": "0x1"
52110e8d85fSIan Rogers    },
52210e8d85fSIan Rogers    {
52310e8d85fSIan Rogers        "BriefDescription": "Number of instructions retired. General Counter   - architectural event",
52410e8d85fSIan Rogers        "Errata": "BDM61",
52510e8d85fSIan Rogers        "EventCode": "0xC0",
52610e8d85fSIan Rogers        "EventName": "INST_RETIRED.ANY_P",
52710e8d85fSIan Rogers        "PublicDescription": "This event counts the number of instructions (EOMs) retired. Counting covers macro-fused instructions individually (that is, increments by two).",
52810e8d85fSIan Rogers        "SampleAfterValue": "2000003"
52910e8d85fSIan Rogers    },
53010e8d85fSIan Rogers    {
53110e8d85fSIan Rogers        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
53210e8d85fSIan Rogers        "Errata": "BDM11, BDM55",
53310e8d85fSIan Rogers        "EventCode": "0xC0",
53410e8d85fSIan Rogers        "EventName": "INST_RETIRED.PREC_DIST",
53510e8d85fSIan Rogers        "PEBS": "2",
53610e8d85fSIan Rogers        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts instructions retired.",
53710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
53810e8d85fSIan Rogers        "UMask": "0x1"
53910e8d85fSIan Rogers    },
54010e8d85fSIan Rogers    {
54110e8d85fSIan Rogers        "BriefDescription": "FP operations  retired. X87 FP operations that have no exceptions:",
54210e8d85fSIan Rogers        "EventCode": "0xC0",
54310e8d85fSIan Rogers        "EventName": "INST_RETIRED.X87",
54410e8d85fSIan Rogers        "PublicDescription": "This event counts FP operations retired. For X87 FP operations that have no exceptions counting also includes flows that have several X87, or flows that use X87 uops in the exception handling.",
54510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
54610e8d85fSIan Rogers        "UMask": "0x2"
54710e8d85fSIan Rogers    },
54810e8d85fSIan Rogers    {
54910e8d85fSIan Rogers        "BriefDescription": "Cycles when Resource Allocation Table (RAT) external stall is sent to Instruction Decode Queue (IDQ) for the thread",
55010e8d85fSIan Rogers        "EventCode": "0x0D",
55110e8d85fSIan Rogers        "EventName": "INT_MISC.RAT_STALL_CYCLES",
55210e8d85fSIan Rogers        "PublicDescription": "This event counts the number of cycles during which Resource Allocation Table (RAT) external stall is sent to Instruction Decode Queue (IDQ) for the current thread. This also includes the cycles during which the Allocator is serving another thread.",
55310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
55410e8d85fSIan Rogers        "UMask": "0x8"
55510e8d85fSIan Rogers    },
55610e8d85fSIan Rogers    {
55710e8d85fSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for this thread (e.g. misprediction or memory nuke)",
55810e8d85fSIan Rogers        "CounterMask": "1",
55910e8d85fSIan Rogers        "EventCode": "0x0D",
56010e8d85fSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES",
56110e8d85fSIan Rogers        "PublicDescription": "Cycles checkpoints in Resource Allocation Table (RAT) are recovering from JEClear or machine clear.",
56210e8d85fSIan Rogers        "SampleAfterValue": "2000003",
56310e8d85fSIan Rogers        "UMask": "0x3"
56410e8d85fSIan Rogers    },
56510e8d85fSIan Rogers    {
56610e8d85fSIan Rogers        "AnyThread": "1",
56710e8d85fSIan Rogers        "BriefDescription": "Core cycles the allocator was stalled due to recovery from earlier clear event for any thread running on the physical core (e.g. misprediction or memory nuke).",
56810e8d85fSIan Rogers        "CounterMask": "1",
56910e8d85fSIan Rogers        "EventCode": "0x0D",
57010e8d85fSIan Rogers        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
57110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
57210e8d85fSIan Rogers        "UMask": "0x3"
57310e8d85fSIan Rogers    },
57410e8d85fSIan Rogers    {
57510e8d85fSIan Rogers        "BriefDescription": "This event counts the number of times that split load operations are temporarily blocked because all resources for handling the split accesses are in use.",
57610e8d85fSIan Rogers        "EventCode": "0x03",
57710e8d85fSIan Rogers        "EventName": "LD_BLOCKS.NO_SR",
57810e8d85fSIan Rogers        "SampleAfterValue": "100003",
57910e8d85fSIan Rogers        "UMask": "0x8"
58010e8d85fSIan Rogers    },
58110e8d85fSIan Rogers    {
58210e8d85fSIan Rogers        "BriefDescription": "Cases when loads get true Block-on-Store blocking code preventing store forwarding",
58310e8d85fSIan Rogers        "EventCode": "0x03",
58410e8d85fSIan Rogers        "EventName": "LD_BLOCKS.STORE_FORWARD",
58510e8d85fSIan Rogers        "PublicDescription": "This event counts how many times the load operation got the true Block-on-Store blocking code preventing store forwarding. This includes cases when:\n - preceding store conflicts with the load (incomplete overlap);\n - store forwarding is impossible due to u-arch limitations;\n - preceding lock RMW operations are not forwarded;\n - store has the no-forward bit set (uncacheable/page-split/masked stores);\n - all-blocking stores are used (mostly, fences and port I/O);\nand others.\nThe most common case is a load blocked due to its address range overlapping with a preceding smaller uncompleted store. Note: This event does not take into account cases of out-of-SW-control (for example, SbTailHit), unknown physical STA, and cases of blocking loads on store due to being non-WB memory type or a lock. These cases are covered by other events.\nSee the table of not supported store forwards in the Optimization Guide.",
58610e8d85fSIan Rogers        "SampleAfterValue": "100003",
58710e8d85fSIan Rogers        "UMask": "0x2"
58810e8d85fSIan Rogers    },
58910e8d85fSIan Rogers    {
59010e8d85fSIan Rogers        "BriefDescription": "False dependencies in MOB due to partial compare",
59110e8d85fSIan Rogers        "EventCode": "0x07",
59210e8d85fSIan Rogers        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
59310e8d85fSIan Rogers        "PublicDescription": "This event counts false dependencies in MOB when the partial comparison upon loose net check and dependency was resolved by the Enhanced Loose net mechanism. This may not result in high performance penalties. Loose net checks can fail when loads and stores are 4k aliased.",
59410e8d85fSIan Rogers        "SampleAfterValue": "100003",
59510e8d85fSIan Rogers        "UMask": "0x1"
59610e8d85fSIan Rogers    },
59710e8d85fSIan Rogers    {
59810e8d85fSIan Rogers        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
59910e8d85fSIan Rogers        "EventCode": "0x4C",
60010e8d85fSIan Rogers        "EventName": "LOAD_HIT_PRE.HW_PF",
60110e8d85fSIan Rogers        "PublicDescription": "This event counts all not software-prefetch load dispatches that hit the fill buffer (FB) allocated for the hardware prefetch.",
60210e8d85fSIan Rogers        "SampleAfterValue": "100003",
60310e8d85fSIan Rogers        "UMask": "0x2"
60410e8d85fSIan Rogers    },
60510e8d85fSIan Rogers    {
60610e8d85fSIan Rogers        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
60710e8d85fSIan Rogers        "EventCode": "0x4c",
60810e8d85fSIan Rogers        "EventName": "LOAD_HIT_PRE.SW_PF",
60910e8d85fSIan Rogers        "PublicDescription": "This event 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 inspection of the nearby instructions.",
61010e8d85fSIan Rogers        "SampleAfterValue": "100003",
61110e8d85fSIan Rogers        "UMask": "0x1"
61210e8d85fSIan Rogers    },
61310e8d85fSIan Rogers    {
61410e8d85fSIan Rogers        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
61510e8d85fSIan Rogers        "CounterMask": "4",
61610e8d85fSIan Rogers        "EventCode": "0xA8",
61710e8d85fSIan Rogers        "EventName": "LSD.CYCLES_4_UOPS",
61810e8d85fSIan Rogers        "SampleAfterValue": "2000003",
61910e8d85fSIan Rogers        "UMask": "0x1"
62010e8d85fSIan Rogers    },
62110e8d85fSIan Rogers    {
62210e8d85fSIan Rogers        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
62310e8d85fSIan Rogers        "CounterMask": "1",
62410e8d85fSIan Rogers        "EventCode": "0xA8",
62510e8d85fSIan Rogers        "EventName": "LSD.CYCLES_ACTIVE",
62610e8d85fSIan Rogers        "SampleAfterValue": "2000003",
62710e8d85fSIan Rogers        "UMask": "0x1"
62810e8d85fSIan Rogers    },
62910e8d85fSIan Rogers    {
63010e8d85fSIan Rogers        "BriefDescription": "Number of Uops delivered by the LSD.",
63110e8d85fSIan Rogers        "EventCode": "0xA8",
63210e8d85fSIan Rogers        "EventName": "LSD.UOPS",
63310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
63410e8d85fSIan Rogers        "UMask": "0x1"
63510e8d85fSIan Rogers    },
63610e8d85fSIan Rogers    {
63710e8d85fSIan Rogers        "BriefDescription": "Number of machine clears (nukes) of any type.",
63810e8d85fSIan Rogers        "CounterMask": "1",
63910e8d85fSIan Rogers        "EdgeDetect": "1",
64010e8d85fSIan Rogers        "EventCode": "0xC3",
64110e8d85fSIan Rogers        "EventName": "MACHINE_CLEARS.COUNT",
64210e8d85fSIan Rogers        "SampleAfterValue": "100003",
64310e8d85fSIan Rogers        "UMask": "0x1"
64410e8d85fSIan Rogers    },
64510e8d85fSIan Rogers    {
64610e8d85fSIan Rogers        "BriefDescription": "Cycles there was a Nuke. Account for both thread-specific and All Thread Nukes.",
64710e8d85fSIan Rogers        "EventCode": "0xC3",
64810e8d85fSIan Rogers        "EventName": "MACHINE_CLEARS.CYCLES",
64910e8d85fSIan Rogers        "PublicDescription": "This event counts both thread-specific (TS) and all-thread (AT) nukes.",
65010e8d85fSIan Rogers        "SampleAfterValue": "2000003",
65110e8d85fSIan Rogers        "UMask": "0x1"
65210e8d85fSIan Rogers    },
65310e8d85fSIan Rogers    {
65410e8d85fSIan Rogers        "BriefDescription": "This event counts the number of executed Intel AVX masked load operations that refer to an illegal address range with the mask bits set to 0.",
65510e8d85fSIan Rogers        "EventCode": "0xC3",
65610e8d85fSIan Rogers        "EventName": "MACHINE_CLEARS.MASKMOV",
65710e8d85fSIan Rogers        "PublicDescription": "Maskmov false fault - counts number of time ucode passes through Maskmov flow due to instruction's mask being 0 while the flow was completed without raising a fault.",
65810e8d85fSIan Rogers        "SampleAfterValue": "100003",
65910e8d85fSIan Rogers        "UMask": "0x20"
66010e8d85fSIan Rogers    },
66110e8d85fSIan Rogers    {
66210e8d85fSIan Rogers        "BriefDescription": "Self-modifying code (SMC) detected.",
66310e8d85fSIan Rogers        "EventCode": "0xC3",
66410e8d85fSIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
66510e8d85fSIan Rogers        "PublicDescription": "This event counts self-modifying code (SMC) detected, which causes a machine clear.",
66610e8d85fSIan Rogers        "SampleAfterValue": "100003",
66710e8d85fSIan Rogers        "UMask": "0x4"
66810e8d85fSIan Rogers    },
66910e8d85fSIan Rogers    {
67010e8d85fSIan Rogers        "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
67110e8d85fSIan Rogers        "EventCode": "0x58",
67210e8d85fSIan Rogers        "EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
67310e8d85fSIan Rogers        "SampleAfterValue": "1000003",
67410e8d85fSIan Rogers        "UMask": "0x1"
67510e8d85fSIan Rogers    },
67610e8d85fSIan Rogers    {
67710e8d85fSIan Rogers        "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
67810e8d85fSIan Rogers        "EventCode": "0x58",
67910e8d85fSIan Rogers        "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
68010e8d85fSIan Rogers        "SampleAfterValue": "1000003",
68110e8d85fSIan Rogers        "UMask": "0x4"
68210e8d85fSIan Rogers    },
68310e8d85fSIan Rogers    {
68410e8d85fSIan Rogers        "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
68510e8d85fSIan Rogers        "EventCode": "0xC1",
68610e8d85fSIan Rogers        "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
68710e8d85fSIan Rogers        "SampleAfterValue": "100003",
68810e8d85fSIan Rogers        "UMask": "0x40"
68910e8d85fSIan Rogers    },
69010e8d85fSIan Rogers    {
69110e8d85fSIan Rogers        "BriefDescription": "Resource-related stall cycles",
69210e8d85fSIan Rogers        "EventCode": "0xa2",
69310e8d85fSIan Rogers        "EventName": "RESOURCE_STALLS.ANY",
69410e8d85fSIan Rogers        "PublicDescription": "This event counts resource-related stall cycles.",
69510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
69610e8d85fSIan Rogers        "UMask": "0x1"
69710e8d85fSIan Rogers    },
69810e8d85fSIan Rogers    {
69910e8d85fSIan Rogers        "BriefDescription": "Cycles stalled due to re-order buffer full.",
70010e8d85fSIan Rogers        "EventCode": "0xA2",
70110e8d85fSIan Rogers        "EventName": "RESOURCE_STALLS.ROB",
70210e8d85fSIan Rogers        "PublicDescription": "This event counts ROB full stall cycles. This counts cycles that the pipeline backend blocked uop delivery from the front end.",
70310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
70410e8d85fSIan Rogers        "UMask": "0x10"
70510e8d85fSIan Rogers    },
70610e8d85fSIan Rogers    {
70710e8d85fSIan Rogers        "BriefDescription": "Cycles stalled due to no eligible RS entry available.",
70810e8d85fSIan Rogers        "EventCode": "0xA2",
70910e8d85fSIan Rogers        "EventName": "RESOURCE_STALLS.RS",
71010e8d85fSIan Rogers        "PublicDescription": "This event counts stall cycles caused by absence of eligible entries in the reservation station (RS). This may result from RS overflow, or from RS deallocation because of the RS array Write Port allocation scheme (each RS entry has two write ports instead of four. As a result, empty entries could not be used, although RS is not really full). This counts cycles that the pipeline backend blocked uop delivery from the front end.",
71110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
71210e8d85fSIan Rogers        "UMask": "0x4"
71310e8d85fSIan Rogers    },
71410e8d85fSIan Rogers    {
71510e8d85fSIan Rogers        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
71610e8d85fSIan Rogers        "EventCode": "0xA2",
71710e8d85fSIan Rogers        "EventName": "RESOURCE_STALLS.SB",
71810e8d85fSIan Rogers        "PublicDescription": "This event counts stall cycles caused by the store buffer (SB) overflow (excluding draining from synch). This counts cycles that the pipeline backend blocked uop delivery from the front end.",
71910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
72010e8d85fSIan Rogers        "UMask": "0x8"
72110e8d85fSIan Rogers    },
72210e8d85fSIan Rogers    {
72310e8d85fSIan Rogers        "BriefDescription": "Count cases of saving new LBR",
72410e8d85fSIan Rogers        "EventCode": "0xCC",
72510e8d85fSIan Rogers        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
72610e8d85fSIan Rogers        "PublicDescription": "This event counts cases of saving new LBR records by hardware. This assumes proper enabling of LBRs and takes into account LBR filtering done by the LBR_SELECT register.",
72710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
72810e8d85fSIan Rogers        "UMask": "0x20"
72910e8d85fSIan Rogers    },
73010e8d85fSIan Rogers    {
73110e8d85fSIan Rogers        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
73210e8d85fSIan Rogers        "EventCode": "0x5E",
73310e8d85fSIan Rogers        "EventName": "RS_EVENTS.EMPTY_CYCLES",
73410e8d85fSIan Rogers        "PublicDescription": "This event counts cycles during which the reservation station (RS) is empty for the thread.\nNote: In ST-mode, not active thread should drive 0. This is usually caused by severely costly branch mispredictions, or allocator/FE issues.",
73510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
73610e8d85fSIan Rogers        "UMask": "0x1"
73710e8d85fSIan Rogers    },
73810e8d85fSIan Rogers    {
73910e8d85fSIan Rogers        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
74010e8d85fSIan Rogers        "CounterMask": "1",
74110e8d85fSIan Rogers        "EdgeDetect": "1",
74210e8d85fSIan Rogers        "EventCode": "0x5E",
74310e8d85fSIan Rogers        "EventName": "RS_EVENTS.EMPTY_END",
74410e8d85fSIan Rogers        "Invert": "1",
74510e8d85fSIan Rogers        "SampleAfterValue": "200003",
74610e8d85fSIan Rogers        "UMask": "0x1"
74710e8d85fSIan Rogers    },
74810e8d85fSIan Rogers    {
74910e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 0",
75010e8d85fSIan Rogers        "EventCode": "0xA1",
75110e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
75210e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
75310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
75410e8d85fSIan Rogers        "UMask": "0x1"
75510e8d85fSIan Rogers    },
75610e8d85fSIan Rogers    {
75710e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 1",
75810e8d85fSIan Rogers        "EventCode": "0xA1",
75910e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
76010e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
76110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
76210e8d85fSIan Rogers        "UMask": "0x2"
76310e8d85fSIan Rogers    },
76410e8d85fSIan Rogers    {
76510e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 2",
76610e8d85fSIan Rogers        "EventCode": "0xA1",
76710e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
76810e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
76910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
77010e8d85fSIan Rogers        "UMask": "0x4"
77110e8d85fSIan Rogers    },
77210e8d85fSIan Rogers    {
77310e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 3",
77410e8d85fSIan Rogers        "EventCode": "0xA1",
77510e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
77610e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
77710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
77810e8d85fSIan Rogers        "UMask": "0x8"
77910e8d85fSIan Rogers    },
78010e8d85fSIan Rogers    {
78110e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 4",
78210e8d85fSIan Rogers        "EventCode": "0xA1",
78310e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
78410e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
78510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
78610e8d85fSIan Rogers        "UMask": "0x10"
78710e8d85fSIan Rogers    },
78810e8d85fSIan Rogers    {
78910e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 5",
79010e8d85fSIan Rogers        "EventCode": "0xA1",
79110e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
79210e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
79310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
79410e8d85fSIan Rogers        "UMask": "0x20"
79510e8d85fSIan Rogers    },
79610e8d85fSIan Rogers    {
79710e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 6",
79810e8d85fSIan Rogers        "EventCode": "0xA1",
79910e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
80010e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
80110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
80210e8d85fSIan Rogers        "UMask": "0x40"
80310e8d85fSIan Rogers    },
80410e8d85fSIan Rogers    {
80510e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 7",
80610e8d85fSIan Rogers        "EventCode": "0xA1",
80710e8d85fSIan Rogers        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
80810e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
80910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
81010e8d85fSIan Rogers        "UMask": "0x80"
81110e8d85fSIan Rogers    },
81210e8d85fSIan Rogers    {
81310e8d85fSIan Rogers        "BriefDescription": "Number of uops executed on the core.",
81410e8d85fSIan Rogers        "EventCode": "0xB1",
81510e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE",
81610e8d85fSIan Rogers        "PublicDescription": "Number of uops executed from any thread.",
81710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
81810e8d85fSIan Rogers        "UMask": "0x2"
81910e8d85fSIan Rogers    },
82010e8d85fSIan Rogers    {
82110e8d85fSIan Rogers        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
82210e8d85fSIan Rogers        "CounterMask": "1",
82310e8d85fSIan Rogers        "EventCode": "0xb1",
82410e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
82510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
82610e8d85fSIan Rogers        "UMask": "0x2"
82710e8d85fSIan Rogers    },
82810e8d85fSIan Rogers    {
82910e8d85fSIan Rogers        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
83010e8d85fSIan Rogers        "CounterMask": "2",
83110e8d85fSIan Rogers        "EventCode": "0xb1",
83210e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
83310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
83410e8d85fSIan Rogers        "UMask": "0x2"
83510e8d85fSIan Rogers    },
83610e8d85fSIan Rogers    {
83710e8d85fSIan Rogers        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
83810e8d85fSIan Rogers        "CounterMask": "3",
83910e8d85fSIan Rogers        "EventCode": "0xb1",
84010e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
84110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
84210e8d85fSIan Rogers        "UMask": "0x2"
84310e8d85fSIan Rogers    },
84410e8d85fSIan Rogers    {
84510e8d85fSIan Rogers        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
84610e8d85fSIan Rogers        "CounterMask": "4",
84710e8d85fSIan Rogers        "EventCode": "0xb1",
84810e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
84910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
85010e8d85fSIan Rogers        "UMask": "0x2"
85110e8d85fSIan Rogers    },
85210e8d85fSIan Rogers    {
85310e8d85fSIan Rogers        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
85410e8d85fSIan Rogers        "EventCode": "0xb1",
85510e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
85610e8d85fSIan Rogers        "Invert": "1",
85710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
85810e8d85fSIan Rogers        "UMask": "0x2"
85910e8d85fSIan Rogers    },
86010e8d85fSIan Rogers    {
86110e8d85fSIan Rogers        "BriefDescription": "Cycles where at least 1 uop was executed per-thread.",
86210e8d85fSIan Rogers        "CounterMask": "1",
86310e8d85fSIan Rogers        "EventCode": "0xB1",
86410e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
86510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
86610e8d85fSIan Rogers        "UMask": "0x1"
86710e8d85fSIan Rogers    },
86810e8d85fSIan Rogers    {
86910e8d85fSIan Rogers        "BriefDescription": "Cycles where at least 2 uops were executed per-thread.",
87010e8d85fSIan Rogers        "CounterMask": "2",
87110e8d85fSIan Rogers        "EventCode": "0xB1",
87210e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
87310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
87410e8d85fSIan Rogers        "UMask": "0x1"
87510e8d85fSIan Rogers    },
87610e8d85fSIan Rogers    {
87710e8d85fSIan Rogers        "BriefDescription": "Cycles where at least 3 uops were executed per-thread.",
87810e8d85fSIan Rogers        "CounterMask": "3",
87910e8d85fSIan Rogers        "EventCode": "0xB1",
88010e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
88110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
88210e8d85fSIan Rogers        "UMask": "0x1"
88310e8d85fSIan Rogers    },
88410e8d85fSIan Rogers    {
88510e8d85fSIan Rogers        "BriefDescription": "Cycles where at least 4 uops were executed per-thread.",
88610e8d85fSIan Rogers        "CounterMask": "4",
88710e8d85fSIan Rogers        "EventCode": "0xB1",
88810e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
88910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
89010e8d85fSIan Rogers        "UMask": "0x1"
89110e8d85fSIan Rogers    },
89210e8d85fSIan Rogers    {
89310e8d85fSIan Rogers        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
89410e8d85fSIan Rogers        "CounterMask": "1",
89510e8d85fSIan Rogers        "EventCode": "0xB1",
89610e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
89710e8d85fSIan Rogers        "Invert": "1",
89810e8d85fSIan Rogers        "PublicDescription": "This event counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
89910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
90010e8d85fSIan Rogers        "UMask": "0x1"
90110e8d85fSIan Rogers    },
90210e8d85fSIan Rogers    {
90310e8d85fSIan Rogers        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
90410e8d85fSIan Rogers        "EventCode": "0xB1",
90510e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED.THREAD",
90610e8d85fSIan Rogers        "PublicDescription": "Number of uops to be executed per-thread each cycle.",
90710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
90810e8d85fSIan Rogers        "UMask": "0x1"
90910e8d85fSIan Rogers    },
91010e8d85fSIan Rogers    {
91110e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 0",
91210e8d85fSIan Rogers        "EventCode": "0xA1",
91310e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_0",
91410e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
91510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
91610e8d85fSIan Rogers        "UMask": "0x1"
91710e8d85fSIan Rogers    },
91810e8d85fSIan Rogers    {
91910e8d85fSIan Rogers        "AnyThread": "1",
920*78036545SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 0.",
92110e8d85fSIan Rogers        "EventCode": "0xA1",
92210e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_0_CORE",
92310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
92410e8d85fSIan Rogers        "UMask": "0x1"
92510e8d85fSIan Rogers    },
92610e8d85fSIan Rogers    {
92710e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 1",
92810e8d85fSIan Rogers        "EventCode": "0xA1",
92910e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_1",
93010e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
93110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
93210e8d85fSIan Rogers        "UMask": "0x2"
93310e8d85fSIan Rogers    },
93410e8d85fSIan Rogers    {
93510e8d85fSIan Rogers        "AnyThread": "1",
936*78036545SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 1.",
93710e8d85fSIan Rogers        "EventCode": "0xA1",
93810e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_1_CORE",
93910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
94010e8d85fSIan Rogers        "UMask": "0x2"
94110e8d85fSIan Rogers    },
94210e8d85fSIan Rogers    {
94310e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 2",
94410e8d85fSIan Rogers        "EventCode": "0xA1",
94510e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_2",
94610e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
94710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
94810e8d85fSIan Rogers        "UMask": "0x4"
94910e8d85fSIan Rogers    },
95010e8d85fSIan Rogers    {
95110e8d85fSIan Rogers        "AnyThread": "1",
95210e8d85fSIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 2.",
95310e8d85fSIan Rogers        "EventCode": "0xA1",
95410e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_2_CORE",
95510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
95610e8d85fSIan Rogers        "UMask": "0x4"
95710e8d85fSIan Rogers    },
95810e8d85fSIan Rogers    {
95910e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 3",
96010e8d85fSIan Rogers        "EventCode": "0xA1",
96110e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_3",
96210e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
96310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
96410e8d85fSIan Rogers        "UMask": "0x8"
96510e8d85fSIan Rogers    },
96610e8d85fSIan Rogers    {
96710e8d85fSIan Rogers        "AnyThread": "1",
96810e8d85fSIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 3.",
96910e8d85fSIan Rogers        "EventCode": "0xA1",
97010e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_3_CORE",
97110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
97210e8d85fSIan Rogers        "UMask": "0x8"
97310e8d85fSIan Rogers    },
97410e8d85fSIan Rogers    {
97510e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 4",
97610e8d85fSIan Rogers        "EventCode": "0xA1",
97710e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_4",
97810e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
97910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
98010e8d85fSIan Rogers        "UMask": "0x10"
98110e8d85fSIan Rogers    },
98210e8d85fSIan Rogers    {
98310e8d85fSIan Rogers        "AnyThread": "1",
984*78036545SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 4.",
98510e8d85fSIan Rogers        "EventCode": "0xA1",
98610e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_4_CORE",
98710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
98810e8d85fSIan Rogers        "UMask": "0x10"
98910e8d85fSIan Rogers    },
99010e8d85fSIan Rogers    {
99110e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 5",
99210e8d85fSIan Rogers        "EventCode": "0xA1",
99310e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_5",
99410e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
99510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
99610e8d85fSIan Rogers        "UMask": "0x20"
99710e8d85fSIan Rogers    },
99810e8d85fSIan Rogers    {
99910e8d85fSIan Rogers        "AnyThread": "1",
1000*78036545SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 5.",
100110e8d85fSIan Rogers        "EventCode": "0xA1",
100210e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_5_CORE",
100310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
100410e8d85fSIan Rogers        "UMask": "0x20"
100510e8d85fSIan Rogers    },
100610e8d85fSIan Rogers    {
100710e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 6",
100810e8d85fSIan Rogers        "EventCode": "0xA1",
100910e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_6",
101010e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
101110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
101210e8d85fSIan Rogers        "UMask": "0x40"
101310e8d85fSIan Rogers    },
101410e8d85fSIan Rogers    {
101510e8d85fSIan Rogers        "AnyThread": "1",
1016*78036545SIan Rogers        "BriefDescription": "Cycles per core when uops are executed in port 6.",
101710e8d85fSIan Rogers        "EventCode": "0xA1",
101810e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_6_CORE",
101910e8d85fSIan Rogers        "SampleAfterValue": "2000003",
102010e8d85fSIan Rogers        "UMask": "0x40"
102110e8d85fSIan Rogers    },
102210e8d85fSIan Rogers    {
102310e8d85fSIan Rogers        "BriefDescription": "Cycles per thread when uops are executed in port 7",
102410e8d85fSIan Rogers        "EventCode": "0xA1",
102510e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_7",
102610e8d85fSIan Rogers        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
102710e8d85fSIan Rogers        "SampleAfterValue": "2000003",
102810e8d85fSIan Rogers        "UMask": "0x80"
102910e8d85fSIan Rogers    },
103010e8d85fSIan Rogers    {
103110e8d85fSIan Rogers        "AnyThread": "1",
103210e8d85fSIan Rogers        "BriefDescription": "Cycles per core when uops are dispatched to port 7.",
103310e8d85fSIan Rogers        "EventCode": "0xA1",
103410e8d85fSIan Rogers        "EventName": "UOPS_EXECUTED_PORT.PORT_7_CORE",
103510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
103610e8d85fSIan Rogers        "UMask": "0x80"
103710e8d85fSIan Rogers    },
103810e8d85fSIan Rogers    {
103910e8d85fSIan Rogers        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
104010e8d85fSIan Rogers        "EventCode": "0x0E",
104110e8d85fSIan Rogers        "EventName": "UOPS_ISSUED.ANY",
104210e8d85fSIan Rogers        "PublicDescription": "This event counts the number of Uops issued by the Resource Allocation Table (RAT) to the reservation station (RS).",
104310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
104410e8d85fSIan Rogers        "UMask": "0x1"
104510e8d85fSIan Rogers    },
104610e8d85fSIan Rogers    {
104710e8d85fSIan Rogers        "BriefDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive; added by GSR u-arch.",
104810e8d85fSIan Rogers        "EventCode": "0x0E",
104910e8d85fSIan Rogers        "EventName": "UOPS_ISSUED.FLAGS_MERGE",
105010e8d85fSIan Rogers        "PublicDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive\n added by GSR u-arch.",
105110e8d85fSIan Rogers        "SampleAfterValue": "2000003",
105210e8d85fSIan Rogers        "UMask": "0x10"
105310e8d85fSIan Rogers    },
105410e8d85fSIan Rogers    {
105510e8d85fSIan Rogers        "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated.",
105610e8d85fSIan Rogers        "EventCode": "0x0E",
105710e8d85fSIan Rogers        "EventName": "UOPS_ISSUED.SINGLE_MUL",
105810e8d85fSIan Rogers        "SampleAfterValue": "2000003",
105910e8d85fSIan Rogers        "UMask": "0x40"
106010e8d85fSIan Rogers    },
106110e8d85fSIan Rogers    {
106210e8d85fSIan Rogers        "BriefDescription": "Number of slow LEA uops being allocated. A uop is generally considered SlowLea if it has 3 sources (e.g. 2 sources + immediate) regardless if as a result of LEA instruction or not.",
106310e8d85fSIan Rogers        "EventCode": "0x0E",
106410e8d85fSIan Rogers        "EventName": "UOPS_ISSUED.SLOW_LEA",
106510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
106610e8d85fSIan Rogers        "UMask": "0x20"
106710e8d85fSIan Rogers    },
106810e8d85fSIan Rogers    {
106910e8d85fSIan Rogers        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread",
107010e8d85fSIan Rogers        "CounterMask": "1",
107110e8d85fSIan Rogers        "EventCode": "0x0E",
107210e8d85fSIan Rogers        "EventName": "UOPS_ISSUED.STALL_CYCLES",
107310e8d85fSIan Rogers        "Invert": "1",
107410e8d85fSIan Rogers        "PublicDescription": "This event counts cycles during which the Resource Allocation Table (RAT) does not issue any Uops to the reservation station (RS) for the current thread.",
107510e8d85fSIan Rogers        "SampleAfterValue": "2000003",
107610e8d85fSIan Rogers        "UMask": "0x1"
107710e8d85fSIan Rogers    },
107810e8d85fSIan Rogers    {
107910e8d85fSIan Rogers        "BriefDescription": "Actually retired uops.",
108010e8d85fSIan Rogers        "EventCode": "0xC2",
108110e8d85fSIan Rogers        "EventName": "UOPS_RETIRED.ALL",
108210e8d85fSIan Rogers        "PEBS": "1",
108310e8d85fSIan Rogers        "PublicDescription": "This event counts all actually retired uops. Counting increments by two for micro-fused uops, and by one for macro-fused and other uops. Maximal increment value for one cycle is eight.",
108410e8d85fSIan Rogers        "SampleAfterValue": "2000003",
108510e8d85fSIan Rogers        "UMask": "0x1"
108610e8d85fSIan Rogers    },
108710e8d85fSIan Rogers    {
108810e8d85fSIan Rogers        "BriefDescription": "Retirement slots used.",
108910e8d85fSIan Rogers        "EventCode": "0xC2",
109010e8d85fSIan Rogers        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
109110e8d85fSIan Rogers        "PEBS": "1",
109210e8d85fSIan Rogers        "PublicDescription": "This event counts the number of retirement slots used.",
109310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
109410e8d85fSIan Rogers        "UMask": "0x2"
109510e8d85fSIan Rogers    },
109610e8d85fSIan Rogers    {
109710e8d85fSIan Rogers        "BriefDescription": "Cycles without actually retired uops.",
109810e8d85fSIan Rogers        "CounterMask": "1",
109910e8d85fSIan Rogers        "EventCode": "0xC2",
110010e8d85fSIan Rogers        "EventName": "UOPS_RETIRED.STALL_CYCLES",
110110e8d85fSIan Rogers        "Invert": "1",
110210e8d85fSIan Rogers        "PublicDescription": "This event counts cycles without actually retired uops.",
110310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
110410e8d85fSIan Rogers        "UMask": "0x1"
110510e8d85fSIan Rogers    },
110610e8d85fSIan Rogers    {
110710e8d85fSIan Rogers        "BriefDescription": "Cycles with less than 10 actually retired uops.",
1108*78036545SIan Rogers        "CounterMask": "16",
110910e8d85fSIan Rogers        "EventCode": "0xC2",
111010e8d85fSIan Rogers        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
111110e8d85fSIan Rogers        "Invert": "1",
111210e8d85fSIan Rogers        "PublicDescription": "Number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
111310e8d85fSIan Rogers        "SampleAfterValue": "2000003",
111410e8d85fSIan Rogers        "UMask": "0x1"
1115b74d1315SAndi Kleen    }
1116b74d1315SAndi Kleen]
1117