xref: /freebsd/lib/libpmc/pmu-events/arch/x86/amdzen4/branch.json (revision e9ac41698b2f322d55ccf9da50a3596edb2c1800)
1[
2  {
3    "EventName": "bp_l2_btb_correct",
4    "EventCode": "0x8b",
5    "BriefDescription": "L2 branch prediction overrides existing prediction (speculative)."
6  },
7  {
8    "EventName": "bp_dyn_ind_pred",
9    "EventCode": "0x8e",
10    "BriefDescription": "Dynamic indirect predictions (branch used the indirect predictor to make a prediction)."
11  },
12  {
13    "EventName": "bp_de_redirect",
14    "EventCode": "0x91",
15    "BriefDescription": "Instruction decoder corrects the predicted target and resteers the branch predictor."
16  },
17  {
18    "EventName": "ex_ret_brn",
19    "EventCode": "0xc2",
20    "BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
21  },
22  {
23    "EventName": "ex_ret_brn_misp",
24    "EventCode": "0xc3",
25    "BriefDescription": "Retired branch instructions mispredicted."
26  },
27  {
28    "EventName": "ex_ret_brn_tkn",
29    "EventCode": "0xc4",
30    "BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
31  },
32  {
33    "EventName": "ex_ret_brn_tkn_misp",
34    "EventCode": "0xc5",
35    "BriefDescription": "Retired taken branch instructions mispredicted."
36  },
37  {
38    "EventName": "ex_ret_brn_far",
39    "EventCode": "0xc6",
40    "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."
41  },
42  {
43    "EventName": "ex_ret_near_ret",
44    "EventCode": "0xc8",
45    "BriefDescription": "Retired near returns (RET or RET Iw)."
46  },
47  {
48    "EventName": "ex_ret_near_ret_mispred",
49    "EventCode": "0xc9",
50    "BriefDescription": "Retired near returns mispredicted. Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
51  },
52  {
53    "EventName": "ex_ret_brn_ind_misp",
54    "EventCode": "0xca",
55    "BriefDescription": "Retired indirect branch instructions mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
56  },
57  {
58    "EventName": "ex_ret_ind_brch_instr",
59    "EventCode": "0xcc",
60    "BriefDescription": "Retired indirect branch instructions."
61  },
62  {
63    "EventName": "ex_ret_cond",
64    "EventCode": "0xd1",
65    "BriefDescription": "Retired conditional branch instructions."
66  },
67  {
68    "EventName": "ex_ret_msprd_brnch_instr_dir_msmtch",
69    "EventCode": "0x1c7",
70    "BriefDescription": "Retired branch instructions mispredicted due to direction mismatch."
71  },
72  {
73    "EventName": "ex_ret_uncond_brnch_instr_mispred",
74    "EventCode": "0x1c8",
75    "BriefDescription": "Retired unconditional indirect branch instructions mispredicted."
76  },
77  {
78    "EventName": "ex_ret_uncond_brnch_instr",
79    "EventCode": "0x1c9",
80    "BriefDescription": "Retired unconditional branch instructions."
81  }
82]
83