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