155d42d27SAndi Kleen[
255d42d27SAndi Kleen    {
3ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of branch instructions retired",
4ff3d02b2SIan Rogers        "EventCode": "0xC4",
555d42d27SAndi Kleen        "EventName": "BR_INST_RETIRED.ALL_BRANCHES",
6ff3d02b2SIan Rogers        "PEBS": "1",
7ff3d02b2SIan Rogers        "SampleAfterValue": "200003"
855d42d27SAndi Kleen    },
955d42d27SAndi Kleen    {
10ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of near CALL branch instructions retired.",
1155d42d27SAndi Kleen        "EventCode": "0xC4",
1255d42d27SAndi Kleen        "EventName": "BR_INST_RETIRED.CALL",
13ff3d02b2SIan Rogers        "PEBS": "1",
1455d42d27SAndi Kleen        "SampleAfterValue": "200003",
15ff3d02b2SIan Rogers        "UMask": "0xf9"
1655d42d27SAndi Kleen    },
1755d42d27SAndi Kleen    {
18ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of far branch instructions retired.",
1955d42d27SAndi Kleen        "EventCode": "0xC4",
2055d42d27SAndi Kleen        "EventName": "BR_INST_RETIRED.FAR_BRANCH",
21ff3d02b2SIan Rogers        "PEBS": "1",
2255d42d27SAndi Kleen        "SampleAfterValue": "200003",
23ff3d02b2SIan Rogers        "UMask": "0xbf"
2455d42d27SAndi Kleen    },
2555d42d27SAndi Kleen    {
26ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of near indirect CALL branch instructions retired.",
27ff3d02b2SIan Rogers        "EventCode": "0xC4",
28ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.IND_CALL",
29ff3d02b2SIan Rogers        "PEBS": "1",
30ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
31ff3d02b2SIan Rogers        "UMask": "0xfb"
32ff3d02b2SIan Rogers    },
33ff3d02b2SIan Rogers    {
34ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps.",
35ff3d02b2SIan Rogers        "EventCode": "0xC4",
36ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.JCC",
37ff3d02b2SIan Rogers        "PEBS": "1",
38ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
39ff3d02b2SIan Rogers        "UMask": "0x7e"
40ff3d02b2SIan Rogers    },
41ff3d02b2SIan Rogers    {
42ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of branch instructions retired that were near indirect CALL or near indirect JMP.",
43ff3d02b2SIan Rogers        "EventCode": "0xC4",
44ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.NON_RETURN_IND",
45ff3d02b2SIan Rogers        "PEBS": "1",
46ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
47ff3d02b2SIan Rogers        "UMask": "0xeb"
48ff3d02b2SIan Rogers    },
49ff3d02b2SIan Rogers    {
50ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of near relative CALL branch instructions retired.",
51ff3d02b2SIan Rogers        "EventCode": "0xC4",
52ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.REL_CALL",
53ff3d02b2SIan Rogers        "PEBS": "1",
54ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
55ff3d02b2SIan Rogers        "UMask": "0xfd"
56ff3d02b2SIan Rogers    },
57ff3d02b2SIan Rogers    {
58ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of near RET branch instructions retired.",
59ff3d02b2SIan Rogers        "EventCode": "0xC4",
60ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.RETURN",
61ff3d02b2SIan Rogers        "PEBS": "1",
62ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
63ff3d02b2SIan Rogers        "UMask": "0xf7"
64ff3d02b2SIan Rogers    },
65ff3d02b2SIan Rogers    {
66ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of branch instructions retired that were conditional jumps and predicted taken.",
67ff3d02b2SIan Rogers        "EventCode": "0xC4",
68ff3d02b2SIan Rogers        "EventName": "BR_INST_RETIRED.TAKEN_JCC",
69ff3d02b2SIan Rogers        "PEBS": "1",
70ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
71ff3d02b2SIan Rogers        "UMask": "0xfe"
72ff3d02b2SIan Rogers    },
73ff3d02b2SIan Rogers    {
74ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted branch instructions retired",
75ff3d02b2SIan Rogers        "EventCode": "0xC5",
7655d42d27SAndi Kleen        "EventName": "BR_MISP_RETIRED.ALL_BRANCHES",
77ff3d02b2SIan Rogers        "PEBS": "1",
78ff3d02b2SIan Rogers        "SampleAfterValue": "200003"
7955d42d27SAndi Kleen    },
8055d42d27SAndi Kleen    {
81ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted near CALL branch instructions retired.",
82ff3d02b2SIan Rogers        "EventCode": "0xC5",
83ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.CALL",
84ff3d02b2SIan Rogers        "PEBS": "1",
8555d42d27SAndi Kleen        "SampleAfterValue": "200003",
86ff3d02b2SIan Rogers        "UMask": "0xf9"
8755d42d27SAndi Kleen    },
8855d42d27SAndi Kleen    {
89ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted far branch instructions retired.",
90ff3d02b2SIan Rogers        "EventCode": "0xC5",
91ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.FAR_BRANCH",
92ff3d02b2SIan Rogers        "PEBS": "1",
9355d42d27SAndi Kleen        "SampleAfterValue": "200003",
94ff3d02b2SIan Rogers        "UMask": "0xbf"
9555d42d27SAndi Kleen    },
9655d42d27SAndi Kleen    {
97ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted near indirect CALL branch instructions retired.",
98ff3d02b2SIan Rogers        "EventCode": "0xC5",
9955d42d27SAndi Kleen        "EventName": "BR_MISP_RETIRED.IND_CALL",
100ff3d02b2SIan Rogers        "PEBS": "1",
10155d42d27SAndi Kleen        "SampleAfterValue": "200003",
102ff3d02b2SIan Rogers        "UMask": "0xfb"
10355d42d27SAndi Kleen    },
10455d42d27SAndi Kleen    {
105ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps.",
106ff3d02b2SIan Rogers        "EventCode": "0xC5",
107ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.JCC",
108ff3d02b2SIan Rogers        "PEBS": "1",
10955d42d27SAndi Kleen        "SampleAfterValue": "200003",
110ff3d02b2SIan Rogers        "UMask": "0x7e"
11155d42d27SAndi Kleen    },
11255d42d27SAndi Kleen    {
113ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were near indirect CALL or near indirect JMP.",
114ff3d02b2SIan Rogers        "EventCode": "0xC5",
11555d42d27SAndi Kleen        "EventName": "BR_MISP_RETIRED.NON_RETURN_IND",
116ff3d02b2SIan Rogers        "PEBS": "1",
11755d42d27SAndi Kleen        "SampleAfterValue": "200003",
118ff3d02b2SIan Rogers        "UMask": "0xeb"
11955d42d27SAndi Kleen    },
12055d42d27SAndi Kleen    {
121ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted near relative CALL branch instructions retired.",
122ff3d02b2SIan Rogers        "EventCode": "0xC5",
123ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.REL_CALL",
124ff3d02b2SIan Rogers        "PEBS": "1",
12555d42d27SAndi Kleen        "SampleAfterValue": "200003",
126ff3d02b2SIan Rogers        "UMask": "0xfd"
12755d42d27SAndi Kleen    },
12855d42d27SAndi Kleen    {
129ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted near RET branch instructions retired.",
130ff3d02b2SIan Rogers        "EventCode": "0xC5",
131ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.RETURN",
132ff3d02b2SIan Rogers        "PEBS": "1",
13355d42d27SAndi Kleen        "SampleAfterValue": "200003",
134ff3d02b2SIan Rogers        "UMask": "0xf7"
13555d42d27SAndi Kleen    },
13655d42d27SAndi Kleen    {
137ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of mispredicted branch instructions retired that were conditional jumps and predicted taken.",
138ff3d02b2SIan Rogers        "EventCode": "0xC5",
139ff3d02b2SIan Rogers        "EventName": "BR_MISP_RETIRED.TAKEN_JCC",
140ff3d02b2SIan Rogers        "PEBS": "1",
14155d42d27SAndi Kleen        "SampleAfterValue": "200003",
142ff3d02b2SIan Rogers        "UMask": "0xfe"
14355d42d27SAndi Kleen    },
14455d42d27SAndi Kleen    {
145ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of unhalted reference clock cycles",
14655d42d27SAndi Kleen        "EventCode": "0x3C",
14755d42d27SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF",
14855d42d27SAndi Kleen        "SampleAfterValue": "2000003",
149ff3d02b2SIan Rogers        "UMask": "0x1"
15055d42d27SAndi Kleen    },
15155d42d27SAndi Kleen    {
152ff3d02b2SIan Rogers        "BriefDescription": "Fixed Counter: Counts the number of unhalted reference clock cycles",
15355d42d27SAndi Kleen        "EventName": "CPU_CLK_UNHALTED.REF_TSC",
15455d42d27SAndi Kleen        "SampleAfterValue": "2000003",
155ff3d02b2SIan Rogers        "UMask": "0x3"
15655d42d27SAndi Kleen    },
15755d42d27SAndi Kleen    {
158ff3d02b2SIan Rogers        "BriefDescription": "Fixed Counter: Counts the number of unhalted core clock cycles",
159ff3d02b2SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD",
160ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of core cycles while the thread is not in a halt state. The thread enters the halt state when it is running the HLT instruction. This event is a component in many key event ratios. The core frequency may change from time to time due to transitions associated with Enhanced Intel SpeedStep Technology or TM2. For this reason this event may have a changing ratio with regards to time. When the core frequency is constant, this event can approximate elapsed time while the core was not in the halt state. It is counted on a dedicated fixed counter",
161ff3d02b2SIan Rogers        "SampleAfterValue": "2000003",
162ff3d02b2SIan Rogers        "UMask": "0x2"
163ff3d02b2SIan Rogers    },
164ff3d02b2SIan Rogers    {
165ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of unhalted core clock cycles",
166ff3d02b2SIan Rogers        "EventCode": "0x3C",
167ff3d02b2SIan Rogers        "EventName": "CPU_CLK_UNHALTED.THREAD_P",
168ff3d02b2SIan Rogers        "SampleAfterValue": "2000003"
16955d42d27SAndi Kleen    },
17055d42d27SAndi Kleen    {
171ff3d02b2SIan Rogers        "BriefDescription": "Cycles the number of core cycles when divider is busy.  Does not imply a stall waiting for the divider.",
172ff3d02b2SIan Rogers        "EventCode": "0xCD",
173ff3d02b2SIan Rogers        "EventName": "CYCLES_DIV_BUSY.ALL",
174ff3d02b2SIan Rogers        "PublicDescription": "This event counts cycles when the divider is busy. More specifically cycles when the divide unit is unable to accept a new divide uop because it is busy processing a previously dispatched uop. The cycles will be counted irrespective of whether or not another divide uop is waiting to enter the divide unit (from the RS). This event counts integer divides, x87 divides, divss, divsd, sqrtss, sqrtsd event and does not count vector divides.",
175ff3d02b2SIan Rogers        "SampleAfterValue": "2000003",
176ff3d02b2SIan Rogers        "UMask": "0x1"
17755d42d27SAndi Kleen    },
17855d42d27SAndi Kleen    {
179ff3d02b2SIan Rogers        "BriefDescription": "Fixed Counter: Counts the number of instructions retired",
180ff3d02b2SIan Rogers        "EventName": "INST_RETIRED.ANY",
181ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of instructions that retire.  For instructions that consist of multiple micro-ops, this event counts exactly once, as the last micro-op of the instruction retires.  The event continues counting while instructions retire, including during interrupt service routines caused by hardware interrupts, faults or traps.",
182ff3d02b2SIan Rogers        "SampleAfterValue": "2000003",
183ff3d02b2SIan Rogers        "UMask": "0x1"
184ff3d02b2SIan Rogers    },
185ff3d02b2SIan Rogers    {
186ff3d02b2SIan Rogers        "BriefDescription": "Counts the total number of instructions retired",
187ff3d02b2SIan Rogers        "EventCode": "0xC0",
188ff3d02b2SIan Rogers        "EventName": "INST_RETIRED.ANY_P",
189ff3d02b2SIan Rogers        "SampleAfterValue": "2000003"
19055d42d27SAndi Kleen    },
19155d42d27SAndi Kleen    {
192ff3d02b2SIan Rogers        "BriefDescription": "Counts all nukes",
193ff3d02b2SIan Rogers        "EventCode": "0xC3",
194ff3d02b2SIan Rogers        "EventName": "MACHINE_CLEARS.ALL",
195ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
196ff3d02b2SIan Rogers        "UMask": "0x8"
197ff3d02b2SIan Rogers    },
198ff3d02b2SIan Rogers    {
199ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of times that the machine clears due to program modifying data within 1K of a recently fetched code page",
200ff3d02b2SIan Rogers        "EventCode": "0xC3",
201ff3d02b2SIan Rogers        "EventName": "MACHINE_CLEARS.SMC",
202ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
203ff3d02b2SIan Rogers        "UMask": "0x1"
204ff3d02b2SIan Rogers    },
205ff3d02b2SIan Rogers    {
206ff3d02b2SIan Rogers        "BriefDescription": "Counts the total number of core cycles when no micro-ops are allocated for any reason.",
207ff3d02b2SIan Rogers        "EventCode": "0xCA",
208ff3d02b2SIan Rogers        "EventName": "NO_ALLOC_CYCLES.ALL",
209ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
210ff3d02b2SIan Rogers        "UMask": "0x7f"
211ff3d02b2SIan Rogers    },
212ff3d02b2SIan Rogers    {
213ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of core cycles when no micro-ops are allocated and the alloc pipe is stalled waiting for a mispredicted branch to retire.",
214ff3d02b2SIan Rogers        "EventCode": "0xCA",
215ff3d02b2SIan Rogers        "EventName": "NO_ALLOC_CYCLES.MISPREDICTS",
216ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of core cycles when no uops are allocated and the alloc pipe is stalled waiting for a mispredicted branch to retire.",
217ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
218ff3d02b2SIan Rogers        "UMask": "0x4"
219ff3d02b2SIan Rogers    },
220ff3d02b2SIan Rogers    {
221ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of core cycles when no micro-ops are allocated, the IQ is empty, and no other condition is blocking allocation.",
222ff3d02b2SIan Rogers        "EventCode": "0xCA",
223ff3d02b2SIan Rogers        "EventName": "NO_ALLOC_CYCLES.NOT_DELIVERED",
224ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of core cycles when no uops are allocated, the instruction queue is empty and the alloc pipe is stalled waiting for instructions to be fetched.",
225ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
226ff3d02b2SIan Rogers        "UMask": "0x90"
227ff3d02b2SIan Rogers    },
228ff3d02b2SIan Rogers    {
229ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of core cycles when no micro-ops are allocated and a RATstall (caused by reservation station full) is asserted.",
230ff3d02b2SIan Rogers        "EventCode": "0xCA",
231ff3d02b2SIan Rogers        "EventName": "NO_ALLOC_CYCLES.RAT_STALL",
232ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
233ff3d02b2SIan Rogers        "UMask": "0x20"
234ff3d02b2SIan Rogers    },
235ff3d02b2SIan Rogers    {
236ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of core cycles when no micro-ops are allocated and the ROB is full",
237ff3d02b2SIan Rogers        "EventCode": "0xCA",
238ff3d02b2SIan Rogers        "EventName": "NO_ALLOC_CYCLES.ROB_FULL",
239ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
240ff3d02b2SIan Rogers        "UMask": "0x1"
241ff3d02b2SIan Rogers    },
242ff3d02b2SIan Rogers    {
243ff3d02b2SIan Rogers        "BriefDescription": "Counts any retired load that was pushed into the recycle queue for any reason.",
24455d42d27SAndi Kleen        "EventCode": "0x03",
24555d42d27SAndi Kleen        "EventName": "RECYCLEQ.ANY_LD",
24655d42d27SAndi Kleen        "SampleAfterValue": "200003",
247ff3d02b2SIan Rogers        "UMask": "0x40"
24855d42d27SAndi Kleen    },
24955d42d27SAndi Kleen    {
250ff3d02b2SIan Rogers        "BriefDescription": "Counts any retired store that was pushed into the recycle queue for any reason.",
251ff3d02b2SIan Rogers        "EventCode": "0x03",
25255d42d27SAndi Kleen        "EventName": "RECYCLEQ.ANY_ST",
25355d42d27SAndi Kleen        "SampleAfterValue": "200003",
254ff3d02b2SIan Rogers        "UMask": "0x80"
25555d42d27SAndi Kleen    },
25655d42d27SAndi Kleen    {
257*0a080050SIan Rogers        "BriefDescription": "Counts the number of occurrences a retired load gets blocked because its address overlaps with a store whose data is not ready",
258ff3d02b2SIan Rogers        "EventCode": "0x03",
259ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.LD_BLOCK_STD_NOTREADY",
26055d42d27SAndi Kleen        "SampleAfterValue": "200003",
261ff3d02b2SIan Rogers        "UMask": "0x2"
26255d42d27SAndi Kleen    },
26355d42d27SAndi Kleen    {
264*0a080050SIan Rogers        "BriefDescription": "Counts the number of occurrences a retired load gets blocked because its address partially overlaps with a store",
265ff3d02b2SIan Rogers        "Data_LA": "1",
266ff3d02b2SIan Rogers        "EventCode": "0x03",
267ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.LD_BLOCK_ST_FORWARD",
268ff3d02b2SIan Rogers        "PEBS": "1",
26955d42d27SAndi Kleen        "SampleAfterValue": "200003",
270ff3d02b2SIan Rogers        "UMask": "0x1"
27155d42d27SAndi Kleen    },
27255d42d27SAndi Kleen    {
273*0a080050SIan Rogers        "BriefDescription": "Counts the number of occurrences a retired load that is a cache line split. Each split should be counted only once.",
274ff3d02b2SIan Rogers        "Data_LA": "1",
275ff3d02b2SIan Rogers        "EventCode": "0x03",
276ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.LD_SPLITS",
277ff3d02b2SIan Rogers        "PEBS": "1",
27855d42d27SAndi Kleen        "SampleAfterValue": "200003",
279ff3d02b2SIan Rogers        "UMask": "0x8"
280ff3d02b2SIan Rogers    },
281ff3d02b2SIan Rogers    {
282ff3d02b2SIan Rogers        "BriefDescription": "Counts all the retired locked loads. It does not include stores because we would double count if we count stores",
283ff3d02b2SIan Rogers        "EventCode": "0x03",
284ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.LOCK",
285ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
286ff3d02b2SIan Rogers        "UMask": "0x10"
287ff3d02b2SIan Rogers    },
288ff3d02b2SIan Rogers    {
289ff3d02b2SIan Rogers        "BriefDescription": "Counts the store micro-ops retired that were pushed in the rehad queue because the store address buffer is full",
290ff3d02b2SIan Rogers        "EventCode": "0x03",
291ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.STA_FULL",
292ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
293ff3d02b2SIan Rogers        "UMask": "0x20"
294ff3d02b2SIan Rogers    },
295ff3d02b2SIan Rogers    {
296*0a080050SIan Rogers        "BriefDescription": "Counts the number of occurrences a retired store that is a cache line split. Each split should be counted only once.",
297ff3d02b2SIan Rogers        "EventCode": "0x03",
298ff3d02b2SIan Rogers        "EventName": "RECYCLEQ.ST_SPLITS",
299ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of retired store that experienced a cache line boundary split(Precise Event). Note that each spilt should be counted only once.",
300ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
301ff3d02b2SIan Rogers        "UMask": "0x4"
302ff3d02b2SIan Rogers    },
303ff3d02b2SIan Rogers    {
304ff3d02b2SIan Rogers        "BriefDescription": "Counts the total number of core cycles the Alloc pipeline is stalled when any one of the reservation stations is full.",
305ff3d02b2SIan Rogers        "EventCode": "0xCB",
306ff3d02b2SIan Rogers        "EventName": "RS_FULL_STALL.ALL",
307ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
308ff3d02b2SIan Rogers        "UMask": "0x1f"
309ff3d02b2SIan Rogers    },
310ff3d02b2SIan Rogers    {
311ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of core cycles when allocation pipeline is stalled and is waiting for a free MEC reservation station entry.",
312ff3d02b2SIan Rogers        "EventCode": "0xCB",
313ff3d02b2SIan Rogers        "EventName": "RS_FULL_STALL.MEC",
314ff3d02b2SIan Rogers        "SampleAfterValue": "200003",
315ff3d02b2SIan Rogers        "UMask": "0x1"
316ff3d02b2SIan Rogers    },
317ff3d02b2SIan Rogers    {
318ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of micro-ops retired",
319ff3d02b2SIan Rogers        "EventCode": "0xC2",
320ff3d02b2SIan Rogers        "EventName": "UOPS_RETIRED.ALL",
321ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of micro-ops (uops) retired. The processor decodes complex macro instructions into a sequence of simpler uops. Most instructions are composed of one or two uops. Some instructions are decoded into longer sequences such as repeat instructions, floating point transcendental instructions, and assists.",
322ff3d02b2SIan Rogers        "SampleAfterValue": "2000003",
323ff3d02b2SIan Rogers        "UMask": "0x10"
324ff3d02b2SIan Rogers    },
325ff3d02b2SIan Rogers    {
326ff3d02b2SIan Rogers        "BriefDescription": "Counts the number of micro-ops retired that are from the complex flows issued by the micro-sequencer (MS).",
327ff3d02b2SIan Rogers        "EventCode": "0xC2",
328ff3d02b2SIan Rogers        "EventName": "UOPS_RETIRED.MS",
329ff3d02b2SIan Rogers        "PublicDescription": "This event counts the number of micro-ops retired that were supplied from MSROM.",
330ff3d02b2SIan Rogers        "SampleAfterValue": "2000003",
331ff3d02b2SIan Rogers        "UMask": "0x1"
33255d42d27SAndi Kleen    }
33355d42d27SAndi Kleen]
334