xref: /freebsd/lib/libpmc/pmu-events/arch/x86/amdzen5/execution.json (revision bae832487038b2c8778dc6f52700b4353175ccec)
1*bae83248SAli Mashtizadeh[
2*bae83248SAli Mashtizadeh  {
3*bae83248SAli Mashtizadeh    "EventName": "ex_ret_instr",
4*bae83248SAli Mashtizadeh    "EventCode": "0xc0",
5*bae83248SAli Mashtizadeh    "BriefDescription": "Retired instructions."
6*bae83248SAli Mashtizadeh  },
7*bae83248SAli Mashtizadeh  {
8*bae83248SAli Mashtizadeh    "EventName": "ex_ret_ops",
9*bae83248SAli Mashtizadeh    "EventCode": "0xc1",
10*bae83248SAli Mashtizadeh    "BriefDescription": "Retired macro-ops."
11*bae83248SAli Mashtizadeh  },
12*bae83248SAli Mashtizadeh  {
13*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn",
14*bae83248SAli Mashtizadeh    "EventCode": "0xc2",
15*bae83248SAli Mashtizadeh    "BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
16*bae83248SAli Mashtizadeh  },
17*bae83248SAli Mashtizadeh  {
18*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn_misp",
19*bae83248SAli Mashtizadeh    "EventCode": "0xc3",
20*bae83248SAli Mashtizadeh    "BriefDescription": "Retired branch instructions mispredicted."
21*bae83248SAli Mashtizadeh  },
22*bae83248SAli Mashtizadeh  {
23*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn_tkn",
24*bae83248SAli Mashtizadeh    "EventCode": "0xc4",
25*bae83248SAli Mashtizadeh    "BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
26*bae83248SAli Mashtizadeh  },
27*bae83248SAli Mashtizadeh  {
28*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn_tkn_misp",
29*bae83248SAli Mashtizadeh    "EventCode": "0xc5",
30*bae83248SAli Mashtizadeh    "BriefDescription": "Retired taken branch instructions mispredicted."
31*bae83248SAli Mashtizadeh  },
32*bae83248SAli Mashtizadeh  {
33*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn_far",
34*bae83248SAli Mashtizadeh    "EventCode": "0xc6",
35*bae83248SAli Mashtizadeh    "BriefDescription": "Retired far control transfers (far call/jump/return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts). Far control transfers are not subject to branch prediction."
36*bae83248SAli Mashtizadeh  },
37*bae83248SAli Mashtizadeh  {
38*bae83248SAli Mashtizadeh    "EventName": "ex_ret_near_ret",
39*bae83248SAli Mashtizadeh    "EventCode": "0xc8",
40*bae83248SAli Mashtizadeh    "BriefDescription": "Retired near returns (RET or RET Iw)."
41*bae83248SAli Mashtizadeh  },
42*bae83248SAli Mashtizadeh  {
43*bae83248SAli Mashtizadeh    "EventName": "ex_ret_near_ret_mispred",
44*bae83248SAli Mashtizadeh    "EventCode": "0xc9",
45*bae83248SAli Mashtizadeh    "BriefDescription": "Retired near returns mispredicted. Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
46*bae83248SAli Mashtizadeh  },
47*bae83248SAli Mashtizadeh  {
48*bae83248SAli Mashtizadeh    "EventName": "ex_ret_brn_ind_misp",
49*bae83248SAli Mashtizadeh    "EventCode": "0xca",
50*bae83248SAli Mashtizadeh    "BriefDescription": "Retired indirect branch instructions mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
51*bae83248SAli Mashtizadeh  },
52*bae83248SAli Mashtizadeh  {
53*bae83248SAli Mashtizadeh    "EventName": "ex_ret_mmx_fp_instr.x87",
54*bae83248SAli Mashtizadeh    "EventCode": "0xcb",
55*bae83248SAli Mashtizadeh    "BriefDescription": "Retired x87 instructions.",
56*bae83248SAli Mashtizadeh    "UMask": "0x01"
57*bae83248SAli Mashtizadeh  },
58*bae83248SAli Mashtizadeh  {
59*bae83248SAli Mashtizadeh    "EventName": "ex_ret_mmx_fp_instr.mmx",
60*bae83248SAli Mashtizadeh    "EventCode": "0xcb",
61*bae83248SAli Mashtizadeh    "BriefDescription": "Retired MMX instructions.",
62*bae83248SAli Mashtizadeh    "UMask": "0x02"
63*bae83248SAli Mashtizadeh  },
64*bae83248SAli Mashtizadeh  {
65*bae83248SAli Mashtizadeh    "EventName": "ex_ret_mmx_fp_instr.sse",
66*bae83248SAli Mashtizadeh    "EventCode": "0xcb",
67*bae83248SAli Mashtizadeh    "BriefDescription": "Retired SSE instructions (includes SSE, SSE2, SSE3, SSSE3, SSE4A, SSE41, SSE42 and AVX).",
68*bae83248SAli Mashtizadeh    "UMask": "0x04"
69*bae83248SAli Mashtizadeh  },
70*bae83248SAli Mashtizadeh  {
71*bae83248SAli Mashtizadeh    "EventName": "ex_ret_ind_brch_instr",
72*bae83248SAli Mashtizadeh    "EventCode": "0xcc",
73*bae83248SAli Mashtizadeh    "BriefDescription": "Retired indirect branch instructions."
74*bae83248SAli Mashtizadeh  },
75*bae83248SAli Mashtizadeh  {
76*bae83248SAli Mashtizadeh    "EventName": "ex_ret_cond",
77*bae83248SAli Mashtizadeh    "EventCode": "0xd1",
78*bae83248SAli Mashtizadeh    "BriefDescription": "Retired conditional branch instructions."
79*bae83248SAli Mashtizadeh  },
80*bae83248SAli Mashtizadeh  {
81*bae83248SAli Mashtizadeh    "EventName": "ex_div_busy",
82*bae83248SAli Mashtizadeh    "EventCode": "0xd3",
83*bae83248SAli Mashtizadeh    "BriefDescription": "Number of cycles the divider is busy."
84*bae83248SAli Mashtizadeh  },
85*bae83248SAli Mashtizadeh  {
86*bae83248SAli Mashtizadeh    "EventName": "ex_div_count",
87*bae83248SAli Mashtizadeh    "EventCode": "0xd4",
88*bae83248SAli Mashtizadeh    "BriefDescription": "Divide ops executed."
89*bae83248SAli Mashtizadeh  },
90*bae83248SAli Mashtizadeh  {
91*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.empty",
92*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
93*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire due  to the lack of valid ops in the retire queue (may be caused by front-end bottlenecks or pipeline redirects).",
94*bae83248SAli Mashtizadeh    "UMask": "0x01"
95*bae83248SAli Mashtizadeh  },
96*bae83248SAli Mashtizadeh  {
97*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.not_complete",
98*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
99*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire while the oldest op is waiting to be executed.",
100*bae83248SAli Mashtizadeh    "UMask": "0x02"
101*bae83248SAli Mashtizadeh  },
102*bae83248SAli Mashtizadeh  {
103*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.other",
104*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
105*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire caused by other reasons (retire breaks, traps, faults, etc.).",
106*bae83248SAli Mashtizadeh    "UMask": "0x08"
107*bae83248SAli Mashtizadeh  },
108*bae83248SAli Mashtizadeh  {
109*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.thread_not_selected",
110*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
111*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire because thread arbitration did not select the thread.",
112*bae83248SAli Mashtizadeh    "UMask": "0x10"
113*bae83248SAli Mashtizadeh  },
114*bae83248SAli Mashtizadeh  {
115*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.load_not_complete",
116*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
117*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire while the oldest op is waiting for load data.",
118*bae83248SAli Mashtizadeh    "UMask": "0xa2"
119*bae83248SAli Mashtizadeh  },
120*bae83248SAli Mashtizadeh  {
121*bae83248SAli Mashtizadeh    "EventName": "ex_no_retire.all",
122*bae83248SAli Mashtizadeh    "EventCode": "0xd6",
123*bae83248SAli Mashtizadeh    "BriefDescription": "Cycles with no retire for any reason.",
124*bae83248SAli Mashtizadeh    "UMask": "0x1b"
125*bae83248SAli Mashtizadeh  },
126*bae83248SAli Mashtizadeh  {
127*bae83248SAli Mashtizadeh    "EventName": "ex_ret_ucode_instr",
128*bae83248SAli Mashtizadeh    "EventCode": "0x1c1",
129*bae83248SAli Mashtizadeh    "BriefDescription": "Retired microcoded instructions."
130*bae83248SAli Mashtizadeh  },
131*bae83248SAli Mashtizadeh  {
132*bae83248SAli Mashtizadeh    "EventName": "ex_ret_ucode_ops",
133*bae83248SAli Mashtizadeh    "EventCode": "0x1c2",
134*bae83248SAli Mashtizadeh    "BriefDescription": "Retired microcode ops."
135*bae83248SAli Mashtizadeh  },
136*bae83248SAli Mashtizadeh  {
137*bae83248SAli Mashtizadeh    "EventName": "ex_ret_msprd_brnch_instr_dir_msmtch",
138*bae83248SAli Mashtizadeh    "EventCode": "0x1c7",
139*bae83248SAli Mashtizadeh    "BriefDescription": "Retired branch instructions mispredicted due to direction mismatch."
140*bae83248SAli Mashtizadeh  },
141*bae83248SAli Mashtizadeh  {
142*bae83248SAli Mashtizadeh    "EventName": "ex_ret_uncond_brnch_instr_mispred",
143*bae83248SAli Mashtizadeh    "EventCode": "0x1c8",
144*bae83248SAli Mashtizadeh    "BriefDescription": "Retired unconditional indirect branch instructions mispredicted."
145*bae83248SAli Mashtizadeh  },
146*bae83248SAli Mashtizadeh  {
147*bae83248SAli Mashtizadeh    "EventName": "ex_ret_uncond_brnch_instr",
148*bae83248SAli Mashtizadeh    "EventCode": "0x1c9",
149*bae83248SAli Mashtizadeh    "BriefDescription": "Retired unconditional branch instructions."
150*bae83248SAli Mashtizadeh  },
151*bae83248SAli Mashtizadeh  {
152*bae83248SAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops",
153*bae83248SAli Mashtizadeh    "EventCode": "0x1cf",
154*bae83248SAli Mashtizadeh    "BriefDescription": "Ops tagged by IBS.",
155*bae83248SAli Mashtizadeh    "UMask": "0x01"
156*bae83248SAli Mashtizadeh  },
157*bae83248SAli Mashtizadeh  {
158*bae83248SAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops_ret",
159*bae83248SAli Mashtizadeh    "EventCode": "0x1cf",
160*bae83248SAli Mashtizadeh    "BriefDescription": "Ops tagged by IBS that retired.",
161*bae83248SAli Mashtizadeh    "UMask": "0x02"
162*bae83248SAli Mashtizadeh  },
163*bae83248SAli Mashtizadeh  {
164*bae83248SAli Mashtizadeh    "EventName": "ex_tagged_ibs_ops.ibs_count_rollover",
165*bae83248SAli Mashtizadeh    "EventCode": "0x1cf",
166*bae83248SAli Mashtizadeh    "BriefDescription": "Ops not tagged by IBS due to a previous tagged op that has not yet signaled interrupt.",
167*bae83248SAli Mashtizadeh    "UMask": "0x04"
168*bae83248SAli Mashtizadeh  },
169*bae83248SAli Mashtizadeh  {
170*bae83248SAli Mashtizadeh    "EventName": "ex_ret_fused_instr",
171*bae83248SAli Mashtizadeh    "EventCode": "0x1d0",
172*bae83248SAli Mashtizadeh    "BriefDescription": "Retired fused instructions."
173*bae83248SAli Mashtizadeh  }
174*bae83248SAli Mashtizadeh]
175