1f9900dd0SZhengjun Xing[
2f9900dd0SZhengjun Xing    {
3f9900dd0SZhengjun Xing        "BriefDescription": "Counts the total number of BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.",
4f9900dd0SZhengjun Xing        "EventCode": "0xe6",
5f9900dd0SZhengjun Xing        "EventName": "BACLEARS.ANY",
6*4c12f41aSZhengjun 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.",
7f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
8f9900dd0SZhengjun Xing        "UMask": "0x1",
9f9900dd0SZhengjun Xing        "Unit": "cpu_atom"
10f9900dd0SZhengjun Xing    },
11f9900dd0SZhengjun Xing    {
12f9900dd0SZhengjun Xing        "BriefDescription": "Stalls caused by changing prefix length of the instruction.",
13f9900dd0SZhengjun Xing        "EventCode": "0x87",
14f9900dd0SZhengjun Xing        "EventName": "DECODE.LCP",
15*4c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles that the Instruction Length decoder (ILD) stalls occurred due to dynamically changing prefix length of the decoded instruction (by operand size prefix instruction 0x66, address size prefix instruction 0x67 or REX.W for Intel64). Count is proportional to the number of prefixes in a 16B-line. This may result in a three-cycle penalty for each LCP (Length changing prefix) in a 16-byte chunk.",
16f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
17f9900dd0SZhengjun Xing        "UMask": "0x1",
18f9900dd0SZhengjun Xing        "Unit": "cpu_core"
19f9900dd0SZhengjun Xing    },
20f9900dd0SZhengjun Xing    {
21a80de066SIan Rogers        "BriefDescription": "Cycles the Microcode Sequencer is busy.",
22a80de066SIan Rogers        "EventCode": "0x87",
23a80de066SIan Rogers        "EventName": "DECODE.MS_BUSY",
24a80de066SIan Rogers        "SampleAfterValue": "500009",
25a80de066SIan Rogers        "UMask": "0x2",
26a80de066SIan Rogers        "Unit": "cpu_core"
27a80de066SIan Rogers    },
28a80de066SIan Rogers    {
29f9900dd0SZhengjun Xing        "BriefDescription": "DSB-to-MITE switch true penalty cycles.",
30f9900dd0SZhengjun Xing        "EventCode": "0x61",
31f9900dd0SZhengjun Xing        "EventName": "DSB2MITE_SWITCHES.PENALTY_CYCLES",
32*4c12f41aSZhengjun Xing        "PublicDescription": "Decode Stream Buffer (DSB) is a Uop-cache that holds translations of previously fetched instructions that were decoded by the legacy x86 decode pipeline (MITE). This event counts fetch penalty cycles when a transition occurs from DSB to MITE.",
33f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
34f9900dd0SZhengjun Xing        "UMask": "0x2",
35f9900dd0SZhengjun Xing        "Unit": "cpu_core"
36f9900dd0SZhengjun Xing    },
37f9900dd0SZhengjun Xing    {
38f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced DSB miss.",
39f9900dd0SZhengjun Xing        "EventCode": "0xc6",
40f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.ANY_DSB_MISS",
41f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
42f9900dd0SZhengjun Xing        "MSRValue": "0x1",
43f9900dd0SZhengjun Xing        "PEBS": "1",
44*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired Instructions that experienced DSB (Decode stream buffer i.e. the decoded instruction-cache) miss.",
45f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
46f9900dd0SZhengjun Xing        "UMask": "0x1",
47f9900dd0SZhengjun Xing        "Unit": "cpu_core"
48f9900dd0SZhengjun Xing    },
49f9900dd0SZhengjun Xing    {
50f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced a critical DSB miss.",
51f9900dd0SZhengjun Xing        "EventCode": "0xc6",
52f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.DSB_MISS",
53f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
54f9900dd0SZhengjun Xing        "MSRValue": "0x11",
55f9900dd0SZhengjun Xing        "PEBS": "1",
56*4c12f41aSZhengjun Xing        "PublicDescription": "Number of retired Instructions that experienced a critical DSB (Decode stream buffer i.e. the decoded instruction-cache) miss. Critical means stalls were exposed to the back-end as a result of the DSB miss.",
57f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
58f9900dd0SZhengjun Xing        "UMask": "0x1",
59f9900dd0SZhengjun Xing        "Unit": "cpu_core"
60f9900dd0SZhengjun Xing    },
61f9900dd0SZhengjun Xing    {
62f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced iTLB true miss.",
63f9900dd0SZhengjun Xing        "EventCode": "0xc6",
64f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.ITLB_MISS",
65f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
66f9900dd0SZhengjun Xing        "MSRValue": "0x14",
67f9900dd0SZhengjun Xing        "PEBS": "1",
68*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired Instructions that experienced iTLB (Instruction TLB) true miss.",
69f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
70f9900dd0SZhengjun Xing        "UMask": "0x1",
71f9900dd0SZhengjun Xing        "Unit": "cpu_core"
72f9900dd0SZhengjun Xing    },
73f9900dd0SZhengjun Xing    {
74f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced Instruction L1 Cache true miss.",
75f9900dd0SZhengjun Xing        "EventCode": "0xc6",
76f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.L1I_MISS",
77f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
78f9900dd0SZhengjun Xing        "MSRValue": "0x12",
79f9900dd0SZhengjun Xing        "PEBS": "1",
80*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired Instructions who experienced Instruction L1 Cache true miss.",
81f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
82f9900dd0SZhengjun Xing        "UMask": "0x1",
83f9900dd0SZhengjun Xing        "Unit": "cpu_core"
84f9900dd0SZhengjun Xing    },
85f9900dd0SZhengjun Xing    {
86f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced Instruction L2 Cache true miss.",
87f9900dd0SZhengjun Xing        "EventCode": "0xc6",
88f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.L2_MISS",
89f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
90f9900dd0SZhengjun Xing        "MSRValue": "0x13",
91f9900dd0SZhengjun Xing        "PEBS": "1",
92*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired Instructions who experienced Instruction L2 Cache true miss.",
93f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
94f9900dd0SZhengjun Xing        "UMask": "0x1",
95f9900dd0SZhengjun Xing        "Unit": "cpu_core"
96f9900dd0SZhengjun Xing    },
97f9900dd0SZhengjun Xing    {
98f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions after front-end starvation of at least 1 cycle",
99f9900dd0SZhengjun Xing        "EventCode": "0xc6",
100f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_1",
101f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
102f9900dd0SZhengjun Xing        "MSRValue": "0x600106",
103f9900dd0SZhengjun Xing        "PEBS": "1",
104*4c12f41aSZhengjun Xing        "PublicDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of at least 1 cycle which was not interrupted by a back-end stall.",
105f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
106f9900dd0SZhengjun Xing        "UMask": "0x1",
107f9900dd0SZhengjun Xing        "Unit": "cpu_core"
108f9900dd0SZhengjun Xing    },
109f9900dd0SZhengjun Xing    {
110f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 128 cycles which was not interrupted by a back-end stall.",
111f9900dd0SZhengjun Xing        "EventCode": "0xc6",
112f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_128",
113f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
114f9900dd0SZhengjun Xing        "MSRValue": "0x608006",
115f9900dd0SZhengjun Xing        "PEBS": "1",
116*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 128 cycles which was not interrupted by a back-end stall.",
117f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
118f9900dd0SZhengjun Xing        "UMask": "0x1",
119f9900dd0SZhengjun Xing        "Unit": "cpu_core"
120f9900dd0SZhengjun Xing    },
121f9900dd0SZhengjun Xing    {
122f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 16 cycles which was not interrupted by a back-end stall.",
123f9900dd0SZhengjun Xing        "EventCode": "0xc6",
124f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_16",
125f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
126f9900dd0SZhengjun Xing        "MSRValue": "0x601006",
127f9900dd0SZhengjun Xing        "PEBS": "1",
128*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are delivered to the back-end after a front-end stall of at least 16 cycles. During this period the front-end delivered no uops.",
129f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
130f9900dd0SZhengjun Xing        "UMask": "0x1",
131f9900dd0SZhengjun Xing        "Unit": "cpu_core"
132f9900dd0SZhengjun Xing    },
133f9900dd0SZhengjun Xing    {
134f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions after front-end starvation of at least 2 cycles",
135f9900dd0SZhengjun Xing        "EventCode": "0xc6",
136f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_2",
137f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
138f9900dd0SZhengjun Xing        "MSRValue": "0x600206",
139f9900dd0SZhengjun Xing        "PEBS": "1",
140*4c12f41aSZhengjun Xing        "PublicDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of at least 2 cycles which was not interrupted by a back-end stall.",
141f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
142f9900dd0SZhengjun Xing        "UMask": "0x1",
143f9900dd0SZhengjun Xing        "Unit": "cpu_core"
144f9900dd0SZhengjun Xing    },
145f9900dd0SZhengjun Xing    {
146f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 256 cycles which was not interrupted by a back-end stall.",
147f9900dd0SZhengjun Xing        "EventCode": "0xc6",
148f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_256",
149f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
150f9900dd0SZhengjun Xing        "MSRValue": "0x610006",
151f9900dd0SZhengjun Xing        "PEBS": "1",
152*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 256 cycles which was not interrupted by a back-end stall.",
153f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
154f9900dd0SZhengjun Xing        "UMask": "0x1",
155f9900dd0SZhengjun Xing        "Unit": "cpu_core"
156f9900dd0SZhengjun Xing    },
157f9900dd0SZhengjun Xing    {
158f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end had at least 1 bubble-slot for a period of 2 cycles which was not interrupted by a back-end stall.",
159f9900dd0SZhengjun Xing        "EventCode": "0xc6",
160f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_2_BUBBLES_GE_1",
161f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
162f9900dd0SZhengjun Xing        "MSRValue": "0x100206",
163f9900dd0SZhengjun Xing        "PEBS": "1",
164*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are delivered to the back-end after the front-end had at least 1 bubble-slot for a period of 2 cycles. A bubble-slot is an empty issue-pipeline slot while there was no RAT stall.",
165f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
166f9900dd0SZhengjun Xing        "UMask": "0x1",
167f9900dd0SZhengjun Xing        "Unit": "cpu_core"
168f9900dd0SZhengjun Xing    },
169f9900dd0SZhengjun Xing    {
170f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 32 cycles which was not interrupted by a back-end stall.",
171f9900dd0SZhengjun Xing        "EventCode": "0xc6",
172f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_32",
173f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
174f9900dd0SZhengjun Xing        "MSRValue": "0x602006",
175f9900dd0SZhengjun Xing        "PEBS": "1",
176*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are delivered to the back-end after a front-end stall of at least 32 cycles. During this period the front-end delivered no uops.",
177f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
178f9900dd0SZhengjun Xing        "UMask": "0x1",
179f9900dd0SZhengjun Xing        "Unit": "cpu_core"
180f9900dd0SZhengjun Xing    },
181f9900dd0SZhengjun Xing    {
182f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 4 cycles which was not interrupted by a back-end stall.",
183f9900dd0SZhengjun Xing        "EventCode": "0xc6",
184f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_4",
185f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
186f9900dd0SZhengjun Xing        "MSRValue": "0x600406",
187f9900dd0SZhengjun Xing        "PEBS": "1",
188*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 4 cycles which was not interrupted by a back-end stall.",
189f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
190f9900dd0SZhengjun Xing        "UMask": "0x1",
191f9900dd0SZhengjun Xing        "Unit": "cpu_core"
192f9900dd0SZhengjun Xing    },
193f9900dd0SZhengjun Xing    {
194f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 512 cycles which was not interrupted by a back-end stall.",
195f9900dd0SZhengjun Xing        "EventCode": "0xc6",
196f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_512",
197f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
198f9900dd0SZhengjun Xing        "MSRValue": "0x620006",
199f9900dd0SZhengjun Xing        "PEBS": "1",
200*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 512 cycles which was not interrupted by a back-end stall.",
201f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
202f9900dd0SZhengjun Xing        "UMask": "0x1",
203f9900dd0SZhengjun Xing        "Unit": "cpu_core"
204f9900dd0SZhengjun Xing    },
205f9900dd0SZhengjun Xing    {
206f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 64 cycles which was not interrupted by a back-end stall.",
207f9900dd0SZhengjun Xing        "EventCode": "0xc6",
208f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_64",
209f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
210f9900dd0SZhengjun Xing        "MSRValue": "0x604006",
211f9900dd0SZhengjun Xing        "PEBS": "1",
212*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 64 cycles which was not interrupted by a back-end stall.",
213f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
214f9900dd0SZhengjun Xing        "UMask": "0x1",
215f9900dd0SZhengjun Xing        "Unit": "cpu_core"
216f9900dd0SZhengjun Xing    },
217f9900dd0SZhengjun Xing    {
218f9900dd0SZhengjun Xing        "BriefDescription": "Retired instructions that are fetched after an interval where the front-end delivered no uops for a period of 8 cycles which was not interrupted by a back-end stall.",
219f9900dd0SZhengjun Xing        "EventCode": "0xc6",
220f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.LATENCY_GE_8",
221f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
222f9900dd0SZhengjun Xing        "MSRValue": "0x600806",
223f9900dd0SZhengjun Xing        "PEBS": "1",
224*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired instructions that are delivered to the back-end after a front-end stall of at least 8 cycles. During this period the front-end delivered no uops.",
225f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
226f9900dd0SZhengjun Xing        "UMask": "0x1",
227f9900dd0SZhengjun Xing        "Unit": "cpu_core"
228f9900dd0SZhengjun Xing    },
229f9900dd0SZhengjun Xing    {
2305fa2481cSZhengjun Xing        "BriefDescription": "FRONTEND_RETIRED.MS_FLOWS",
2315fa2481cSZhengjun Xing        "EventCode": "0xc6",
2325fa2481cSZhengjun Xing        "EventName": "FRONTEND_RETIRED.MS_FLOWS",
2335fa2481cSZhengjun Xing        "MSRIndex": "0x3F7",
2345fa2481cSZhengjun Xing        "MSRValue": "0x8",
2355fa2481cSZhengjun Xing        "PEBS": "1",
2365fa2481cSZhengjun Xing        "SampleAfterValue": "100007",
2375fa2481cSZhengjun Xing        "UMask": "0x1",
2385fa2481cSZhengjun Xing        "Unit": "cpu_core"
2395fa2481cSZhengjun Xing    },
2405fa2481cSZhengjun Xing    {
241f9900dd0SZhengjun Xing        "BriefDescription": "Retired Instructions who experienced STLB (2nd level TLB) true miss.",
242f9900dd0SZhengjun Xing        "EventCode": "0xc6",
243f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.STLB_MISS",
244f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
245f9900dd0SZhengjun Xing        "MSRValue": "0x15",
246f9900dd0SZhengjun Xing        "PEBS": "1",
247*4c12f41aSZhengjun Xing        "PublicDescription": "Counts retired Instructions that experienced STLB (2nd level TLB) true miss.",
248f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
249f9900dd0SZhengjun Xing        "UMask": "0x1",
250f9900dd0SZhengjun Xing        "Unit": "cpu_core"
251f9900dd0SZhengjun Xing    },
252f9900dd0SZhengjun Xing    {
2535fa2481cSZhengjun Xing        "BriefDescription": "FRONTEND_RETIRED.UNKNOWN_BRANCH",
254f9900dd0SZhengjun Xing        "EventCode": "0xc6",
255f9900dd0SZhengjun Xing        "EventName": "FRONTEND_RETIRED.UNKNOWN_BRANCH",
256f9900dd0SZhengjun Xing        "MSRIndex": "0x3F7",
257f9900dd0SZhengjun Xing        "MSRValue": "0x17",
258f9900dd0SZhengjun Xing        "PEBS": "1",
259f9900dd0SZhengjun Xing        "SampleAfterValue": "100007",
260f9900dd0SZhengjun Xing        "UMask": "0x1",
261f9900dd0SZhengjun Xing        "Unit": "cpu_core"
262f9900dd0SZhengjun Xing    },
263f9900dd0SZhengjun Xing    {
264*4c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.",
265*4c12f41aSZhengjun Xing        "EventCode": "0x80",
266*4c12f41aSZhengjun Xing        "EventName": "ICACHE.ACCESSES",
267*4c12f41aSZhengjun 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.",
268*4c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
269*4c12f41aSZhengjun Xing        "UMask": "0x3",
270*4c12f41aSZhengjun Xing        "Unit": "cpu_atom"
271*4c12f41aSZhengjun Xing    },
272*4c12f41aSZhengjun Xing    {
273*4c12f41aSZhengjun Xing        "BriefDescription": "Counts the number of instruction cache misses.",
274*4c12f41aSZhengjun Xing        "EventCode": "0x80",
275*4c12f41aSZhengjun Xing        "EventName": "ICACHE.MISSES",
276*4c12f41aSZhengjun 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.",
277*4c12f41aSZhengjun Xing        "SampleAfterValue": "200003",
278*4c12f41aSZhengjun Xing        "UMask": "0x2",
279*4c12f41aSZhengjun Xing        "Unit": "cpu_atom"
280*4c12f41aSZhengjun Xing    },
281*4c12f41aSZhengjun Xing    {
282f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where a code fetch is stalled due to L1 instruction cache miss.",
283f9900dd0SZhengjun Xing        "EventCode": "0x80",
284f9900dd0SZhengjun Xing        "EventName": "ICACHE_DATA.STALLS",
285*4c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where a code line fetch is stalled due to an L1 instruction cache miss. The decode pipeline works at a 32 Byte granularity.",
286f9900dd0SZhengjun Xing        "SampleAfterValue": "500009",
287f9900dd0SZhengjun Xing        "UMask": "0x4",
288f9900dd0SZhengjun Xing        "Unit": "cpu_core"
289f9900dd0SZhengjun Xing    },
290f9900dd0SZhengjun Xing    {
291f9900dd0SZhengjun Xing        "BriefDescription": "Cycles where a code fetch is stalled due to L1 instruction cache tag miss.",
292f9900dd0SZhengjun Xing        "EventCode": "0x83",
293f9900dd0SZhengjun Xing        "EventName": "ICACHE_TAG.STALLS",
294*4c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles where a code fetch is stalled due to L1 instruction cache tag miss.",
295f9900dd0SZhengjun Xing        "SampleAfterValue": "200003",
296f9900dd0SZhengjun Xing        "UMask": "0x4",
297f9900dd0SZhengjun Xing        "Unit": "cpu_core"
298f9900dd0SZhengjun Xing    },
299f9900dd0SZhengjun Xing    {
300f9900dd0SZhengjun Xing        "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering any Uop",
301f9900dd0SZhengjun Xing        "CounterMask": "1",
302f9900dd0SZhengjun Xing        "EventCode": "0x79",
303f9900dd0SZhengjun Xing        "EventName": "IDQ.DSB_CYCLES_ANY",
304*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles uops were delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path.",
305f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
306f9900dd0SZhengjun Xing        "UMask": "0x8",
307f9900dd0SZhengjun Xing        "Unit": "cpu_core"
308f9900dd0SZhengjun Xing    },
309f9900dd0SZhengjun Xing    {
310f9900dd0SZhengjun Xing        "BriefDescription": "Cycles DSB is delivering optimal number of Uops",
311f9900dd0SZhengjun Xing        "CounterMask": "6",
312f9900dd0SZhengjun Xing        "EventCode": "0x79",
313f9900dd0SZhengjun Xing        "EventName": "IDQ.DSB_CYCLES_OK",
314*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles where optimal number of uops was delivered to the Instruction Decode Queue (IDQ) from the MITE (legacy decode pipeline) path. During these cycles uops are not being delivered from the Decode Stream Buffer (DSB).",
315f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
316f9900dd0SZhengjun Xing        "UMask": "0x8",
317f9900dd0SZhengjun Xing        "Unit": "cpu_core"
318f9900dd0SZhengjun Xing    },
319f9900dd0SZhengjun Xing    {
320f9900dd0SZhengjun Xing        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path",
321f9900dd0SZhengjun Xing        "EventCode": "0x79",
322f9900dd0SZhengjun Xing        "EventName": "IDQ.DSB_UOPS",
323*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path.",
324f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
325f9900dd0SZhengjun Xing        "UMask": "0x8",
326f9900dd0SZhengjun Xing        "Unit": "cpu_core"
327f9900dd0SZhengjun Xing    },
328f9900dd0SZhengjun Xing    {
329f9900dd0SZhengjun Xing        "BriefDescription": "Cycles MITE is delivering any Uop",
330f9900dd0SZhengjun Xing        "CounterMask": "1",
331f9900dd0SZhengjun Xing        "EventCode": "0x79",
332f9900dd0SZhengjun Xing        "EventName": "IDQ.MITE_CYCLES_ANY",
333*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles uops were delivered to the Instruction Decode Queue (IDQ) from the MITE (legacy decode pipeline) path. During these cycles uops are not being delivered from the Decode Stream Buffer (DSB).",
334f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
335f9900dd0SZhengjun Xing        "UMask": "0x4",
336f9900dd0SZhengjun Xing        "Unit": "cpu_core"
337f9900dd0SZhengjun Xing    },
338f9900dd0SZhengjun Xing    {
339f9900dd0SZhengjun Xing        "BriefDescription": "Cycles MITE is delivering optimal number of Uops",
340f9900dd0SZhengjun Xing        "CounterMask": "6",
341f9900dd0SZhengjun Xing        "EventCode": "0x79",
342f9900dd0SZhengjun Xing        "EventName": "IDQ.MITE_CYCLES_OK",
343*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles where optimal number of uops was delivered to the Instruction Decode Queue (IDQ) from the MITE (legacy decode pipeline) path. During these cycles uops are not being delivered from the Decode Stream Buffer (DSB).",
344f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
345f9900dd0SZhengjun Xing        "UMask": "0x4",
346f9900dd0SZhengjun Xing        "Unit": "cpu_core"
347f9900dd0SZhengjun Xing    },
348f9900dd0SZhengjun Xing    {
349f9900dd0SZhengjun Xing        "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path",
350f9900dd0SZhengjun Xing        "EventCode": "0x79",
351f9900dd0SZhengjun Xing        "EventName": "IDQ.MITE_UOPS",
352*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops delivered to Instruction Decode Queue (IDQ) from the MITE path. This also means that uops are not being delivered from the Decode Stream Buffer (DSB).",
353f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
354f9900dd0SZhengjun Xing        "UMask": "0x4",
355f9900dd0SZhengjun Xing        "Unit": "cpu_core"
356f9900dd0SZhengjun Xing    },
357f9900dd0SZhengjun Xing    {
358f9900dd0SZhengjun Xing        "BriefDescription": "Cycles when uops are being delivered to IDQ while MS is busy",
359f9900dd0SZhengjun Xing        "CounterMask": "1",
360f9900dd0SZhengjun Xing        "EventCode": "0x79",
361f9900dd0SZhengjun Xing        "EventName": "IDQ.MS_CYCLES_ANY",
362*4c12f41aSZhengjun Xing        "PublicDescription": "Counts cycles during which uops are being delivered to Instruction Decode Queue (IDQ) while the Microcode Sequencer (MS) is busy. Uops maybe initiated by Decode Stream Buffer (DSB) or MITE.",
363f9900dd0SZhengjun Xing        "SampleAfterValue": "2000003",
364f9900dd0SZhengjun Xing        "UMask": "0x20",
365f9900dd0SZhengjun Xing        "Unit": "cpu_core"
366f9900dd0SZhengjun Xing    },
367f9900dd0SZhengjun Xing    {
368f9900dd0SZhengjun Xing        "BriefDescription": "Number of switches from DSB or MITE to the MS",
369f9900dd0SZhengjun Xing        "CounterMask": "1",
370f9900dd0SZhengjun Xing        "EdgeDetect": "1",
371f9900dd0SZhengjun Xing        "EventCode": "0x79",
372f9900dd0SZhengjun Xing        "EventName": "IDQ.MS_SWITCHES",
373*4c12f41aSZhengjun Xing        "PublicDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer.",
374f9900dd0SZhengjun Xing        "SampleAfterValue": "100003",
375f9900dd0SZhengjun Xing        "UMask": "0x20",
376f9900dd0SZhengjun Xing        "Unit": "cpu_core"
377f9900dd0SZhengjun Xing    },
378f9900dd0SZhengjun Xing    {
379f9900dd0SZhengjun Xing        "BriefDescription": "Uops delivered to IDQ while MS is busy",
380f9900dd0SZhengjun Xing        "EventCode": "0x79",
381f9900dd0SZhengjun Xing        "EventName": "IDQ.MS_UOPS",
382*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the total number of uops delivered by the Microcode Sequencer (MS).",
383f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
384f9900dd0SZhengjun Xing        "UMask": "0x20",
385f9900dd0SZhengjun Xing        "Unit": "cpu_core"
386f9900dd0SZhengjun Xing    },
387f9900dd0SZhengjun Xing    {
388f9900dd0SZhengjun Xing        "BriefDescription": "Uops not delivered by IDQ when backend of the machine is not stalled",
389f9900dd0SZhengjun Xing        "EventCode": "0x9c",
390f9900dd0SZhengjun Xing        "EventName": "IDQ_UOPS_NOT_DELIVERED.CORE",
391*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of uops not delivered to by the Instruction Decode Queue (IDQ) to the back-end of the pipeline when there was no back-end stalls. This event counts for one SMT thread in a given cycle.",
392f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
393f9900dd0SZhengjun Xing        "UMask": "0x1",
394f9900dd0SZhengjun Xing        "Unit": "cpu_core"
395f9900dd0SZhengjun Xing    },
396f9900dd0SZhengjun Xing    {
397f9900dd0SZhengjun Xing        "BriefDescription": "Cycles when no uops are not delivered by the IDQ when backend of the machine is not stalled",
398f9900dd0SZhengjun Xing        "CounterMask": "6",
399f9900dd0SZhengjun Xing        "EventCode": "0x9c",
400f9900dd0SZhengjun Xing        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE",
401*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles when no uops were delivered by the Instruction Decode Queue (IDQ) to the back-end of the pipeline when there was no back-end stalls. This event counts for one SMT thread in a given cycle.",
402f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
403f9900dd0SZhengjun Xing        "UMask": "0x1",
404f9900dd0SZhengjun Xing        "Unit": "cpu_core"
405f9900dd0SZhengjun Xing    },
406f9900dd0SZhengjun Xing    {
407f9900dd0SZhengjun Xing        "BriefDescription": "Cycles when optimal number of uops was delivered to the back-end when the back-end is not stalled",
408f9900dd0SZhengjun Xing        "CounterMask": "1",
409f9900dd0SZhengjun Xing        "EventCode": "0x9c",
410f9900dd0SZhengjun Xing        "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK",
411f9900dd0SZhengjun Xing        "Invert": "1",
412*4c12f41aSZhengjun Xing        "PublicDescription": "Counts the number of cycles when the optimal number of uops were delivered by the Instruction Decode Queue (IDQ) to the back-end of the pipeline when there was no back-end stalls. This event counts for one SMT thread in a given cycle.",
413f9900dd0SZhengjun Xing        "SampleAfterValue": "1000003",
414f9900dd0SZhengjun Xing        "UMask": "0x1",
415f9900dd0SZhengjun Xing        "Unit": "cpu_core"
416f9900dd0SZhengjun Xing    }
417f9900dd0SZhengjun Xing]
418