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