xref: /freebsd/lib/libpmc/pmu-events/arch/x86/amdzen6/execution.json (revision 178d0b5b8da7480f455273aedf40dd8f1e785d3f)
1*178d0b5bSAli Mashtizadeh[
2*178d0b5bSAli Mashtizadeh  {
3*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_instr",
4*178d0b5bSAli Mashtizadeh    "EventCode": "0xc0",
5*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired instructions."
6*178d0b5bSAli Mashtizadeh  },
7*178d0b5bSAli Mashtizadeh  {
8*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_ops",
9*178d0b5bSAli Mashtizadeh    "EventCode": "0xc1",
10*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired macro-ops."
11*178d0b5bSAli Mashtizadeh  },
12*178d0b5bSAli Mashtizadeh  {
13*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn",
14*178d0b5bSAli Mashtizadeh    "EventCode": "0xc2",
15*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
16*178d0b5bSAli Mashtizadeh  },
17*178d0b5bSAli Mashtizadeh  {
18*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_misp",
19*178d0b5bSAli Mashtizadeh    "EventCode": "0xc3",
20*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired branch instructions that were mispredicted."
21*178d0b5bSAli Mashtizadeh  },
22*178d0b5bSAli Mashtizadeh  {
23*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_tkn",
24*178d0b5bSAli Mashtizadeh    "EventCode": "0xc4",
25*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
26*178d0b5bSAli Mashtizadeh  },
27*178d0b5bSAli Mashtizadeh  {
28*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_tkn_misp",
29*178d0b5bSAli Mashtizadeh    "EventCode": "0xc5",
30*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired taken branch instructions that were mispredicted."
31*178d0b5bSAli Mashtizadeh  },
32*178d0b5bSAli Mashtizadeh  {
33*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_far",
34*178d0b5bSAli Mashtizadeh    "EventCode": "0xc6",
35*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired far control transfers (far call, far jump, far return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts). Far control transfers are not subject to branch prediction."
36*178d0b5bSAli Mashtizadeh  },
37*178d0b5bSAli Mashtizadeh  {
38*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_near_ret",
39*178d0b5bSAli Mashtizadeh    "EventCode": "0xc8",
40*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired near returns (RET or RET Iw)."
41*178d0b5bSAli Mashtizadeh  },
42*178d0b5bSAli Mashtizadeh  {
43*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_near_ret_mispred",
44*178d0b5bSAli Mashtizadeh    "EventCode": "0xc9",
45*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired near returns that were mispredicted. Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction."
46*178d0b5bSAli Mashtizadeh  },
47*178d0b5bSAli Mashtizadeh  {
48*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_ind_misp",
49*178d0b5bSAli Mashtizadeh    "EventCode": "0xca",
50*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired indirect branch instructions that were mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction."
51*178d0b5bSAli Mashtizadeh  },
52*178d0b5bSAli Mashtizadeh  {
53*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_ind",
54*178d0b5bSAli Mashtizadeh    "EventCode": "0xcc",
55*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired indirect branch instructions."
56*178d0b5bSAli Mashtizadeh  },
57*178d0b5bSAli Mashtizadeh  {
58*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_cond",
59*178d0b5bSAli Mashtizadeh    "EventCode": "0xd1",
60*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired conditional branch instructions."
61*178d0b5bSAli Mashtizadeh  },
62*178d0b5bSAli Mashtizadeh  {
63*178d0b5bSAli Mashtizadeh    "EventName": "ex_div_busy",
64*178d0b5bSAli Mashtizadeh    "EventCode": "0xd3",
65*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the divider is busy."
66*178d0b5bSAli Mashtizadeh  },
67*178d0b5bSAli Mashtizadeh  {
68*178d0b5bSAli Mashtizadeh    "EventName": "ex_div_count",
69*178d0b5bSAli Mashtizadeh    "EventCode": "0xd4",
70*178d0b5bSAli Mashtizadeh    "BriefDescription": "Divide ops executed."
71*178d0b5bSAli Mashtizadeh  },
72*178d0b5bSAli Mashtizadeh  {
73*178d0b5bSAli Mashtizadeh    "EventName": "ex_no_retire.empty",
74*178d0b5bSAli Mashtizadeh    "EventCode": "0xd6",
75*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the thread does not retire any ops due to a lack of valid ops in the retire queue (may be caused by front-end bottlenecks or pipeline redirects).",
76*178d0b5bSAli Mashtizadeh    "UMask": "0x01"
77*178d0b5bSAli Mashtizadeh  },
78*178d0b5bSAli Mashtizadeh  {
79*178d0b5bSAli Mashtizadeh    "EventName": "ex_no_retire.not_complete",
80*178d0b5bSAli Mashtizadeh    "EventCode": "0xd6",
81*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the thread does not retire any ops as the oldest retire slot is waiting to be marked as completed.",
82*178d0b5bSAli Mashtizadeh    "UMask": "0x02"
83*178d0b5bSAli Mashtizadeh  },
84*178d0b5bSAli Mashtizadeh  {
85*178d0b5bSAli Mashtizadeh    "EventName": "ex_no_retire.other",
86*178d0b5bSAli Mashtizadeh    "EventCode": "0xd6",
87*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the thread does not retire any ops due to other reasons (retire breaks, traps, faults, etc.).",
88*178d0b5bSAli Mashtizadeh    "UMask": "0x08"
89*178d0b5bSAli Mashtizadeh  },
90*178d0b5bSAli Mashtizadeh  {
91*178d0b5bSAli Mashtizadeh    "EventName": "ex_no_retire.thread_not_selected",
92*178d0b5bSAli Mashtizadeh    "EventCode": "0xd6",
93*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the thread does not retire any ops as thread arbitration did not select the current thread.",
94*178d0b5bSAli Mashtizadeh    "UMask": "0x10"
95*178d0b5bSAli Mashtizadeh  },
96*178d0b5bSAli Mashtizadeh  {
97*178d0b5bSAli Mashtizadeh    "EventName": "ex_no_retire.load_not_complete",
98*178d0b5bSAli Mashtizadeh    "EventCode": "0xd6",
99*178d0b5bSAli Mashtizadeh    "BriefDescription": "Cycles where the thread does not retire any ops due to missing load completion.",
100*178d0b5bSAli Mashtizadeh    "UMask": "0xa2"
101*178d0b5bSAli Mashtizadeh  },
102*178d0b5bSAli Mashtizadeh  {
103*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_ucode_instr",
104*178d0b5bSAli Mashtizadeh    "EventCode": "0x1c1",
105*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired microcoded instructions."
106*178d0b5bSAli Mashtizadeh  },
107*178d0b5bSAli Mashtizadeh  {
108*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_ucode_ops",
109*178d0b5bSAli Mashtizadeh    "EventCode": "0x1c2",
110*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired microcode ops."
111*178d0b5bSAli Mashtizadeh  },
112*178d0b5bSAli Mashtizadeh  {
113*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_cond_misp",
114*178d0b5bSAli Mashtizadeh    "EventCode": "0x1c7",
115*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired conditional branch instructions that were mispredicted due to direction mismatch."
116*178d0b5bSAli Mashtizadeh  },
117*178d0b5bSAli Mashtizadeh  {
118*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_uncond_ind_near_misp",
119*178d0b5bSAli Mashtizadeh    "EventCode": "0x1c8",
120*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired unconditional indirect near branch instructions that were mispredicted."
121*178d0b5bSAli Mashtizadeh  },
122*178d0b5bSAli Mashtizadeh  {
123*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_brn_uncond",
124*178d0b5bSAli Mashtizadeh    "EventCode": "0x1c9",
125*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired unconditional branch instructions."
126*178d0b5bSAli Mashtizadeh  },
127*178d0b5bSAli Mashtizadeh  {
128*178d0b5bSAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.tagged",
129*178d0b5bSAli Mashtizadeh    "EventCode": "0x1cf",
130*178d0b5bSAli Mashtizadeh    "BriefDescription": "Execution IBS tagged ops.",
131*178d0b5bSAli Mashtizadeh    "UMask": "0x01"
132*178d0b5bSAli Mashtizadeh  },
133*178d0b5bSAli Mashtizadeh  {
134*178d0b5bSAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.tagged_ret",
135*178d0b5bSAli Mashtizadeh    "EventCode": "0x1cf",
136*178d0b5bSAli Mashtizadeh    "BriefDescription": "Execution IBS tagged ops that retired.",
137*178d0b5bSAli Mashtizadeh    "UMask": "0x02"
138*178d0b5bSAli Mashtizadeh  },
139*178d0b5bSAli Mashtizadeh  {
140*178d0b5bSAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.rollovers",
141*178d0b5bSAli Mashtizadeh    "EventCode": "0x1cf",
142*178d0b5bSAli Mashtizadeh    "BriefDescription": "Execution IBS periodic counter rollovers due to a previous tagged op not being IBS complete.",
143*178d0b5bSAli Mashtizadeh    "UMask": "0x04"
144*178d0b5bSAli Mashtizadeh  },
145*178d0b5bSAli Mashtizadeh  {
146*178d0b5bSAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.filtered",
147*178d0b5bSAli Mashtizadeh    "EventCode": "0x1cf",
148*178d0b5bSAli Mashtizadeh    "BriefDescription": "Execution IBS tagged ops that retired but were discarded due to IBS filtering.",
149*178d0b5bSAli Mashtizadeh    "UMask": "0x08"
150*178d0b5bSAli Mashtizadeh  },
151*178d0b5bSAli Mashtizadeh  {
152*178d0b5bSAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.valid",
153*178d0b5bSAli Mashtizadeh    "EventCode": "0x1cf",
154*178d0b5bSAli Mashtizadeh    "BriefDescription": "Execution IBS tagged ops that resulted in a valid sample and an IBS interrupt.",
155*178d0b5bSAli Mashtizadeh    "UMask": "0x10"
156*178d0b5bSAli Mashtizadeh  },
157*178d0b5bSAli Mashtizadeh  {
158*178d0b5bSAli Mashtizadeh    "EventName": "ex_ret_fused_instr",
159*178d0b5bSAli Mashtizadeh    "EventCode": "0x1d0",
160*178d0b5bSAli Mashtizadeh    "BriefDescription": "Retired fused instructions."
161*178d0b5bSAli Mashtizadeh  },
162*178d0b5bSAli Mashtizadeh  {
163*178d0b5bSAli Mashtizadeh    "EventName": "ex_mprof_ibs_ops.tagged",
164*178d0b5bSAli Mashtizadeh    "EventCode": "0x2c0",
165*178d0b5bSAli Mashtizadeh    "BriefDescription": "Memory Profiler IBS tagged ops.",
166*178d0b5bSAli Mashtizadeh    "UMask": "0x01"
167*178d0b5bSAli Mashtizadeh  },
168*178d0b5bSAli Mashtizadeh  {
169*178d0b5bSAli Mashtizadeh    "EventName": "ex_mprof_ibs_ops.tagged_ret",
170*178d0b5bSAli Mashtizadeh    "EventCode": "0x2c0",
171*178d0b5bSAli Mashtizadeh    "BriefDescription": "Memory Profiler IBS tagged ops that retired.",
172*178d0b5bSAli Mashtizadeh    "UMask": "0x02"
173*178d0b5bSAli Mashtizadeh  },
174*178d0b5bSAli Mashtizadeh  {
175*178d0b5bSAli Mashtizadeh    "EventName": "ex_mprof_ibs_ops.rollovers",
176*178d0b5bSAli Mashtizadeh    "EventCode": "0x2c0",
177*178d0b5bSAli Mashtizadeh    "BriefDescription": "Memory Profiler IBS periodic counter rollovers due to a previous tagged op not being IBS complete.",
178*178d0b5bSAli Mashtizadeh    "UMask": "0x04"
179*178d0b5bSAli Mashtizadeh  },
180*178d0b5bSAli Mashtizadeh  {
181*178d0b5bSAli Mashtizadeh    "EventName": "ex_mprof_ibs_ops.filtered",
182*178d0b5bSAli Mashtizadeh    "EventCode": "0x2c0",
183*178d0b5bSAli Mashtizadeh    "BriefDescription": "Memory Profiler IBS tagged ops that retired but were discarded due to IBS filtering.",
184*178d0b5bSAli Mashtizadeh    "UMask": "0x08"
185*178d0b5bSAli Mashtizadeh  },
186*178d0b5bSAli Mashtizadeh  {
187*178d0b5bSAli Mashtizadeh    "EventName": "ex_mprof_ibs_ops.valid",
188*178d0b5bSAli Mashtizadeh    "EventCode": "0x2c0",
189*178d0b5bSAli Mashtizadeh    "BriefDescription": "Memory Profiler IBS tagged ops that resulted in a valid sample and an IBS interrupt.",
190*178d0b5bSAli Mashtizadeh    "UMask": "0x10"
191*178d0b5bSAli Mashtizadeh  }
192*178d0b5bSAli Mashtizadeh]
193