1*9146af44SZhengjun Xing[
2*9146af44SZhengjun Xing    {
3*9146af44SZhengjun Xing        "BriefDescription": "Counts the total number of BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
4*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
5*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
6*9146af44SZhengjun Xing        "EventCode": "0xe6",
7*9146af44SZhengjun Xing        "EventName": "BACLEARS.ANY",
8*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
9*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
10*9146af44SZhengjun Xing        "PublicDescription": "Counts the total number of BACLEARS, which occur when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend.  Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
11*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
12*9146af44SZhengjun Xing        "UMask": "0x1"
13*9146af44SZhengjun Xing    },
14*9146af44SZhengjun Xing    {
15*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of BACLEARS due to a conditional jump.",
16*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
17*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
18*9146af44SZhengjun Xing        "EventCode": "0xe6",
19*9146af44SZhengjun Xing        "EventName": "BACLEARS.COND",
20*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
21*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
22*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
23*9146af44SZhengjun Xing        "UMask": "0x10"
24*9146af44SZhengjun Xing    },
25*9146af44SZhengjun Xing    {
26*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of BACLEARS due to an indirect branch.",
27*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
28*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
29*9146af44SZhengjun Xing        "EventCode": "0xe6",
30*9146af44SZhengjun Xing        "EventName": "BACLEARS.INDIRECT",
31*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
32*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
33*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
34*9146af44SZhengjun Xing        "UMask": "0x2"
35*9146af44SZhengjun Xing    },
36*9146af44SZhengjun Xing    {
37*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of BACLEARS due to a return branch.",
38*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
39*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
40*9146af44SZhengjun Xing        "EventCode": "0xe6",
41*9146af44SZhengjun Xing        "EventName": "BACLEARS.RETURN",
42*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
43*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
44*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
45*9146af44SZhengjun Xing        "UMask": "0x8"
46*9146af44SZhengjun Xing    },
47*9146af44SZhengjun Xing    {
48*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of BACLEARS due to a direct, unconditional jump.",
49*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
50*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
51*9146af44SZhengjun Xing        "EventCode": "0xe6",
52*9146af44SZhengjun Xing        "EventName": "BACLEARS.UNCOND",
53*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
54*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
55*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
56*9146af44SZhengjun Xing        "UMask": "0x4"
57*9146af44SZhengjun Xing    },
58*9146af44SZhengjun Xing    {
59*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.",
60*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
61*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
62*9146af44SZhengjun Xing        "EventCode": "0xe9",
63*9146af44SZhengjun Xing        "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG",
64*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
65*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
66*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
67*9146af44SZhengjun Xing        "UMask": "0x1"
68*9146af44SZhengjun Xing    },
69*9146af44SZhengjun Xing    {
70*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.",
71*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
72*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
73*9146af44SZhengjun Xing        "EventCode": "0x80",
74*9146af44SZhengjun Xing        "EventName": "ICACHE.ACCESSES",
75*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
76*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
77*9146af44SZhengjun Xing        "PublicDescription": "Counts the total number of requests to the instruction cache.  The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line or byte chunk count as one.  Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
78*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
79*9146af44SZhengjun Xing        "UMask": "0x3"
80*9146af44SZhengjun Xing    },
81*9146af44SZhengjun Xing    {
82*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of instruction cache hits.",
83*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
84*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
85*9146af44SZhengjun Xing        "EventCode": "0x80",
86*9146af44SZhengjun Xing        "EventName": "ICACHE.HIT",
87*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
88*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
89*9146af44SZhengjun Xing        "PublicDescription": "Counts the number of requests that hit in the instruction cache.  The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one.  Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
90*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
91*9146af44SZhengjun Xing        "UMask": "0x1"
92*9146af44SZhengjun Xing    },
93*9146af44SZhengjun Xing    {
94*9146af44SZhengjun Xing        "BriefDescription": "Counts the number of instruction cache misses.",
95*9146af44SZhengjun Xing        "CollectPEBSRecord": "2",
96*9146af44SZhengjun Xing        "Counter": "0,1,2,3",
97*9146af44SZhengjun Xing        "EventCode": "0x80",
98*9146af44SZhengjun Xing        "EventName": "ICACHE.MISSES",
99*9146af44SZhengjun Xing        "PDIR_COUNTER": "na",
100*9146af44SZhengjun Xing        "PEBScounters": "0,1,2,3",
101*9146af44SZhengjun Xing        "PublicDescription": "Counts the number of missed requests to the instruction cache.  The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one.  Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.",
102*9146af44SZhengjun Xing        "SampleAfterValue": "200003",
103*9146af44SZhengjun Xing        "UMask": "0x2"
104*9146af44SZhengjun Xing    }
105*9146af44SZhengjun Xing]