119c0389bSAndi Kleen[
219c0389bSAndi Kleen    {
319c0389bSAndi Kleen        "EventCode": "0x00",
419c0389bSAndi Kleen        "UMask": "0x1",
519c0389bSAndi Kleen        "BriefDescription": "Instructions retired from execution.",
619c0389bSAndi Kleen        "Counter": "Fixed counter 1",
719c0389bSAndi Kleen        "EventName": "INST_RETIRED.ANY",
819c0389bSAndi Kleen        "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.",
919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
1019c0389bSAndi Kleen        "CounterHTOff": "Fixed counter 1"
1119c0389bSAndi Kleen    },
1219c0389bSAndi Kleen    {
1319c0389bSAndi Kleen        "EventCode": "0x00",
1419c0389bSAndi Kleen        "UMask": "0x2",
1519c0389bSAndi Kleen        "BriefDescription": "Core cycles when the thread is not in halt state",
1619c0389bSAndi Kleen        "Counter": "Fixed counter 2",
1719c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD",
1819c0389bSAndi Kleen        "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.",
1919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
2019c0389bSAndi Kleen        "CounterHTOff": "Fixed counter 2"
2119c0389bSAndi Kleen    },
2219c0389bSAndi Kleen    {
2319c0389bSAndi Kleen        "EventCode": "0x00",
2419c0389bSAndi Kleen        "UMask": "0x3",
2519c0389bSAndi Kleen        "BriefDescription": "Reference cycles when the core is not in halt state.",
2619c0389bSAndi Kleen        "Counter": "Fixed counter 3",
2719c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
2819c0389bSAndi Kleen        "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.",
2919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
3019c0389bSAndi Kleen        "CounterHTOff": "Fixed counter 3"
3119c0389bSAndi Kleen    },
3219c0389bSAndi Kleen    {
3319c0389bSAndi Kleen        "EventCode": "0x03",
3419c0389bSAndi Kleen        "UMask": "0x2",
3519c0389bSAndi Kleen        "BriefDescription": "Cases when loads get true Block-on-Store blocking code preventing store forwarding",
3619c0389bSAndi Kleen        "Counter": "0,1,2,3",
3719c0389bSAndi Kleen        "EventName": "LD_BLOCKS.STORE_FORWARD",
3819c0389bSAndi Kleen        "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.",
3919c0389bSAndi Kleen        "SampleAfterValue": "100003",
4019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
4119c0389bSAndi Kleen    },
4219c0389bSAndi Kleen    {
4319c0389bSAndi Kleen        "EventCode": "0x03",
4419c0389bSAndi Kleen        "UMask": "0x8",
4519c0389bSAndi Kleen        "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.",
4619c0389bSAndi Kleen        "Counter": "0,1,2,3",
4719c0389bSAndi Kleen        "EventName": "LD_BLOCKS.NO_SR",
4819c0389bSAndi Kleen        "SampleAfterValue": "100003",
4919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
5019c0389bSAndi Kleen    },
5119c0389bSAndi Kleen    {
5219c0389bSAndi Kleen        "EventCode": "0x07",
5319c0389bSAndi Kleen        "UMask": "0x1",
5419c0389bSAndi Kleen        "BriefDescription": "False dependencies in MOB due to partial compare",
5519c0389bSAndi Kleen        "Counter": "0,1,2,3",
5619c0389bSAndi Kleen        "EventName": "LD_BLOCKS_PARTIAL.ADDRESS_ALIAS",
5719c0389bSAndi Kleen        "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.",
5819c0389bSAndi Kleen        "SampleAfterValue": "100003",
5919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
6019c0389bSAndi Kleen    },
6119c0389bSAndi Kleen    {
6219c0389bSAndi Kleen        "EventCode": "0x0D",
6319c0389bSAndi Kleen        "UMask": "0x8",
6419c0389bSAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) external stall is sent to Instruction Decode Queue (IDQ) for the thread",
6519c0389bSAndi Kleen        "Counter": "0,1,2,3",
6619c0389bSAndi Kleen        "EventName": "INT_MISC.RAT_STALL_CYCLES",
6719c0389bSAndi Kleen        "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.",
6819c0389bSAndi Kleen        "SampleAfterValue": "2000003",
6919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
7019c0389bSAndi Kleen    },
7119c0389bSAndi Kleen    {
7219c0389bSAndi Kleen        "EventCode": "0x0D",
7319c0389bSAndi Kleen        "UMask": "0x3",
7419c0389bSAndi Kleen        "BriefDescription": "Number of cycles waiting for the checkpoints in Resource Allocation Table (RAT) to be recovered after Nuke due to all other cases except JEClear (e.g. whenever a ucode assist is needed like SSE exception, memory disambiguation, etc...)",
7519c0389bSAndi Kleen        "Counter": "0,1,2,3",
7619c0389bSAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES",
7719c0389bSAndi Kleen        "CounterMask": "1",
7819c0389bSAndi Kleen        "PublicDescription": "Cycles checkpoints in Resource Allocation Table (RAT) are recovering from JEClear or machine clear.",
7919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
8019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
8119c0389bSAndi Kleen    },
8219c0389bSAndi Kleen    {
8319c0389bSAndi Kleen        "EventCode": "0x0E",
8419c0389bSAndi Kleen        "UMask": "0x1",
8519c0389bSAndi Kleen        "BriefDescription": "Uops that Resource Allocation Table (RAT) issues to Reservation Station (RS)",
8619c0389bSAndi Kleen        "Counter": "0,1,2,3",
8719c0389bSAndi Kleen        "EventName": "UOPS_ISSUED.ANY",
8819c0389bSAndi Kleen        "PublicDescription": "This event counts the number of Uops issued by the Resource Allocation Table (RAT) to the reservation station (RS).",
8919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
9019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
9119c0389bSAndi Kleen    },
9219c0389bSAndi Kleen    {
9319c0389bSAndi Kleen        "EventCode": "0x0E",
9419c0389bSAndi Kleen        "UMask": "0x10",
9519c0389bSAndi Kleen        "BriefDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive; added by GSR u-arch.",
9619c0389bSAndi Kleen        "Counter": "0,1,2,3",
9719c0389bSAndi Kleen        "EventName": "UOPS_ISSUED.FLAGS_MERGE",
9819c0389bSAndi Kleen        "PublicDescription": "Number of flags-merge uops being allocated. Such uops considered perf sensitive\n added by GSR u-arch.",
9919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
10019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
10119c0389bSAndi Kleen    },
10219c0389bSAndi Kleen    {
10319c0389bSAndi Kleen        "EventCode": "0x0E",
10419c0389bSAndi Kleen        "UMask": "0x20",
10519c0389bSAndi Kleen        "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.",
10619c0389bSAndi Kleen        "Counter": "0,1,2,3",
10719c0389bSAndi Kleen        "EventName": "UOPS_ISSUED.SLOW_LEA",
10819c0389bSAndi Kleen        "SampleAfterValue": "2000003",
10919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
11019c0389bSAndi Kleen    },
11119c0389bSAndi Kleen    {
11219c0389bSAndi Kleen        "EventCode": "0x0E",
11319c0389bSAndi Kleen        "UMask": "0x40",
11419c0389bSAndi Kleen        "BriefDescription": "Number of Multiply packed/scalar single precision uops allocated.",
11519c0389bSAndi Kleen        "Counter": "0,1,2,3",
11619c0389bSAndi Kleen        "EventName": "UOPS_ISSUED.SINGLE_MUL",
11719c0389bSAndi Kleen        "SampleAfterValue": "2000003",
11819c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
11919c0389bSAndi Kleen    },
12019c0389bSAndi Kleen    {
12119c0389bSAndi Kleen        "Invert": "1",
12219c0389bSAndi Kleen        "EventCode": "0x0E",
12319c0389bSAndi Kleen        "UMask": "0x1",
12419c0389bSAndi Kleen        "BriefDescription": "Cycles when Resource Allocation Table (RAT) does not issue Uops to Reservation Station (RS) for the thread",
12519c0389bSAndi Kleen        "Counter": "0,1,2,3",
12619c0389bSAndi Kleen        "EventName": "UOPS_ISSUED.STALL_CYCLES",
12719c0389bSAndi Kleen        "CounterMask": "1",
12819c0389bSAndi Kleen        "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.",
12919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
13019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
13119c0389bSAndi Kleen    },
13219c0389bSAndi Kleen    {
13319c0389bSAndi Kleen        "EventCode": "0x14",
13419c0389bSAndi Kleen        "UMask": "0x1",
13519c0389bSAndi Kleen        "BriefDescription": "Cycles when divider is busy executing divide operations",
13619c0389bSAndi Kleen        "Counter": "0,1,2,3",
13719c0389bSAndi Kleen        "EventName": "ARITH.FPU_DIV_ACTIVE",
13819c0389bSAndi Kleen        "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.",
13919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
14019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
14119c0389bSAndi Kleen    },
14219c0389bSAndi Kleen    {
14319c0389bSAndi Kleen        "EventCode": "0x3C",
14419c0389bSAndi Kleen        "UMask": "0x1",
14519c0389bSAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
14619c0389bSAndi Kleen        "Counter": "0,1,2,3",
14719c0389bSAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK",
14819c0389bSAndi Kleen        "PublicDescription": "This is a fixed-frequency event programmed to general counters. It counts when the core is unhalted at 100 Mhz.",
14919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
15019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
15119c0389bSAndi Kleen    },
15219c0389bSAndi Kleen    {
15319c0389bSAndi Kleen        "EventCode": "0x3c",
15419c0389bSAndi Kleen        "UMask": "0x2",
15519c0389bSAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
15619c0389bSAndi Kleen        "Counter": "0,1,2,3",
15719c0389bSAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.ONE_THREAD_ACTIVE",
15819c0389bSAndi Kleen        "SampleAfterValue": "2000003",
15919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
16019c0389bSAndi Kleen    },
16119c0389bSAndi Kleen    {
16219c0389bSAndi Kleen        "EventCode": "0x4c",
16319c0389bSAndi Kleen        "UMask": "0x1",
16419c0389bSAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for software prefetch",
16519c0389bSAndi Kleen        "Counter": "0,1,2,3",
16619c0389bSAndi Kleen        "EventName": "LOAD_HIT_PRE.SW_PF",
16719c0389bSAndi Kleen        "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.",
16819c0389bSAndi Kleen        "SampleAfterValue": "100003",
16919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
17019c0389bSAndi Kleen    },
17119c0389bSAndi Kleen    {
17219c0389bSAndi Kleen        "EventCode": "0x4C",
17319c0389bSAndi Kleen        "UMask": "0x2",
17419c0389bSAndi Kleen        "BriefDescription": "Not software-prefetch load dispatches that hit FB allocated for hardware prefetch",
17519c0389bSAndi Kleen        "Counter": "0,1,2,3",
17619c0389bSAndi Kleen        "EventName": "LOAD_HIT_PRE.HW_PF",
17719c0389bSAndi Kleen        "PublicDescription": "This event counts all not software-prefetch load dispatches that hit the fill buffer (FB) allocated for the hardware prefetch.",
17819c0389bSAndi Kleen        "SampleAfterValue": "100003",
17919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
18019c0389bSAndi Kleen    },
18119c0389bSAndi Kleen    {
18219c0389bSAndi Kleen        "EventCode": "0x58",
18319c0389bSAndi Kleen        "UMask": "0x1",
18419c0389bSAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were eliminated.",
18519c0389bSAndi Kleen        "Counter": "0,1,2,3",
18619c0389bSAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_ELIMINATED",
18719c0389bSAndi Kleen        "SampleAfterValue": "1000003",
18819c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
18919c0389bSAndi Kleen    },
19019c0389bSAndi Kleen    {
19119c0389bSAndi Kleen        "EventCode": "0x58",
19219c0389bSAndi Kleen        "UMask": "0x2",
19319c0389bSAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were eliminated.",
19419c0389bSAndi Kleen        "Counter": "0,1,2,3",
19519c0389bSAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_ELIMINATED",
19619c0389bSAndi Kleen        "SampleAfterValue": "1000003",
19719c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
19819c0389bSAndi Kleen    },
19919c0389bSAndi Kleen    {
20019c0389bSAndi Kleen        "EventCode": "0x58",
20119c0389bSAndi Kleen        "UMask": "0x4",
20219c0389bSAndi Kleen        "BriefDescription": "Number of integer Move Elimination candidate uops that were not eliminated.",
20319c0389bSAndi Kleen        "Counter": "0,1,2,3",
20419c0389bSAndi Kleen        "EventName": "MOVE_ELIMINATION.INT_NOT_ELIMINATED",
20519c0389bSAndi Kleen        "SampleAfterValue": "1000003",
20619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
20719c0389bSAndi Kleen    },
20819c0389bSAndi Kleen    {
20919c0389bSAndi Kleen        "EventCode": "0x58",
21019c0389bSAndi Kleen        "UMask": "0x8",
21119c0389bSAndi Kleen        "BriefDescription": "Number of SIMD Move Elimination candidate uops that were not eliminated.",
21219c0389bSAndi Kleen        "Counter": "0,1,2,3",
21319c0389bSAndi Kleen        "EventName": "MOVE_ELIMINATION.SIMD_NOT_ELIMINATED",
21419c0389bSAndi Kleen        "SampleAfterValue": "1000003",
21519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
21619c0389bSAndi Kleen    },
21719c0389bSAndi Kleen    {
21819c0389bSAndi Kleen        "EventCode": "0x5E",
21919c0389bSAndi Kleen        "UMask": "0x1",
22019c0389bSAndi Kleen        "BriefDescription": "Cycles when Reservation Station (RS) is empty for the thread",
22119c0389bSAndi Kleen        "Counter": "0,1,2,3",
22219c0389bSAndi Kleen        "EventName": "RS_EVENTS.EMPTY_CYCLES",
22319c0389bSAndi Kleen        "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.",
22419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
22519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
22619c0389bSAndi Kleen    },
22719c0389bSAndi Kleen    {
22819c0389bSAndi Kleen        "EventCode": "0x87",
22919c0389bSAndi Kleen        "UMask": "0x1",
23019c0389bSAndi Kleen        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
23119c0389bSAndi Kleen        "Counter": "0,1,2,3",
23219c0389bSAndi Kleen        "EventName": "ILD_STALL.LCP",
23319c0389bSAndi Kleen        "PublicDescription": "This event counts stalls occured 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.",
23419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
23519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
23619c0389bSAndi Kleen    },
23719c0389bSAndi Kleen    {
23819c0389bSAndi Kleen        "EventCode": "0x88",
23919c0389bSAndi Kleen        "UMask": "0x41",
24019c0389bSAndi Kleen        "BriefDescription": "Not taken macro-conditional branches",
24119c0389bSAndi Kleen        "Counter": "0,1,2,3",
24219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.NONTAKEN_CONDITIONAL",
24319c0389bSAndi Kleen        "PublicDescription": "This event counts not taken macro-conditional branch instructions.",
24419c0389bSAndi Kleen        "SampleAfterValue": "200003",
24519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
24619c0389bSAndi Kleen    },
24719c0389bSAndi Kleen    {
24819c0389bSAndi Kleen        "EventCode": "0x88",
24919c0389bSAndi Kleen        "UMask": "0x81",
25019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branches",
25119c0389bSAndi Kleen        "Counter": "0,1,2,3",
25219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_CONDITIONAL",
25319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions.",
25419c0389bSAndi Kleen        "SampleAfterValue": "200003",
25519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
25619c0389bSAndi Kleen    },
25719c0389bSAndi Kleen    {
25819c0389bSAndi Kleen        "EventCode": "0x88",
25919c0389bSAndi Kleen        "UMask": "0x82",
26019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired macro-conditional branch instructions excluding calls and indirects",
26119c0389bSAndi Kleen        "Counter": "0,1,2,3",
26219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_JUMP",
26319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired macro-conditional branch instructions excluding calls and indirect branches.",
26419c0389bSAndi Kleen        "SampleAfterValue": "200003",
26519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
26619c0389bSAndi Kleen    },
26719c0389bSAndi Kleen    {
26819c0389bSAndi Kleen        "EventCode": "0x88",
26919c0389bSAndi Kleen        "UMask": "0x84",
27019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches excluding calls and returns",
27119c0389bSAndi Kleen        "Counter": "0,1,2,3",
27219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
27319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect branches excluding calls and return branches.",
27419c0389bSAndi Kleen        "SampleAfterValue": "200003",
27519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
27619c0389bSAndi Kleen    },
27719c0389bSAndi Kleen    {
27819c0389bSAndi Kleen        "EventCode": "0x88",
27919c0389bSAndi Kleen        "UMask": "0x88",
28019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired indirect branches with return mnemonic",
28119c0389bSAndi Kleen        "Counter": "0,1,2,3",
28219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_RETURN",
28319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect branches that have a return mnemonic.",
28419c0389bSAndi Kleen        "SampleAfterValue": "200003",
28519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
28619c0389bSAndi Kleen    },
28719c0389bSAndi Kleen    {
28819c0389bSAndi Kleen        "EventCode": "0x88",
28919c0389bSAndi Kleen        "UMask": "0x90",
29019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired direct near calls",
29119c0389bSAndi Kleen        "Counter": "0,1,2,3",
29219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_DIRECT_NEAR_CALL",
29319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired direct near calls.",
29419c0389bSAndi Kleen        "SampleAfterValue": "200003",
29519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
29619c0389bSAndi Kleen    },
29719c0389bSAndi Kleen    {
29819c0389bSAndi Kleen        "EventCode": "0x88",
29919c0389bSAndi Kleen        "UMask": "0xa0",
30019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired indirect calls",
30119c0389bSAndi Kleen        "Counter": "0,1,2,3",
30219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.TAKEN_INDIRECT_NEAR_CALL",
30319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired indirect calls including both register and memory indirect.",
30419c0389bSAndi Kleen        "SampleAfterValue": "200003",
30519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
30619c0389bSAndi Kleen    },
30719c0389bSAndi Kleen    {
30819c0389bSAndi Kleen        "EventCode": "0x88",
30919c0389bSAndi Kleen        "UMask": "0xc1",
31019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired macro-conditional branches",
31119c0389bSAndi Kleen        "Counter": "0,1,2,3",
31219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_CONDITIONAL",
31319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-conditional branch instructions.",
31419c0389bSAndi Kleen        "SampleAfterValue": "200003",
31519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
31619c0389bSAndi Kleen    },
31719c0389bSAndi Kleen    {
31819c0389bSAndi Kleen        "EventCode": "0x88",
31919c0389bSAndi Kleen        "UMask": "0xc2",
32019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired macro-unconditional branches excluding calls and indirects",
32119c0389bSAndi Kleen        "Counter": "0,1,2,3",
32219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_JMP",
32319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired macro-unconditional branch instructions, excluding calls and indirects.",
32419c0389bSAndi Kleen        "SampleAfterValue": "200003",
32519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
32619c0389bSAndi Kleen    },
32719c0389bSAndi Kleen    {
32819c0389bSAndi Kleen        "EventCode": "0x88",
32919c0389bSAndi Kleen        "UMask": "0xc4",
33019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired indirect branches excluding calls and returns",
33119c0389bSAndi Kleen        "Counter": "0,1,2,3",
33219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
33319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches excluding calls and return branches.",
33419c0389bSAndi Kleen        "SampleAfterValue": "200003",
33519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
33619c0389bSAndi Kleen    },
33719c0389bSAndi Kleen    {
33819c0389bSAndi Kleen        "EventCode": "0x88",
33919c0389bSAndi Kleen        "UMask": "0xc8",
34019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired indirect return branches.",
34119c0389bSAndi Kleen        "Counter": "0,1,2,3",
34219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_INDIRECT_NEAR_RETURN",
34319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired indirect branches that have a return mnemonic.",
34419c0389bSAndi Kleen        "SampleAfterValue": "200003",
34519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
34619c0389bSAndi Kleen    },
34719c0389bSAndi Kleen    {
34819c0389bSAndi Kleen        "EventCode": "0x88",
34919c0389bSAndi Kleen        "UMask": "0xd0",
35019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired direct near calls",
35119c0389bSAndi Kleen        "Counter": "0,1,2,3",
35219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_DIRECT_NEAR_CALL",
35319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired direct near calls.",
35419c0389bSAndi Kleen        "SampleAfterValue": "200003",
35519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
35619c0389bSAndi Kleen    },
35719c0389bSAndi Kleen    {
35819c0389bSAndi Kleen        "EventCode": "0x88",
35919c0389bSAndi Kleen        "UMask": "0xff",
36019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired  branches",
36119c0389bSAndi Kleen        "Counter": "0,1,2,3",
36219c0389bSAndi Kleen        "EventName": "BR_INST_EXEC.ALL_BRANCHES",
36319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired branch instructions.",
36419c0389bSAndi Kleen        "SampleAfterValue": "200003",
36519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
36619c0389bSAndi Kleen    },
36719c0389bSAndi Kleen    {
36819c0389bSAndi Kleen        "EventCode": "0x89",
36919c0389bSAndi Kleen        "UMask": "0x41",
37019c0389bSAndi Kleen        "BriefDescription": "Not taken speculative and retired mispredicted macro conditional branches",
37119c0389bSAndi Kleen        "Counter": "0,1,2,3",
37219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.NONTAKEN_CONDITIONAL",
37319c0389bSAndi Kleen        "PublicDescription": "This event counts not taken speculative and retired mispredicted macro conditional branch instructions.",
37419c0389bSAndi Kleen        "SampleAfterValue": "200003",
37519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
37619c0389bSAndi Kleen    },
37719c0389bSAndi Kleen    {
37819c0389bSAndi Kleen        "EventCode": "0x89",
37919c0389bSAndi Kleen        "UMask": "0x81",
38019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted macro conditional branches",
38119c0389bSAndi Kleen        "Counter": "0,1,2,3",
38219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_CONDITIONAL",
38319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted macro conditional branch instructions.",
38419c0389bSAndi Kleen        "SampleAfterValue": "200003",
38519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
38619c0389bSAndi Kleen    },
38719c0389bSAndi Kleen    {
38819c0389bSAndi Kleen        "EventCode": "0x89",
38919c0389bSAndi Kleen        "UMask": "0x84",
39019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches excluding calls and returns",
39119c0389bSAndi Kleen        "Counter": "0,1,2,3",
39219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_JUMP_NON_CALL_RET",
39319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches excluding calls and returns.",
39419c0389bSAndi Kleen        "SampleAfterValue": "200003",
39519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
39619c0389bSAndi Kleen    },
39719c0389bSAndi Kleen    {
39819c0389bSAndi Kleen        "EventCode": "0x89",
39919c0389bSAndi Kleen        "UMask": "0x88",
40019c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect branches with return mnemonic",
40119c0389bSAndi Kleen        "Counter": "0,1,2,3",
40219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_RETURN_NEAR",
40319c0389bSAndi Kleen        "PublicDescription": "This event counts taken speculative and retired mispredicted indirect branches that have a return mnemonic.",
40419c0389bSAndi Kleen        "SampleAfterValue": "200003",
40519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
40619c0389bSAndi Kleen    },
40719c0389bSAndi Kleen    {
40819c0389bSAndi Kleen        "EventCode": "0x89",
40919c0389bSAndi Kleen        "UMask": "0xc1",
41019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
41119c0389bSAndi Kleen        "Counter": "0,1,2,3",
41219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_CONDITIONAL",
41319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted macro conditional branch instructions.",
41419c0389bSAndi Kleen        "SampleAfterValue": "200003",
41519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
41619c0389bSAndi Kleen    },
41719c0389bSAndi Kleen    {
41819c0389bSAndi Kleen        "EventCode": "0x89",
41919c0389bSAndi Kleen        "UMask": "0xc4",
42019c0389bSAndi Kleen        "BriefDescription": "Mispredicted indirect branches excluding calls and returns",
42119c0389bSAndi Kleen        "Counter": "0,1,2,3",
42219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_INDIRECT_JUMP_NON_CALL_RET",
42319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken mispredicted indirect branches excluding calls and returns.",
42419c0389bSAndi Kleen        "SampleAfterValue": "200003",
42519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
42619c0389bSAndi Kleen    },
42719c0389bSAndi Kleen    {
42819c0389bSAndi Kleen        "EventCode": "0x89",
42919c0389bSAndi Kleen        "UMask": "0xff",
43019c0389bSAndi Kleen        "BriefDescription": "Speculative and retired mispredicted macro conditional branches",
43119c0389bSAndi Kleen        "Counter": "0,1,2,3",
43219c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.ALL_BRANCHES",
43319c0389bSAndi Kleen        "PublicDescription": "This event counts both taken and not taken speculative and retired mispredicted branch instructions.",
43419c0389bSAndi Kleen        "SampleAfterValue": "200003",
43519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
43619c0389bSAndi Kleen    },
43719c0389bSAndi Kleen    {
43819c0389bSAndi Kleen        "EventCode": "0xA1",
43919c0389bSAndi Kleen        "UMask": "0x1",
44019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0",
44119c0389bSAndi Kleen        "Counter": "0,1,2,3",
44219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_0",
44319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
44419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
44519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
44619c0389bSAndi Kleen    },
44719c0389bSAndi Kleen    {
44819c0389bSAndi Kleen        "EventCode": "0xA1",
44919c0389bSAndi Kleen        "UMask": "0x2",
45019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1",
45119c0389bSAndi Kleen        "Counter": "0,1,2,3",
45219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_1",
45319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
45419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
45519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
45619c0389bSAndi Kleen    },
45719c0389bSAndi Kleen    {
45819c0389bSAndi Kleen        "EventCode": "0xA1",
45919c0389bSAndi Kleen        "UMask": "0x4",
46019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2",
46119c0389bSAndi Kleen        "Counter": "0,1,2,3",
46219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_2",
46319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
46419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
46519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
46619c0389bSAndi Kleen    },
46719c0389bSAndi Kleen    {
46819c0389bSAndi Kleen        "EventCode": "0xA1",
46919c0389bSAndi Kleen        "UMask": "0x8",
47019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3",
47119c0389bSAndi Kleen        "Counter": "0,1,2,3",
47219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_3",
47319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
47419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
47519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
47619c0389bSAndi Kleen    },
47719c0389bSAndi Kleen    {
47819c0389bSAndi Kleen        "EventCode": "0xA1",
47919c0389bSAndi Kleen        "UMask": "0x10",
48019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4",
48119c0389bSAndi Kleen        "Counter": "0,1,2,3",
48219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_4",
48319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
48419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
48519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
48619c0389bSAndi Kleen    },
48719c0389bSAndi Kleen    {
48819c0389bSAndi Kleen        "EventCode": "0xA1",
48919c0389bSAndi Kleen        "UMask": "0x20",
49019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5",
49119c0389bSAndi Kleen        "Counter": "0,1,2,3",
49219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_5",
49319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
49419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
49519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
49619c0389bSAndi Kleen    },
49719c0389bSAndi Kleen    {
49819c0389bSAndi Kleen        "EventCode": "0xA1",
49919c0389bSAndi Kleen        "UMask": "0x40",
50019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6",
50119c0389bSAndi Kleen        "Counter": "0,1,2,3",
50219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_6",
50319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
50419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
50519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
50619c0389bSAndi Kleen    },
50719c0389bSAndi Kleen    {
50819c0389bSAndi Kleen        "EventCode": "0xA1",
50919c0389bSAndi Kleen        "UMask": "0x80",
51019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7",
51119c0389bSAndi Kleen        "Counter": "0,1,2,3",
51219c0389bSAndi Kleen        "EventName": "UOPS_DISPATCHED_PORT.PORT_7",
51319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
51419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
51519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
51619c0389bSAndi Kleen    },
51719c0389bSAndi Kleen    {
51819c0389bSAndi Kleen        "EventCode": "0xA2",
51919c0389bSAndi Kleen        "UMask": "0x1",
52019c0389bSAndi Kleen        "BriefDescription": "Resource-related stall cycles",
52119c0389bSAndi Kleen        "Counter": "0,1,2,3",
52219c0389bSAndi Kleen        "EventName": "RESOURCE_STALLS.ANY",
52319c0389bSAndi Kleen        "PublicDescription": "This event counts resource-related stall cycles. Reasons for stalls can be as follows:\n - *any* u-arch structure got full (LB, SB, RS, ROB, BOB, LM, Physical Register Reclaim Table (PRRT), or Physical History Table (PHT) slots)\n - *any* u-arch structure got empty (like INT/SIMD FreeLists)\n - FPU control word (FPCW), MXCSR\nand others. This counts cycles that the pipeline backend blocked uop delivery from the front end.",
52419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
52519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
52619c0389bSAndi Kleen    },
52719c0389bSAndi Kleen    {
52819c0389bSAndi Kleen        "EventCode": "0xA2",
52919c0389bSAndi Kleen        "UMask": "0x4",
53019c0389bSAndi Kleen        "BriefDescription": "Cycles stalled due to no eligible RS entry available.",
53119c0389bSAndi Kleen        "Counter": "0,1,2,3",
53219c0389bSAndi Kleen        "EventName": "RESOURCE_STALLS.RS",
53319c0389bSAndi Kleen        "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.",
53419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
53519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
53619c0389bSAndi Kleen    },
53719c0389bSAndi Kleen    {
53819c0389bSAndi Kleen        "EventCode": "0xA2",
53919c0389bSAndi Kleen        "UMask": "0x8",
54019c0389bSAndi Kleen        "BriefDescription": "Cycles stalled due to no store buffers available. (not including draining form sync).",
54119c0389bSAndi Kleen        "Counter": "0,1,2,3",
54219c0389bSAndi Kleen        "EventName": "RESOURCE_STALLS.SB",
54319c0389bSAndi Kleen        "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.",
54419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
54519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
54619c0389bSAndi Kleen    },
54719c0389bSAndi Kleen    {
54819c0389bSAndi Kleen        "EventCode": "0xA2",
54919c0389bSAndi Kleen        "UMask": "0x10",
55019c0389bSAndi Kleen        "BriefDescription": "Cycles stalled due to re-order buffer full.",
55119c0389bSAndi Kleen        "Counter": "0,1,2,3",
55219c0389bSAndi Kleen        "EventName": "RESOURCE_STALLS.ROB",
55319c0389bSAndi Kleen        "PublicDescription": "This event counts ROB full stall cycles. This counts cycles that the pipeline backend blocked uop delivery from the front end.",
55419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
55519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
55619c0389bSAndi Kleen    },
55719c0389bSAndi Kleen    {
55819c0389bSAndi Kleen        "EventCode": "0xA3",
55919c0389bSAndi Kleen        "UMask": "0x1",
56019c0389bSAndi Kleen        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
56119c0389bSAndi Kleen        "Counter": "0,1,2,3",
56219c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_PENDING",
56319c0389bSAndi Kleen        "CounterMask": "1",
56419c0389bSAndi Kleen        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand* load request missing the L2 cache.",
56519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
56619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
56719c0389bSAndi Kleen    },
56819c0389bSAndi Kleen    {
56919c0389bSAndi Kleen        "EventCode": "0xA3",
57019c0389bSAndi Kleen        "UMask": "0x8",
57119c0389bSAndi Kleen        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
57219c0389bSAndi Kleen        "Counter": "2",
57319c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_PENDING",
57419c0389bSAndi Kleen        "CounterMask": "8",
57519c0389bSAndi Kleen        "PublicDescription": "Counts number of cycles the CPU has at least one pending  demand load request missing the L1 data cache.",
57619c0389bSAndi Kleen        "SampleAfterValue": "2000003",
57719c0389bSAndi Kleen        "CounterHTOff": "2"
57819c0389bSAndi Kleen    },
57919c0389bSAndi Kleen    {
58019c0389bSAndi Kleen        "EventCode": "0xA3",
58119c0389bSAndi Kleen        "UMask": "0x2",
58219c0389bSAndi Kleen        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
58319c0389bSAndi Kleen        "Counter": "0,1,2,3",
58419c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_LDM_PENDING",
58519c0389bSAndi Kleen        "CounterMask": "2",
58619c0389bSAndi Kleen        "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).",
58719c0389bSAndi Kleen        "SampleAfterValue": "2000003",
58819c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
58919c0389bSAndi Kleen    },
59019c0389bSAndi Kleen    {
59119c0389bSAndi Kleen        "EventCode": "0xA3",
59219c0389bSAndi Kleen        "UMask": "0x4",
59319c0389bSAndi Kleen        "BriefDescription": "Total execution stalls",
59419c0389bSAndi Kleen        "Counter": "0,1,2,3",
59519c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_NO_EXECUTE",
59619c0389bSAndi Kleen        "CounterMask": "4",
59719c0389bSAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port.",
59819c0389bSAndi Kleen        "SampleAfterValue": "2000003",
59919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
60019c0389bSAndi Kleen    },
60119c0389bSAndi Kleen    {
60219c0389bSAndi Kleen        "EventCode": "0xA3",
60319c0389bSAndi Kleen        "UMask": "0x5",
60419c0389bSAndi Kleen        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
60519c0389bSAndi Kleen        "Counter": "0,1,2,3",
60619c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L2_PENDING",
60719c0389bSAndi Kleen        "CounterMask": "5",
60819c0389bSAndi Kleen        "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.",
60919c0389bSAndi Kleen        "SampleAfterValue": "2000003",
61019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
61119c0389bSAndi Kleen    },
61219c0389bSAndi Kleen    {
61319c0389bSAndi Kleen        "EventCode": "0xA3",
61419c0389bSAndi Kleen        "UMask": "0x6",
61519c0389bSAndi Kleen        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
61619c0389bSAndi Kleen        "Counter": "0,1,2,3",
61719c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_LDM_PENDING",
61819c0389bSAndi Kleen        "CounterMask": "6",
61919c0389bSAndi Kleen        "PublicDescription": "Counts number of cycles nothing is executed on any execution port, while there was at least one pending demand load request.",
62019c0389bSAndi Kleen        "SampleAfterValue": "2000003",
62119c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
62219c0389bSAndi Kleen    },
62319c0389bSAndi Kleen    {
62419c0389bSAndi Kleen        "EventCode": "0xA3",
62519c0389bSAndi Kleen        "UMask": "0xc",
62619c0389bSAndi Kleen        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
62719c0389bSAndi Kleen        "Counter": "2",
62819c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_PENDING",
62919c0389bSAndi Kleen        "CounterMask": "12",
63019c0389bSAndi Kleen        "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.",
63119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
63219c0389bSAndi Kleen        "CounterHTOff": "2"
63319c0389bSAndi Kleen    },
63419c0389bSAndi Kleen    {
63519c0389bSAndi Kleen        "EventCode": "0xA8",
63619c0389bSAndi Kleen        "UMask": "0x1",
63719c0389bSAndi Kleen        "BriefDescription": "Number of Uops delivered by the LSD.",
63819c0389bSAndi Kleen        "Counter": "0,1,2,3",
63919c0389bSAndi Kleen        "EventName": "LSD.UOPS",
64019c0389bSAndi Kleen        "PublicDescription": "Number of Uops delivered by the LSD. ",
64119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
64219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
64319c0389bSAndi Kleen    },
64419c0389bSAndi Kleen    {
64519c0389bSAndi Kleen        "EventCode": "0xB1",
64619c0389bSAndi Kleen        "UMask": "0x1",
64719c0389bSAndi Kleen        "BriefDescription": "Counts the number of uops to be executed per-thread each cycle.",
64819c0389bSAndi Kleen        "Counter": "0,1,2,3",
64919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.THREAD",
65019c0389bSAndi Kleen        "PublicDescription": "Number of uops to be executed per-thread each cycle.",
65119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
65219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
65319c0389bSAndi Kleen    },
65419c0389bSAndi Kleen    {
65519c0389bSAndi Kleen        "EventCode": "0xB1",
65619c0389bSAndi Kleen        "UMask": "0x2",
65719c0389bSAndi Kleen        "BriefDescription": "Number of uops executed on the core.",
65819c0389bSAndi Kleen        "Counter": "0,1,2,3",
65919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE",
66019c0389bSAndi Kleen        "PublicDescription": "Number of uops executed from any thread.",
66119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
66219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
66319c0389bSAndi Kleen    },
66419c0389bSAndi Kleen    {
66519c0389bSAndi Kleen        "Invert": "1",
66619c0389bSAndi Kleen        "EventCode": "0xB1",
66719c0389bSAndi Kleen        "UMask": "0x1",
66819c0389bSAndi Kleen        "BriefDescription": "Counts number of cycles no uops were dispatched to be executed on this thread.",
66919c0389bSAndi Kleen        "Counter": "0,1,2,3",
67019c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.STALL_CYCLES",
67119c0389bSAndi Kleen        "CounterMask": "1",
67219c0389bSAndi Kleen        "PublicDescription": "This event counts cycles during which no uops were dispatched from the Reservation Station (RS) per thread.",
67319c0389bSAndi Kleen        "SampleAfterValue": "2000003",
67419c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
67519c0389bSAndi Kleen    },
67619c0389bSAndi Kleen    {
67719c0389bSAndi Kleen        "EventCode": "0xC0",
67819c0389bSAndi Kleen        "UMask": "0x0",
67919c0389bSAndi Kleen        "BriefDescription": "Number of instructions retired. General Counter   - architectural event",
68019c0389bSAndi Kleen        "Counter": "0,1,2,3",
68119c0389bSAndi Kleen        "EventName": "INST_RETIRED.ANY_P",
68219c0389bSAndi Kleen        "Errata": "BDM61",
68319c0389bSAndi Kleen        "PublicDescription": "This event counts the number of instructions (EOMs) retired. Counting covers macro-fused instructions individually (that is, increments by two).",
68419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
68519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
68619c0389bSAndi Kleen    },
68719c0389bSAndi Kleen    {
68819c0389bSAndi Kleen        "EventCode": "0xC0",
68919c0389bSAndi Kleen        "UMask": "0x2",
69019c0389bSAndi Kleen        "BriefDescription": "FP operations  retired. X87 FP operations that have no exceptions:",
69119c0389bSAndi Kleen        "Counter": "0,1,2,3",
69219c0389bSAndi Kleen        "EventName": "INST_RETIRED.X87",
69319c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that 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.",
69419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
69519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
69619c0389bSAndi Kleen    },
69719c0389bSAndi Kleen    {
69819c0389bSAndi Kleen        "EventCode": "0xC0",
69919c0389bSAndi Kleen        "UMask": "0x1",
70019c0389bSAndi Kleen        "BriefDescription": "Precise instruction retired event with HW to reduce effect of PEBS shadow in IP distribution",
70119c0389bSAndi Kleen        "PEBS": "2",
70219c0389bSAndi Kleen        "Counter": "1",
70319c0389bSAndi Kleen        "EventName": "INST_RETIRED.PREC_DIST",
70419c0389bSAndi Kleen        "Errata": "BDM11, BDM55",
70519c0389bSAndi Kleen        "PublicDescription": "This is a precise version (that is, uses PEBS) of the event that counts instructions retired.",
70619c0389bSAndi Kleen        "SampleAfterValue": "2000003",
70719c0389bSAndi Kleen        "CounterHTOff": "1"
70819c0389bSAndi Kleen    },
70919c0389bSAndi Kleen    {
71019c0389bSAndi Kleen        "EventCode": "0xC1",
71119c0389bSAndi Kleen        "UMask": "0x40",
71219c0389bSAndi Kleen        "BriefDescription": "Number of times any microcode assist is invoked by HW upon uop writeback.",
71319c0389bSAndi Kleen        "Counter": "0,1,2,3",
71419c0389bSAndi Kleen        "EventName": "OTHER_ASSISTS.ANY_WB_ASSIST",
71519c0389bSAndi Kleen        "SampleAfterValue": "100003",
71619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
71719c0389bSAndi Kleen    },
71819c0389bSAndi Kleen    {
71919c0389bSAndi Kleen        "EventCode": "0xC2",
72019c0389bSAndi Kleen        "UMask": "0x1",
72119c0389bSAndi Kleen        "BriefDescription": "Actually retired uops.",
72219c0389bSAndi Kleen        "Data_LA": "1",
72319c0389bSAndi Kleen        "PEBS": "1",
72419c0389bSAndi Kleen        "Counter": "0,1,2,3",
72519c0389bSAndi Kleen        "EventName": "UOPS_RETIRED.ALL",
72619c0389bSAndi Kleen        "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.",
72719c0389bSAndi Kleen        "SampleAfterValue": "2000003",
72819c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
72919c0389bSAndi Kleen    },
73019c0389bSAndi Kleen    {
73119c0389bSAndi Kleen        "EventCode": "0xC2",
73219c0389bSAndi Kleen        "UMask": "0x2",
73319c0389bSAndi Kleen        "BriefDescription": "Retirement slots used.",
73419c0389bSAndi Kleen        "PEBS": "1",
73519c0389bSAndi Kleen        "Counter": "0,1,2,3",
73619c0389bSAndi Kleen        "EventName": "UOPS_RETIRED.RETIRE_SLOTS",
73719c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts the number of retirement slots used.",
73819c0389bSAndi Kleen        "SampleAfterValue": "2000003",
73919c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
74019c0389bSAndi Kleen    },
74119c0389bSAndi Kleen    {
74219c0389bSAndi Kleen        "Invert": "1",
74319c0389bSAndi Kleen        "EventCode": "0xC2",
74419c0389bSAndi Kleen        "UMask": "0x1",
74519c0389bSAndi Kleen        "BriefDescription": "Cycles without actually retired uops.",
74619c0389bSAndi Kleen        "Counter": "0,1,2,3",
74719c0389bSAndi Kleen        "EventName": "UOPS_RETIRED.STALL_CYCLES",
74819c0389bSAndi Kleen        "CounterMask": "1",
74919c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts cycles without actually retired uops.",
75019c0389bSAndi Kleen        "SampleAfterValue": "2000003",
75119c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
75219c0389bSAndi Kleen    },
75319c0389bSAndi Kleen    {
75419c0389bSAndi Kleen        "Invert": "1",
75519c0389bSAndi Kleen        "EventCode": "0xC2",
75619c0389bSAndi Kleen        "UMask": "0x1",
75719c0389bSAndi Kleen        "BriefDescription": "Cycles with less than 10 actually retired uops.",
75819c0389bSAndi Kleen        "Counter": "0,1,2,3",
75919c0389bSAndi Kleen        "EventName": "UOPS_RETIRED.TOTAL_CYCLES",
76019c0389bSAndi Kleen        "CounterMask": "10",
76119c0389bSAndi Kleen        "PublicDescription": "Number of cycles using always true condition (uops_ret < 16) applied to non PEBS uops retired event.",
76219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
76319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
76419c0389bSAndi Kleen    },
76519c0389bSAndi Kleen    {
76619c0389bSAndi Kleen        "EventCode": "0xC3",
76719c0389bSAndi Kleen        "UMask": "0x1",
76819c0389bSAndi Kleen        "BriefDescription": "Cycles there was a Nuke. Account for both thread-specific and All Thread Nukes.",
76919c0389bSAndi Kleen        "Counter": "0,1,2,3",
77019c0389bSAndi Kleen        "EventName": "MACHINE_CLEARS.CYCLES",
77119c0389bSAndi Kleen        "PublicDescription": "This event counts both thread-specific (TS) and all-thread (AT) nukes.",
77219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
77319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
77419c0389bSAndi Kleen    },
77519c0389bSAndi Kleen    {
77619c0389bSAndi Kleen        "EventCode": "0xC3",
77719c0389bSAndi Kleen        "UMask": "0x4",
77819c0389bSAndi Kleen        "BriefDescription": "Self-modifying code (SMC) detected.",
77919c0389bSAndi Kleen        "Counter": "0,1,2,3",
78019c0389bSAndi Kleen        "EventName": "MACHINE_CLEARS.SMC",
78119c0389bSAndi Kleen        "PublicDescription": "This event counts self-modifying code (SMC) detected, which causes a machine clear.",
78219c0389bSAndi Kleen        "SampleAfterValue": "100003",
78319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
78419c0389bSAndi Kleen    },
78519c0389bSAndi Kleen    {
78619c0389bSAndi Kleen        "EventCode": "0xC3",
78719c0389bSAndi Kleen        "UMask": "0x20",
78819c0389bSAndi Kleen        "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.",
78919c0389bSAndi Kleen        "Counter": "0,1,2,3",
79019c0389bSAndi Kleen        "EventName": "MACHINE_CLEARS.MASKMOV",
79119c0389bSAndi Kleen        "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.",
79219c0389bSAndi Kleen        "SampleAfterValue": "100003",
79319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
79419c0389bSAndi Kleen    },
79519c0389bSAndi Kleen    {
79619c0389bSAndi Kleen        "EventCode": "0xC4",
79719c0389bSAndi Kleen        "UMask": "0x1",
79819c0389bSAndi Kleen        "BriefDescription": "Conditional branch instructions retired.",
79919c0389bSAndi Kleen        "PEBS": "1",
80019c0389bSAndi Kleen        "Counter": "0,1,2,3",
80119c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.CONDITIONAL",
80219c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts conditional branch instructions retired.",
80319c0389bSAndi Kleen        "SampleAfterValue": "400009",
80419c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
80519c0389bSAndi Kleen    },
80619c0389bSAndi Kleen    {
80719c0389bSAndi Kleen        "EventCode": "0xC4",
80819c0389bSAndi Kleen        "UMask": "0x2",
80919c0389bSAndi Kleen        "BriefDescription": "Direct and indirect near call instructions retired.",
81019c0389bSAndi Kleen        "PEBS": "1",
81119c0389bSAndi Kleen        "Counter": "0,1,2,3",
81219c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_CALL",
81319c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts both direct and indirect near call instructions retired.",
81419c0389bSAndi Kleen        "SampleAfterValue": "100007",
81519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
81619c0389bSAndi Kleen    },
81719c0389bSAndi Kleen    {
81819c0389bSAndi Kleen        "EventCode": "0xC4",
81919c0389bSAndi Kleen        "UMask": "0x0",
82019c0389bSAndi Kleen        "BriefDescription": "All (macro) branch instructions retired.",
82119c0389bSAndi Kleen        "Counter": "0,1,2,3",
82219c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
82319c0389bSAndi Kleen        "PublicDescription": "This event counts all (macro) branch instructions retired.",
82419c0389bSAndi Kleen        "SampleAfterValue": "400009",
82519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
82619c0389bSAndi Kleen    },
82719c0389bSAndi Kleen    {
82819c0389bSAndi Kleen        "EventCode": "0xC4",
82919c0389bSAndi Kleen        "UMask": "0x8",
83019c0389bSAndi Kleen        "BriefDescription": "Return instructions retired.",
83119c0389bSAndi Kleen        "PEBS": "1",
83219c0389bSAndi Kleen        "Counter": "0,1,2,3",
83319c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_RETURN",
83419c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts return instructions retired.",
83519c0389bSAndi Kleen        "SampleAfterValue": "100007",
83619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
83719c0389bSAndi Kleen    },
83819c0389bSAndi Kleen    {
83919c0389bSAndi Kleen        "EventCode": "0xC4",
84019c0389bSAndi Kleen        "UMask": "0x10",
84119c0389bSAndi Kleen        "BriefDescription": "Not taken branch instructions retired.",
84219c0389bSAndi Kleen        "Counter": "0,1,2,3",
84319c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.NOT_TAKEN",
84419c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts not taken branch instructions retired.",
84519c0389bSAndi Kleen        "SampleAfterValue": "400009",
84619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
84719c0389bSAndi Kleen    },
84819c0389bSAndi Kleen    {
84919c0389bSAndi Kleen        "EventCode": "0xC4",
85019c0389bSAndi Kleen        "UMask": "0x20",
85119c0389bSAndi Kleen        "BriefDescription": "Taken branch instructions retired.",
85219c0389bSAndi Kleen        "PEBS": "1",
85319c0389bSAndi Kleen        "Counter": "0,1,2,3",
85419c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.NEAR_TAKEN",
85519c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts taken branch instructions retired.",
85619c0389bSAndi Kleen        "SampleAfterValue": "400009",
85719c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
85819c0389bSAndi Kleen    },
85919c0389bSAndi Kleen    {
86019c0389bSAndi Kleen        "EventCode": "0xC4",
86119c0389bSAndi Kleen        "UMask": "0x40",
86219c0389bSAndi Kleen        "BriefDescription": "Far branch instructions retired.",
86319c0389bSAndi Kleen        "Counter": "0,1,2,3",
86419c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
86519c0389bSAndi Kleen        "Errata": "BDW98",
86619c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts far branch instructions retired.",
86719c0389bSAndi Kleen        "SampleAfterValue": "100007",
86819c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
86919c0389bSAndi Kleen    },
87019c0389bSAndi Kleen    {
87119c0389bSAndi Kleen        "EventCode": "0xC4",
87219c0389bSAndi Kleen        "UMask": "0x4",
87319c0389bSAndi Kleen        "BriefDescription": "All (macro) branch instructions retired. (Precise Event - PEBS)",
87419c0389bSAndi Kleen        "PEBS": "2",
87519c0389bSAndi Kleen        "Counter": "0,1,2,3",
87619c0389bSAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES_PEBS",
87719c0389bSAndi Kleen        "Errata": "BDW98",
87819c0389bSAndi Kleen        "PublicDescription": "This is a precise version of BR_INST_RETIRED.ALL_BRANCHES that counts all (macro) branch instructions retired.",
87919c0389bSAndi Kleen        "SampleAfterValue": "400009",
88019c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
88119c0389bSAndi Kleen    },
88219c0389bSAndi Kleen    {
88319c0389bSAndi Kleen        "EventCode": "0xC5",
88419c0389bSAndi Kleen        "UMask": "0x1",
88519c0389bSAndi Kleen        "BriefDescription": "Mispredicted conditional branch instructions retired.",
88619c0389bSAndi Kleen        "PEBS": "1",
88719c0389bSAndi Kleen        "Counter": "0,1,2,3",
88819c0389bSAndi Kleen        "EventName": "BR_MISP_RETIRED.CONDITIONAL",
88919c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted conditional branch instructions retired.",
89019c0389bSAndi Kleen        "SampleAfterValue": "400009",
89119c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
89219c0389bSAndi Kleen    },
89319c0389bSAndi Kleen    {
89419c0389bSAndi Kleen        "EventCode": "0xC5",
89519c0389bSAndi Kleen        "UMask": "0x0",
89619c0389bSAndi Kleen        "BriefDescription": "All mispredicted macro branch instructions retired.",
89719c0389bSAndi Kleen        "Counter": "0,1,2,3",
89819c0389bSAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
89919c0389bSAndi Kleen        "PublicDescription": "This event counts all mispredicted macro branch instructions retired.",
90019c0389bSAndi Kleen        "SampleAfterValue": "400009",
90119c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
90219c0389bSAndi Kleen    },
90319c0389bSAndi Kleen    {
90419c0389bSAndi Kleen        "EventCode": "0xC5",
90519c0389bSAndi Kleen        "UMask": "0x8",
90619c0389bSAndi Kleen        "BriefDescription": "This event counts the number of mispredicted ret instructions retired. Non PEBS",
90719c0389bSAndi Kleen        "PEBS": "1",
90819c0389bSAndi Kleen        "Counter": "0,1,2,3",
90919c0389bSAndi Kleen        "EventName": "BR_MISP_RETIRED.RET",
91019c0389bSAndi Kleen        "PublicDescription": "This is a non-precise version (that is, does not use PEBS) of the event that counts mispredicted return instructions retired.",
91119c0389bSAndi Kleen        "SampleAfterValue": "100007",
91219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
91319c0389bSAndi Kleen    },
91419c0389bSAndi Kleen    {
91519c0389bSAndi Kleen        "EventCode": "0xC5",
91619c0389bSAndi Kleen        "UMask": "0x4",
91719c0389bSAndi Kleen        "BriefDescription": "Mispredicted macro branch instructions retired. (Precise Event - PEBS)",
91819c0389bSAndi Kleen        "PEBS": "2",
91919c0389bSAndi Kleen        "Counter": "0,1,2,3",
92019c0389bSAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES_PEBS",
92119c0389bSAndi Kleen        "PublicDescription": "This is a precise version of BR_MISP_RETIRED.ALL_BRANCHES that counts all mispredicted macro branch instructions retired.",
92219c0389bSAndi Kleen        "SampleAfterValue": "400009",
92319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
92419c0389bSAndi Kleen    },
92519c0389bSAndi Kleen    {
92619c0389bSAndi Kleen        "EventCode": "0xCC",
92719c0389bSAndi Kleen        "UMask": "0x20",
92819c0389bSAndi Kleen        "BriefDescription": "Count cases of saving new LBR",
92919c0389bSAndi Kleen        "Counter": "0,1,2,3",
93019c0389bSAndi Kleen        "EventName": "ROB_MISC_EVENTS.LBR_INSERTS",
93119c0389bSAndi Kleen        "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.",
93219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
93319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
93419c0389bSAndi Kleen    },
93519c0389bSAndi Kleen    {
93619c0389bSAndi Kleen        "EventCode": "0x3C",
93719c0389bSAndi Kleen        "UMask": "0x0",
93819c0389bSAndi Kleen        "BriefDescription": "Thread cycles when thread is not in halt state",
93919c0389bSAndi Kleen        "Counter": "0,1,2,3",
94019c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
94119c0389bSAndi Kleen        "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.",
94219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
94319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
94419c0389bSAndi Kleen    },
94519c0389bSAndi Kleen    {
94619c0389bSAndi Kleen        "EventCode": "0x89",
94719c0389bSAndi Kleen        "UMask": "0xa0",
94819c0389bSAndi Kleen        "BriefDescription": "Taken speculative and retired mispredicted indirect calls.",
94919c0389bSAndi Kleen        "Counter": "0,1,2,3",
95019c0389bSAndi Kleen        "EventName": "BR_MISP_EXEC.TAKEN_INDIRECT_NEAR_CALL",
95119c0389bSAndi Kleen        "SampleAfterValue": "200003",
95219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
95319c0389bSAndi Kleen    },
95419c0389bSAndi Kleen    {
95519c0389bSAndi Kleen        "EventCode": "0xA1",
95619c0389bSAndi Kleen        "UMask": "0x1",
95719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 0.",
95819c0389bSAndi Kleen        "Counter": "0,1,2,3",
95919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0_CORE",
96019c0389bSAndi Kleen        "AnyThread": "1",
96119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
96219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
96319c0389bSAndi Kleen    },
96419c0389bSAndi Kleen    {
96519c0389bSAndi Kleen        "EventCode": "0xA1",
96619c0389bSAndi Kleen        "UMask": "0x2",
96719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 1.",
96819c0389bSAndi Kleen        "Counter": "0,1,2,3",
96919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1_CORE",
97019c0389bSAndi Kleen        "AnyThread": "1",
97119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
97219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
97319c0389bSAndi Kleen    },
97419c0389bSAndi Kleen    {
97519c0389bSAndi Kleen        "EventCode": "0xA1",
97619c0389bSAndi Kleen        "UMask": "0x4",
97719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 2.",
97819c0389bSAndi Kleen        "Counter": "0,1,2,3",
97919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2_CORE",
98019c0389bSAndi Kleen        "AnyThread": "1",
98119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
98219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
98319c0389bSAndi Kleen    },
98419c0389bSAndi Kleen    {
98519c0389bSAndi Kleen        "EventCode": "0xA1",
98619c0389bSAndi Kleen        "UMask": "0x8",
98719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 3.",
98819c0389bSAndi Kleen        "Counter": "0,1,2,3",
98919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3_CORE",
99019c0389bSAndi Kleen        "AnyThread": "1",
99119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
99219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
99319c0389bSAndi Kleen    },
99419c0389bSAndi Kleen    {
99519c0389bSAndi Kleen        "EventCode": "0xA1",
99619c0389bSAndi Kleen        "UMask": "0x10",
99719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 4.",
99819c0389bSAndi Kleen        "Counter": "0,1,2,3",
99919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4_CORE",
100019c0389bSAndi Kleen        "AnyThread": "1",
100119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
100219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
100319c0389bSAndi Kleen    },
100419c0389bSAndi Kleen    {
100519c0389bSAndi Kleen        "EventCode": "0xA1",
100619c0389bSAndi Kleen        "UMask": "0x20",
100719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 5.",
100819c0389bSAndi Kleen        "Counter": "0,1,2,3",
100919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5_CORE",
101019c0389bSAndi Kleen        "AnyThread": "1",
101119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
101219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
101319c0389bSAndi Kleen    },
101419c0389bSAndi Kleen    {
101519c0389bSAndi Kleen        "EventCode": "0xA1",
101619c0389bSAndi Kleen        "UMask": "0x40",
101719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are exectuted in port 6.",
101819c0389bSAndi Kleen        "Counter": "0,1,2,3",
101919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6_CORE",
102019c0389bSAndi Kleen        "AnyThread": "1",
102119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
102219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
102319c0389bSAndi Kleen    },
102419c0389bSAndi Kleen    {
102519c0389bSAndi Kleen        "EventCode": "0xA1",
102619c0389bSAndi Kleen        "UMask": "0x80",
102719c0389bSAndi Kleen        "BriefDescription": "Cycles per core when uops are dispatched to port 7.",
102819c0389bSAndi Kleen        "Counter": "0,1,2,3",
102919c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7_CORE",
103019c0389bSAndi Kleen        "AnyThread": "1",
103119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
103219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
103319c0389bSAndi Kleen    },
103419c0389bSAndi Kleen    {
103519c0389bSAndi Kleen        "EventCode": "0xC5",
103619c0389bSAndi Kleen        "UMask": "0x20",
103719c0389bSAndi Kleen        "BriefDescription": "number of near branch instructions retired that were mispredicted and taken.",
103819c0389bSAndi Kleen        "PEBS": "1",
103919c0389bSAndi Kleen        "Counter": "0,1,2,3",
104019c0389bSAndi Kleen        "EventName": "BR_MISP_RETIRED.NEAR_TAKEN",
104119c0389bSAndi Kleen        "PublicDescription": "Number of near branch instructions retired that were mispredicted and taken.",
104219c0389bSAndi Kleen        "SampleAfterValue": "400009",
104319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
104419c0389bSAndi Kleen    },
104519c0389bSAndi Kleen    {
104619c0389bSAndi Kleen        "EventCode": "0xB1",
104719c0389bSAndi Kleen        "UMask": "0x1",
104819c0389bSAndi Kleen        "BriefDescription": "Cycles where at least 1 uop was executed per-thread.",
104919c0389bSAndi Kleen        "Counter": "0,1,2,3",
105019c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_1_UOP_EXEC",
105119c0389bSAndi Kleen        "CounterMask": "1",
105219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
105319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
105419c0389bSAndi Kleen    },
105519c0389bSAndi Kleen    {
105619c0389bSAndi Kleen        "EventCode": "0xB1",
105719c0389bSAndi Kleen        "UMask": "0x1",
105819c0389bSAndi Kleen        "BriefDescription": "Cycles where at least 2 uops were executed per-thread.",
105919c0389bSAndi Kleen        "Counter": "0,1,2,3",
106019c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_2_UOPS_EXEC",
106119c0389bSAndi Kleen        "CounterMask": "2",
106219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
106319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
106419c0389bSAndi Kleen    },
106519c0389bSAndi Kleen    {
106619c0389bSAndi Kleen        "EventCode": "0xB1",
106719c0389bSAndi Kleen        "UMask": "0x1",
106819c0389bSAndi Kleen        "BriefDescription": "Cycles where at least 3 uops were executed per-thread.",
106919c0389bSAndi Kleen        "Counter": "0,1,2,3",
107019c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_3_UOPS_EXEC",
107119c0389bSAndi Kleen        "CounterMask": "3",
107219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
107319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
107419c0389bSAndi Kleen    },
107519c0389bSAndi Kleen    {
107619c0389bSAndi Kleen        "EventCode": "0xB1",
107719c0389bSAndi Kleen        "UMask": "0x1",
107819c0389bSAndi Kleen        "BriefDescription": "Cycles where at least 4 uops were executed per-thread.",
107919c0389bSAndi Kleen        "Counter": "0,1,2,3",
108019c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CYCLES_GE_4_UOPS_EXEC",
108119c0389bSAndi Kleen        "CounterMask": "4",
108219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
108319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
108419c0389bSAndi Kleen    },
108519c0389bSAndi Kleen    {
108619c0389bSAndi Kleen        "EventCode": "0xe6",
108719c0389bSAndi Kleen        "UMask": "0x1f",
108819c0389bSAndi Kleen        "BriefDescription": "Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.",
108919c0389bSAndi Kleen        "Counter": "0,1,2,3",
109019c0389bSAndi Kleen        "EventName": "BACLEARS.ANY",
109119c0389bSAndi Kleen        "SampleAfterValue": "100003",
109219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
109319c0389bSAndi Kleen    },
109419c0389bSAndi Kleen    {
109519c0389bSAndi Kleen        "EventCode": "0xA3",
109619c0389bSAndi Kleen        "UMask": "0x8",
109719c0389bSAndi Kleen        "BriefDescription": "Cycles while L1 cache miss demand load is outstanding.",
109819c0389bSAndi Kleen        "Counter": "2",
109919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L1D_MISS",
110019c0389bSAndi Kleen        "CounterMask": "8",
110119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
110219c0389bSAndi Kleen        "CounterHTOff": "2"
110319c0389bSAndi Kleen    },
110419c0389bSAndi Kleen    {
110519c0389bSAndi Kleen        "EventCode": "0xA3",
110619c0389bSAndi Kleen        "UMask": "0x1",
110719c0389bSAndi Kleen        "BriefDescription": "Cycles while L2 cache miss demand load is outstanding.",
110819c0389bSAndi Kleen        "Counter": "0,1,2,3",
110919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_L2_MISS",
111019c0389bSAndi Kleen        "CounterMask": "1",
111119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
111219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
111319c0389bSAndi Kleen    },
111419c0389bSAndi Kleen    {
111519c0389bSAndi Kleen        "EventCode": "0xA3",
111619c0389bSAndi Kleen        "UMask": "0x2",
111719c0389bSAndi Kleen        "BriefDescription": "Cycles while memory subsystem has an outstanding load.",
111819c0389bSAndi Kleen        "Counter": "0,1,2,3",
111919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.CYCLES_MEM_ANY",
112019c0389bSAndi Kleen        "CounterMask": "2",
112119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
112219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
112319c0389bSAndi Kleen    },
112419c0389bSAndi Kleen    {
112519c0389bSAndi Kleen        "EventCode": "0xA3",
112619c0389bSAndi Kleen        "UMask": "0x4",
112719c0389bSAndi Kleen        "BriefDescription": "Total execution stalls.",
112819c0389bSAndi Kleen        "Counter": "0,1,2,3",
112919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_TOTAL",
113019c0389bSAndi Kleen        "CounterMask": "4",
113119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
113219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
113319c0389bSAndi Kleen    },
113419c0389bSAndi Kleen    {
113519c0389bSAndi Kleen        "EventCode": "0xA3",
113619c0389bSAndi Kleen        "UMask": "0xc",
113719c0389bSAndi Kleen        "BriefDescription": "Execution stalls while L1 cache miss demand load is outstanding.",
113819c0389bSAndi Kleen        "Counter": "2",
113919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L1D_MISS",
114019c0389bSAndi Kleen        "CounterMask": "12",
114119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
114219c0389bSAndi Kleen        "CounterHTOff": "2"
114319c0389bSAndi Kleen    },
114419c0389bSAndi Kleen    {
114519c0389bSAndi Kleen        "EventCode": "0xA3",
114619c0389bSAndi Kleen        "UMask": "0x5",
114719c0389bSAndi Kleen        "BriefDescription": "Execution stalls while L2 cache miss demand load is outstanding.",
114819c0389bSAndi Kleen        "Counter": "0,1,2,3",
114919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_L2_MISS",
115019c0389bSAndi Kleen        "CounterMask": "5",
115119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
115219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
115319c0389bSAndi Kleen    },
115419c0389bSAndi Kleen    {
115519c0389bSAndi Kleen        "EventCode": "0xA3",
115619c0389bSAndi Kleen        "UMask": "0x6",
115719c0389bSAndi Kleen        "BriefDescription": "Execution stalls while memory subsystem has an outstanding load.",
115819c0389bSAndi Kleen        "Counter": "0,1,2,3",
115919c0389bSAndi Kleen        "EventName": "CYCLE_ACTIVITY.STALLS_MEM_ANY",
116019c0389bSAndi Kleen        "CounterMask": "6",
116119c0389bSAndi Kleen        "SampleAfterValue": "2000003",
116219c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
116319c0389bSAndi Kleen    },
116419c0389bSAndi Kleen    {
116519c0389bSAndi Kleen        "EdgeDetect": "1",
116619c0389bSAndi Kleen        "EventCode": "0xC3",
116719c0389bSAndi Kleen        "UMask": "0x1",
116819c0389bSAndi Kleen        "BriefDescription": "Number of machine clears (nukes) of any type.",
116919c0389bSAndi Kleen        "Counter": "0,1,2,3",
117019c0389bSAndi Kleen        "EventName": "MACHINE_CLEARS.COUNT",
117119c0389bSAndi Kleen        "CounterMask": "1",
117219c0389bSAndi Kleen        "SampleAfterValue": "100003",
117319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
117419c0389bSAndi Kleen    },
117519c0389bSAndi Kleen    {
117619c0389bSAndi Kleen        "EventCode": "0xA8",
117719c0389bSAndi Kleen        "UMask": "0x1",
117819c0389bSAndi Kleen        "BriefDescription": "Cycles 4 Uops delivered by the LSD, but didn't come from the decoder.",
117919c0389bSAndi Kleen        "Counter": "0,1,2,3",
118019c0389bSAndi Kleen        "EventName": "LSD.CYCLES_4_UOPS",
118119c0389bSAndi Kleen        "CounterMask": "4",
118219c0389bSAndi Kleen        "SampleAfterValue": "2000003",
118319c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
118419c0389bSAndi Kleen    },
118519c0389bSAndi Kleen    {
118619c0389bSAndi Kleen        "EdgeDetect": "1",
118719c0389bSAndi Kleen        "Invert": "1",
118819c0389bSAndi Kleen        "EventCode": "0x5E",
118919c0389bSAndi Kleen        "UMask": "0x1",
119019c0389bSAndi Kleen        "BriefDescription": "Counts end of periods where the Reservation Station (RS) was empty. Could be useful to precisely locate Frontend Latency Bound issues.",
119119c0389bSAndi Kleen        "Counter": "0,1,2,3",
119219c0389bSAndi Kleen        "EventName": "RS_EVENTS.EMPTY_END",
119319c0389bSAndi Kleen        "CounterMask": "1",
119419c0389bSAndi Kleen        "SampleAfterValue": "200003",
119519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
119619c0389bSAndi Kleen    },
119719c0389bSAndi Kleen    {
119819c0389bSAndi Kleen        "EventCode": "0xA8",
119919c0389bSAndi Kleen        "UMask": "0x1",
120019c0389bSAndi Kleen        "BriefDescription": "Cycles Uops delivered by the LSD, but didn't come from the decoder.",
120119c0389bSAndi Kleen        "Counter": "0,1,2,3",
120219c0389bSAndi Kleen        "EventName": "LSD.CYCLES_ACTIVE",
120319c0389bSAndi Kleen        "CounterMask": "1",
120419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
120519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
120619c0389bSAndi Kleen    },
120719c0389bSAndi Kleen    {
120819c0389bSAndi Kleen        "EventCode": "0xA1",
120919c0389bSAndi Kleen        "UMask": "0x1",
121019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 0",
121119c0389bSAndi Kleen        "Counter": "0,1,2,3",
121219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_0",
121319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 0.",
121419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
121519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
121619c0389bSAndi Kleen    },
121719c0389bSAndi Kleen    {
121819c0389bSAndi Kleen        "EventCode": "0xA1",
121919c0389bSAndi Kleen        "UMask": "0x2",
122019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 1",
122119c0389bSAndi Kleen        "Counter": "0,1,2,3",
122219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_1",
122319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 1.",
122419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
122519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
122619c0389bSAndi Kleen    },
122719c0389bSAndi Kleen    {
122819c0389bSAndi Kleen        "EventCode": "0xA1",
122919c0389bSAndi Kleen        "UMask": "0x4",
123019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 2",
123119c0389bSAndi Kleen        "Counter": "0,1,2,3",
123219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_2",
123319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 2.",
123419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
123519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
123619c0389bSAndi Kleen    },
123719c0389bSAndi Kleen    {
123819c0389bSAndi Kleen        "EventCode": "0xA1",
123919c0389bSAndi Kleen        "UMask": "0x8",
124019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 3",
124119c0389bSAndi Kleen        "Counter": "0,1,2,3",
124219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_3",
124319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 3.",
124419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
124519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
124619c0389bSAndi Kleen    },
124719c0389bSAndi Kleen    {
124819c0389bSAndi Kleen        "EventCode": "0xA1",
124919c0389bSAndi Kleen        "UMask": "0x10",
125019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 4",
125119c0389bSAndi Kleen        "Counter": "0,1,2,3",
125219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_4",
125319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 4.",
125419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
125519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
125619c0389bSAndi Kleen    },
125719c0389bSAndi Kleen    {
125819c0389bSAndi Kleen        "EventCode": "0xA1",
125919c0389bSAndi Kleen        "UMask": "0x20",
126019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 5",
126119c0389bSAndi Kleen        "Counter": "0,1,2,3",
126219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_5",
126319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 5.",
126419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
126519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
126619c0389bSAndi Kleen    },
126719c0389bSAndi Kleen    {
126819c0389bSAndi Kleen        "EventCode": "0xA1",
126919c0389bSAndi Kleen        "UMask": "0x40",
127019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 6",
127119c0389bSAndi Kleen        "Counter": "0,1,2,3",
127219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_6",
127319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 6.",
127419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
127519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
127619c0389bSAndi Kleen    },
127719c0389bSAndi Kleen    {
127819c0389bSAndi Kleen        "EventCode": "0xA1",
127919c0389bSAndi Kleen        "UMask": "0x80",
128019c0389bSAndi Kleen        "BriefDescription": "Cycles per thread when uops are executed in port 7",
128119c0389bSAndi Kleen        "Counter": "0,1,2,3",
128219c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED_PORT.PORT_7",
128319c0389bSAndi Kleen        "PublicDescription": "This event counts, on the per-thread basis, cycles during which uops are dispatched from the Reservation Station (RS) to port 7.",
128419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
128519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
128619c0389bSAndi Kleen    },
128719c0389bSAndi Kleen    {
128819c0389bSAndi Kleen        "EventCode": "0xA0",
128919c0389bSAndi Kleen        "UMask": "0x3",
129019c0389bSAndi Kleen        "BriefDescription": "Micro-op dispatches cancelled due to insufficient SIMD physical register file read ports",
129119c0389bSAndi Kleen        "Counter": "0,1,2,3",
129219c0389bSAndi Kleen        "EventName": "UOP_DISPATCHES_CANCELLED.SIMD_PRF",
129319c0389bSAndi Kleen        "PublicDescription": "This event counts the number of micro-operations cancelled after they were dispatched from the scheduler to the execution units when the total number of physical register read ports across all dispatch ports exceeds the read bandwidth of the physical register file.  The SIMD_PRF subevent applies to the following instructions: VDPPS, DPPS, VPCMPESTRI, PCMPESTRI, VPCMPESTRM, PCMPESTRM, VFMADD*, VFMADDSUB*, VFMSUB*, VMSUBADD*, VFNMADD*, VFNMSUB*.  See the Broadwell Optimization Guide for more information.",
129419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
129519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3"
129619c0389bSAndi Kleen    },
129719c0389bSAndi Kleen    {
129819c0389bSAndi Kleen        "EventCode": "0x00",
129919c0389bSAndi Kleen        "UMask": "0x2",
130019c0389bSAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
130119c0389bSAndi Kleen        "Counter": "Fixed counter 2",
130219c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_ANY",
130319c0389bSAndi Kleen        "AnyThread": "1",
130419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
130519c0389bSAndi Kleen        "CounterHTOff": "Fixed counter 2"
130619c0389bSAndi Kleen    },
130719c0389bSAndi Kleen    {
130819c0389bSAndi Kleen        "EventCode": "0x3C",
130919c0389bSAndi Kleen        "UMask": "0x0",
131019c0389bSAndi Kleen        "BriefDescription": "Core cycles when at least one thread on the physical core is not in halt state.",
131119c0389bSAndi Kleen        "Counter": "0,1,2,3",
131219c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.THREAD_P_ANY",
131319c0389bSAndi Kleen        "AnyThread": "1",
131419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
131519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
131619c0389bSAndi Kleen    },
131719c0389bSAndi Kleen    {
131819c0389bSAndi Kleen        "EventCode": "0x3C",
131919c0389bSAndi Kleen        "UMask": "0x1",
132019c0389bSAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
132119c0389bSAndi Kleen        "Counter": "0,1,2,3",
132219c0389bSAndi Kleen        "EventName": "CPU_CLK_THREAD_UNHALTED.REF_XCLK_ANY",
132319c0389bSAndi Kleen        "AnyThread": "1",
132419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
132519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
132619c0389bSAndi Kleen    },
132719c0389bSAndi Kleen    {
132819c0389bSAndi Kleen        "EventCode": "0x0D",
132919c0389bSAndi Kleen        "UMask": "0x3",
133019c0389bSAndi Kleen        "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).",
133119c0389bSAndi Kleen        "Counter": "0,1,2,3",
133219c0389bSAndi Kleen        "EventName": "INT_MISC.RECOVERY_CYCLES_ANY",
133319c0389bSAndi Kleen        "AnyThread": "1",
133419c0389bSAndi Kleen        "CounterMask": "1",
133519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
133619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
133719c0389bSAndi Kleen    },
133819c0389bSAndi Kleen    {
133919c0389bSAndi Kleen        "EventCode": "0xb1",
134019c0389bSAndi Kleen        "UMask": "0x2",
134119c0389bSAndi Kleen        "BriefDescription": "Cycles at least 1 micro-op is executed from any thread on physical core.",
134219c0389bSAndi Kleen        "Counter": "0,1,2,3",
134319c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_1",
134419c0389bSAndi Kleen        "CounterMask": "1",
134519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
134619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
134719c0389bSAndi Kleen    },
134819c0389bSAndi Kleen    {
134919c0389bSAndi Kleen        "EventCode": "0xb1",
135019c0389bSAndi Kleen        "UMask": "0x2",
135119c0389bSAndi Kleen        "BriefDescription": "Cycles at least 2 micro-op is executed from any thread on physical core.",
135219c0389bSAndi Kleen        "Counter": "0,1,2,3",
135319c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_2",
135419c0389bSAndi Kleen        "CounterMask": "2",
135519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
135619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
135719c0389bSAndi Kleen    },
135819c0389bSAndi Kleen    {
135919c0389bSAndi Kleen        "EventCode": "0xb1",
136019c0389bSAndi Kleen        "UMask": "0x2",
136119c0389bSAndi Kleen        "BriefDescription": "Cycles at least 3 micro-op is executed from any thread on physical core.",
136219c0389bSAndi Kleen        "Counter": "0,1,2,3",
136319c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_3",
136419c0389bSAndi Kleen        "CounterMask": "3",
136519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
136619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
136719c0389bSAndi Kleen    },
136819c0389bSAndi Kleen    {
136919c0389bSAndi Kleen        "EventCode": "0xb1",
137019c0389bSAndi Kleen        "UMask": "0x2",
137119c0389bSAndi Kleen        "BriefDescription": "Cycles at least 4 micro-op is executed from any thread on physical core.",
137219c0389bSAndi Kleen        "Counter": "0,1,2,3",
137319c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_GE_4",
137419c0389bSAndi Kleen        "CounterMask": "4",
137519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
137619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
137719c0389bSAndi Kleen    },
137819c0389bSAndi Kleen    {
137919c0389bSAndi Kleen        "Invert": "1",
138019c0389bSAndi Kleen        "EventCode": "0xb1",
138119c0389bSAndi Kleen        "UMask": "0x2",
138219c0389bSAndi Kleen        "BriefDescription": "Cycles with no micro-ops executed from any thread on physical core.",
138319c0389bSAndi Kleen        "Counter": "0,1,2,3",
138419c0389bSAndi Kleen        "EventName": "UOPS_EXECUTED.CORE_CYCLES_NONE",
138519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
138619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
138719c0389bSAndi Kleen    },
138819c0389bSAndi Kleen    {
138919c0389bSAndi Kleen        "EventCode": "0x3C",
139019c0389bSAndi Kleen        "UMask": "0x1",
139119c0389bSAndi Kleen        "BriefDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate)",
139219c0389bSAndi Kleen        "Counter": "0,1,2,3",
139319c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK",
139419c0389bSAndi Kleen        "PublicDescription": "Reference cycles when the thread is unhalted (counts at 100 MHz rate).",
139519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
139619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
139719c0389bSAndi Kleen    },
139819c0389bSAndi Kleen    {
139919c0389bSAndi Kleen        "EventCode": "0x3C",
140019c0389bSAndi Kleen        "UMask": "0x1",
140119c0389bSAndi Kleen        "BriefDescription": "Reference cycles when the at least one thread on the physical core is unhalted (counts at 100 MHz rate).",
140219c0389bSAndi Kleen        "Counter": "0,1,2,3",
140319c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_XCLK_ANY",
140419c0389bSAndi Kleen        "AnyThread": "1",
140519c0389bSAndi Kleen        "SampleAfterValue": "2000003",
140619c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
140719c0389bSAndi Kleen    },
140819c0389bSAndi Kleen    {
140919c0389bSAndi Kleen        "EventCode": "0x3C",
141019c0389bSAndi Kleen        "UMask": "0x2",
141119c0389bSAndi Kleen        "BriefDescription": "Count XClk pulses when this thread is unhalted and the other thread is halted.",
141219c0389bSAndi Kleen        "Counter": "0,1,2,3",
141319c0389bSAndi Kleen        "EventName": "CPU_CLK_UNHALTED.ONE_THREAD_ACTIVE",
141419c0389bSAndi Kleen        "SampleAfterValue": "2000003",
141519c0389bSAndi Kleen        "CounterHTOff": "0,1,2,3,4,5,6,7"
141619c0389bSAndi Kleen    }
141719c0389bSAndi Kleen]