1052aa3ccSAndi Kleen[
2052aa3ccSAndi Kleen    {
3c42bee96SIan Rogers        "BriefDescription": "Bogus branches",
4052aa3ccSAndi Kleen        "EventCode": "0xE4",
5052aa3ccSAndi Kleen        "EventName": "BOGUS_BR",
6052aa3ccSAndi Kleen        "SampleAfterValue": "2000000",
7c42bee96SIan Rogers        "UMask": "0x1"
8052aa3ccSAndi Kleen    },
9052aa3ccSAndi Kleen    {
10c42bee96SIan Rogers        "BriefDescription": "Branch instructions decoded",
11c42bee96SIan Rogers        "EventCode": "0xE0",
12c42bee96SIan Rogers        "EventName": "BR_INST_DECODED",
13052aa3ccSAndi Kleen        "SampleAfterValue": "2000000",
14c42bee96SIan Rogers        "UMask": "0x1"
15052aa3ccSAndi Kleen    },
16052aa3ccSAndi Kleen    {
17c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions.",
18c42bee96SIan Rogers        "EventCode": "0xC4",
19c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.ANY",
20*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
21c42bee96SIan Rogers    },
22c42bee96SIan Rogers    {
23c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions.",
24c42bee96SIan Rogers        "EventCode": "0xC4",
25c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.ANY1",
26c42bee96SIan Rogers        "SampleAfterValue": "2000000",
27c42bee96SIan Rogers        "UMask": "0xf"
28c42bee96SIan Rogers    },
29c42bee96SIan Rogers    {
30c42bee96SIan Rogers        "BriefDescription": "Retired mispredicted branch instructions (precise event).",
31c42bee96SIan Rogers        "EventCode": "0xC5",
32c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.MISPRED",
33c42bee96SIan Rogers        "PEBS": "1",
34*6fa91f64SIan Rogers        "SampleAfterValue": "200000"
35c42bee96SIan Rogers    },
36c42bee96SIan Rogers    {
37c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions that were mispredicted not-taken.",
38c42bee96SIan Rogers        "EventCode": "0xC4",
39c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.MISPRED_NOT_TAKEN",
40c42bee96SIan Rogers        "SampleAfterValue": "200000",
41c42bee96SIan Rogers        "UMask": "0x2"
42c42bee96SIan Rogers    },
43c42bee96SIan Rogers    {
44c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions that were mispredicted taken.",
45c42bee96SIan Rogers        "EventCode": "0xC4",
46c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.MISPRED_TAKEN",
47c42bee96SIan Rogers        "SampleAfterValue": "200000",
48c42bee96SIan Rogers        "UMask": "0x8"
49c42bee96SIan Rogers    },
50c42bee96SIan Rogers    {
51c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions that were predicted not-taken.",
52c42bee96SIan Rogers        "EventCode": "0xC4",
53c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.PRED_NOT_TAKEN",
54c42bee96SIan Rogers        "SampleAfterValue": "2000000",
55c42bee96SIan Rogers        "UMask": "0x1"
56c42bee96SIan Rogers    },
57c42bee96SIan Rogers    {
58c42bee96SIan Rogers        "BriefDescription": "Retired branch instructions that were predicted taken.",
59c42bee96SIan Rogers        "EventCode": "0xC4",
60c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.PRED_TAKEN",
61c42bee96SIan Rogers        "SampleAfterValue": "2000000",
62c42bee96SIan Rogers        "UMask": "0x4"
63c42bee96SIan Rogers    },
64c42bee96SIan Rogers    {
65c42bee96SIan Rogers        "BriefDescription": "Retired taken branch instructions.",
66c42bee96SIan Rogers        "EventCode": "0xC4",
67c42bee96SIan Rogers        "EventName": "BR_INST_RETIRED.TAKEN",
68c42bee96SIan Rogers        "SampleAfterValue": "2000000",
69c42bee96SIan Rogers        "UMask": "0xc"
70c42bee96SIan Rogers    },
71c42bee96SIan Rogers    {
72c42bee96SIan Rogers        "BriefDescription": "All macro conditional branch instructions.",
73c42bee96SIan Rogers        "EventCode": "0x88",
74c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.COND",
75c42bee96SIan Rogers        "SampleAfterValue": "2000000",
76c42bee96SIan Rogers        "UMask": "0x1"
77c42bee96SIan Rogers    },
78c42bee96SIan Rogers    {
79c42bee96SIan Rogers        "BriefDescription": "Only taken macro conditional branch instructions",
80c42bee96SIan Rogers        "EventCode": "0x88",
81c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.COND_TAKEN",
82c42bee96SIan Rogers        "SampleAfterValue": "2000000",
83c42bee96SIan Rogers        "UMask": "0x41"
84c42bee96SIan Rogers    },
85c42bee96SIan Rogers    {
86c42bee96SIan Rogers        "BriefDescription": "All non-indirect calls",
87c42bee96SIan Rogers        "EventCode": "0x88",
88c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.DIR_CALL",
89c42bee96SIan Rogers        "SampleAfterValue": "2000000",
90c42bee96SIan Rogers        "UMask": "0x10"
91c42bee96SIan Rogers    },
92c42bee96SIan Rogers    {
93c42bee96SIan Rogers        "BriefDescription": "All indirect branches that are not calls.",
94c42bee96SIan Rogers        "EventCode": "0x88",
95c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.IND",
96c42bee96SIan Rogers        "SampleAfterValue": "2000000",
97c42bee96SIan Rogers        "UMask": "0x4"
98c42bee96SIan Rogers    },
99c42bee96SIan Rogers    {
100c42bee96SIan Rogers        "BriefDescription": "All indirect calls, including both register and memory indirect.",
101c42bee96SIan Rogers        "EventCode": "0x88",
102c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.IND_CALL",
103c42bee96SIan Rogers        "SampleAfterValue": "2000000",
104c42bee96SIan Rogers        "UMask": "0x20"
105c42bee96SIan Rogers    },
106c42bee96SIan Rogers    {
107c42bee96SIan Rogers        "BriefDescription": "All indirect branches that have a return mnemonic",
108c42bee96SIan Rogers        "EventCode": "0x88",
109c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.RET",
110c42bee96SIan Rogers        "SampleAfterValue": "2000000",
111c42bee96SIan Rogers        "UMask": "0x8"
112c42bee96SIan Rogers    },
113c42bee96SIan Rogers    {
114c42bee96SIan Rogers        "BriefDescription": "All macro unconditional branch instructions, excluding calls and indirects",
115c42bee96SIan Rogers        "EventCode": "0x88",
116c42bee96SIan Rogers        "EventName": "BR_INST_TYPE_RETIRED.UNCOND",
117c42bee96SIan Rogers        "SampleAfterValue": "2000000",
118c42bee96SIan Rogers        "UMask": "0x2"
119c42bee96SIan Rogers    },
120c42bee96SIan Rogers    {
121c42bee96SIan Rogers        "BriefDescription": "Mispredicted cond branch instructions retired",
122c42bee96SIan Rogers        "EventCode": "0x89",
123c42bee96SIan Rogers        "EventName": "BR_MISSP_TYPE_RETIRED.COND",
124c42bee96SIan Rogers        "SampleAfterValue": "200000",
125c42bee96SIan Rogers        "UMask": "0x1"
126c42bee96SIan Rogers    },
127c42bee96SIan Rogers    {
128c42bee96SIan Rogers        "BriefDescription": "Mispredicted and taken cond branch instructions retired",
129c42bee96SIan Rogers        "EventCode": "0x89",
130c42bee96SIan Rogers        "EventName": "BR_MISSP_TYPE_RETIRED.COND_TAKEN",
131c42bee96SIan Rogers        "SampleAfterValue": "200000",
132c42bee96SIan Rogers        "UMask": "0x11"
133c42bee96SIan Rogers    },
134c42bee96SIan Rogers    {
135c42bee96SIan Rogers        "BriefDescription": "Mispredicted ind branches that are not calls",
136c42bee96SIan Rogers        "EventCode": "0x89",
137c42bee96SIan Rogers        "EventName": "BR_MISSP_TYPE_RETIRED.IND",
138c42bee96SIan Rogers        "SampleAfterValue": "200000",
139c42bee96SIan Rogers        "UMask": "0x2"
140c42bee96SIan Rogers    },
141c42bee96SIan Rogers    {
142c42bee96SIan Rogers        "BriefDescription": "Mispredicted indirect calls, including both register and memory indirect.",
143c42bee96SIan Rogers        "EventCode": "0x89",
144c42bee96SIan Rogers        "EventName": "BR_MISSP_TYPE_RETIRED.IND_CALL",
145c42bee96SIan Rogers        "SampleAfterValue": "200000",
146c42bee96SIan Rogers        "UMask": "0x8"
147c42bee96SIan Rogers    },
148c42bee96SIan Rogers    {
149c42bee96SIan Rogers        "BriefDescription": "Mispredicted return branches",
150c42bee96SIan Rogers        "EventCode": "0x89",
151c42bee96SIan Rogers        "EventName": "BR_MISSP_TYPE_RETIRED.RETURN",
152c42bee96SIan Rogers        "SampleAfterValue": "200000",
153c42bee96SIan Rogers        "UMask": "0x4"
154c42bee96SIan Rogers    },
155c42bee96SIan Rogers    {
156c42bee96SIan Rogers        "BriefDescription": "Bus cycles when core is not halted",
157c42bee96SIan Rogers        "EventCode": "0x3C",
158c42bee96SIan Rogers        "EventName": "CPU_CLK_UNHALTED.BUS",
159c42bee96SIan Rogers        "SampleAfterValue": "200000",
160c42bee96SIan Rogers        "UMask": "0x1"
161c42bee96SIan Rogers    },
162c42bee96SIan Rogers    {
163c42bee96SIan Rogers        "BriefDescription": "Core cycles when core is not halted",
164c42bee96SIan Rogers        "EventCode": "0xA",
165c42bee96SIan Rogers        "EventName": "CPU_CLK_UNHALTED.CORE",
166*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
167c42bee96SIan Rogers    },
168c42bee96SIan Rogers    {
169c42bee96SIan Rogers        "BriefDescription": "Core cycles when core is not halted",
170c42bee96SIan Rogers        "EventCode": "0x3C",
171c42bee96SIan Rogers        "EventName": "CPU_CLK_UNHALTED.CORE_P",
172*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
173c42bee96SIan Rogers    },
174c42bee96SIan Rogers    {
175c42bee96SIan Rogers        "BriefDescription": "Reference cycles when core is not halted.",
176c42bee96SIan Rogers        "EventCode": "0xA",
177c42bee96SIan Rogers        "EventName": "CPU_CLK_UNHALTED.REF",
178*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
179c42bee96SIan Rogers    },
180c42bee96SIan Rogers    {
181c42bee96SIan Rogers        "BriefDescription": "Cycles the divider is busy.",
182c42bee96SIan Rogers        "EventCode": "0x14",
183c42bee96SIan Rogers        "EventName": "CYCLES_DIV_BUSY",
184c42bee96SIan Rogers        "SampleAfterValue": "2000000",
185c42bee96SIan Rogers        "UMask": "0x1"
186c42bee96SIan Rogers    },
187c42bee96SIan Rogers    {
188c42bee96SIan Rogers        "BriefDescription": "Divide operations retired",
189c42bee96SIan Rogers        "EventCode": "0x13",
190c42bee96SIan Rogers        "EventName": "DIV.AR",
191c42bee96SIan Rogers        "SampleAfterValue": "2000000",
192c42bee96SIan Rogers        "UMask": "0x81"
193c42bee96SIan Rogers    },
194c42bee96SIan Rogers    {
195c42bee96SIan Rogers        "BriefDescription": "Divide operations executed.",
196c42bee96SIan Rogers        "EventCode": "0x13",
197c42bee96SIan Rogers        "EventName": "DIV.S",
198c42bee96SIan Rogers        "SampleAfterValue": "2000000",
199c42bee96SIan Rogers        "UMask": "0x1"
200c42bee96SIan Rogers    },
201c42bee96SIan Rogers    {
202c42bee96SIan Rogers        "BriefDescription": "Instructions retired.",
203c42bee96SIan Rogers        "EventCode": "0xA",
204c42bee96SIan Rogers        "EventName": "INST_RETIRED.ANY",
205*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
206c42bee96SIan Rogers    },
207c42bee96SIan Rogers    {
208c42bee96SIan Rogers        "BriefDescription": "Instructions retired (precise event).",
209c42bee96SIan Rogers        "EventCode": "0xC0",
210c42bee96SIan Rogers        "EventName": "INST_RETIRED.ANY_P",
211c42bee96SIan Rogers        "PEBS": "2",
212*6fa91f64SIan Rogers        "SampleAfterValue": "2000000"
213c42bee96SIan Rogers    },
214c42bee96SIan Rogers    {
215c42bee96SIan Rogers        "BriefDescription": "Self-Modifying Code detected.",
216c42bee96SIan Rogers        "EventCode": "0xC3",
217c42bee96SIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
218c42bee96SIan Rogers        "SampleAfterValue": "200000",
219c42bee96SIan Rogers        "UMask": "0x1"
220c42bee96SIan Rogers    },
221c42bee96SIan Rogers    {
222c42bee96SIan Rogers        "BriefDescription": "Multiply operations retired",
223c42bee96SIan Rogers        "EventCode": "0x12",
224c42bee96SIan Rogers        "EventName": "MUL.AR",
225c42bee96SIan Rogers        "SampleAfterValue": "2000000",
226c42bee96SIan Rogers        "UMask": "0x81"
227c42bee96SIan Rogers    },
228c42bee96SIan Rogers    {
229c42bee96SIan Rogers        "BriefDescription": "Multiply operations executed.",
230c42bee96SIan Rogers        "EventCode": "0x12",
231c42bee96SIan Rogers        "EventName": "MUL.S",
232c42bee96SIan Rogers        "SampleAfterValue": "2000000",
233c42bee96SIan Rogers        "UMask": "0x1"
234c42bee96SIan Rogers    },
235c42bee96SIan Rogers    {
236c42bee96SIan Rogers        "BriefDescription": "Micro-op reissues for any cause",
237c42bee96SIan Rogers        "EventCode": "0x3",
238c42bee96SIan Rogers        "EventName": "REISSUE.ANY",
239c42bee96SIan Rogers        "SampleAfterValue": "200000",
240c42bee96SIan Rogers        "UMask": "0x7f"
241c42bee96SIan Rogers    },
242c42bee96SIan Rogers    {
243c42bee96SIan Rogers        "BriefDescription": "Micro-op reissues for any cause (At Retirement)",
244c42bee96SIan Rogers        "EventCode": "0x3",
245c42bee96SIan Rogers        "EventName": "REISSUE.ANY.AR",
246c42bee96SIan Rogers        "SampleAfterValue": "200000",
247c42bee96SIan Rogers        "UMask": "0xff"
248c42bee96SIan Rogers    },
249c42bee96SIan Rogers    {
250c42bee96SIan Rogers        "BriefDescription": "Micro-op reissues on a store-load collision",
251c42bee96SIan Rogers        "EventCode": "0x3",
252052aa3ccSAndi Kleen        "EventName": "REISSUE.OVERLAP_STORE",
253052aa3ccSAndi Kleen        "SampleAfterValue": "200000",
254c42bee96SIan Rogers        "UMask": "0x1"
255052aa3ccSAndi Kleen    },
256052aa3ccSAndi Kleen    {
257c42bee96SIan Rogers        "BriefDescription": "Micro-op reissues on a store-load collision (At Retirement)",
258c42bee96SIan Rogers        "EventCode": "0x3",
259052aa3ccSAndi Kleen        "EventName": "REISSUE.OVERLAP_STORE.AR",
260052aa3ccSAndi Kleen        "SampleAfterValue": "200000",
261c42bee96SIan Rogers        "UMask": "0x81"
262c42bee96SIan Rogers    },
263c42bee96SIan Rogers    {
264c42bee96SIan Rogers        "BriefDescription": "Cycles issue is stalled due to div busy.",
265c42bee96SIan Rogers        "EventCode": "0xDC",
266c42bee96SIan Rogers        "EventName": "RESOURCE_STALLS.DIV_BUSY",
267c42bee96SIan Rogers        "SampleAfterValue": "2000000",
268c42bee96SIan Rogers        "UMask": "0x2"
269c42bee96SIan Rogers    },
270c42bee96SIan Rogers    {
271c42bee96SIan Rogers        "BriefDescription": "All store forwards",
272c42bee96SIan Rogers        "EventCode": "0x2",
273c42bee96SIan Rogers        "EventName": "STORE_FORWARDS.ANY",
274c42bee96SIan Rogers        "SampleAfterValue": "200000",
275c42bee96SIan Rogers        "UMask": "0x83"
276c42bee96SIan Rogers    },
277c42bee96SIan Rogers    {
278c42bee96SIan Rogers        "BriefDescription": "Good store forwards",
279c42bee96SIan Rogers        "EventCode": "0x2",
280c42bee96SIan Rogers        "EventName": "STORE_FORWARDS.GOOD",
281c42bee96SIan Rogers        "SampleAfterValue": "200000",
282c42bee96SIan Rogers        "UMask": "0x81"
283c42bee96SIan Rogers    },
284c42bee96SIan Rogers    {
285c42bee96SIan Rogers        "BriefDescription": "Micro-ops retired.",
286c42bee96SIan Rogers        "EventCode": "0xC2",
287c42bee96SIan Rogers        "EventName": "UOPS_RETIRED.ANY",
288c42bee96SIan Rogers        "SampleAfterValue": "2000000",
289c42bee96SIan Rogers        "UMask": "0x10"
290c42bee96SIan Rogers    },
291c42bee96SIan Rogers    {
292c42bee96SIan Rogers        "BriefDescription": "Cycles no micro-ops retired.",
293c42bee96SIan Rogers        "EventCode": "0xC2",
294c42bee96SIan Rogers        "EventName": "UOPS_RETIRED.STALLED_CYCLES",
295c42bee96SIan Rogers        "SampleAfterValue": "2000000",
296c42bee96SIan Rogers        "UMask": "0x10"
297c42bee96SIan Rogers    },
298c42bee96SIan Rogers    {
299c42bee96SIan Rogers        "BriefDescription": "Periods no micro-ops retired.",
300c42bee96SIan Rogers        "EventCode": "0xC2",
301c42bee96SIan Rogers        "EventName": "UOPS_RETIRED.STALLS",
302c42bee96SIan Rogers        "SampleAfterValue": "2000000",
303c42bee96SIan Rogers        "UMask": "0x10"
304052aa3ccSAndi Kleen    }
305052aa3ccSAndi Kleen]
306