162306a36Sopenharmony_ci[
262306a36Sopenharmony_ci  {
362306a36Sopenharmony_ci    "EventName": "bp_l2_btb_correct",
462306a36Sopenharmony_ci    "EventCode": "0x8b",
562306a36Sopenharmony_ci    "BriefDescription": "L2 branch prediction overrides existing prediction (speculative)."
662306a36Sopenharmony_ci  },
762306a36Sopenharmony_ci  {
862306a36Sopenharmony_ci    "EventName": "bp_dyn_ind_pred",
962306a36Sopenharmony_ci    "EventCode": "0x8e",
1062306a36Sopenharmony_ci    "BriefDescription": "Dynamic indirect predictions (branch used the indirect predictor to make a prediction)."
1162306a36Sopenharmony_ci  },
1262306a36Sopenharmony_ci  {
1362306a36Sopenharmony_ci    "EventName": "bp_de_redirect",
1462306a36Sopenharmony_ci    "EventCode": "0x91",
1562306a36Sopenharmony_ci    "BriefDescription": "Instruction decoder corrects the predicted target and resteers the branch predictor."
1662306a36Sopenharmony_ci  },
1762306a36Sopenharmony_ci  {
1862306a36Sopenharmony_ci    "EventName": "ex_ret_brn",
1962306a36Sopenharmony_ci    "EventCode": "0xc2",
2062306a36Sopenharmony_ci    "BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
2162306a36Sopenharmony_ci  },
2262306a36Sopenharmony_ci  {
2362306a36Sopenharmony_ci    "EventName": "ex_ret_brn_misp",
2462306a36Sopenharmony_ci    "EventCode": "0xc3",
2562306a36Sopenharmony_ci    "BriefDescription": "Retired branch instructions mispredicted."
2662306a36Sopenharmony_ci  },
2762306a36Sopenharmony_ci  {
2862306a36Sopenharmony_ci    "EventName": "ex_ret_brn_tkn",
2962306a36Sopenharmony_ci    "EventCode": "0xc4",
3062306a36Sopenharmony_ci    "BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)."
3162306a36Sopenharmony_ci  },
3262306a36Sopenharmony_ci  {
3362306a36Sopenharmony_ci    "EventName": "ex_ret_brn_tkn_misp",
3462306a36Sopenharmony_ci    "EventCode": "0xc5",
3562306a36Sopenharmony_ci    "BriefDescription": "Retired taken branch instructions mispredicted."
3662306a36Sopenharmony_ci  },
3762306a36Sopenharmony_ci  {
3862306a36Sopenharmony_ci    "EventName": "ex_ret_brn_far",
3962306a36Sopenharmony_ci    "EventCode": "0xc6",
4062306a36Sopenharmony_ci    "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."
4162306a36Sopenharmony_ci  },
4262306a36Sopenharmony_ci  {
4362306a36Sopenharmony_ci    "EventName": "ex_ret_near_ret",
4462306a36Sopenharmony_ci    "EventCode": "0xc8",
4562306a36Sopenharmony_ci    "BriefDescription": "Retired near returns (RET or RET Iw)."
4662306a36Sopenharmony_ci  },
4762306a36Sopenharmony_ci  {
4862306a36Sopenharmony_ci    "EventName": "ex_ret_near_ret_mispred",
4962306a36Sopenharmony_ci    "EventCode": "0xc9",
5062306a36Sopenharmony_ci    "BriefDescription": "Retired near returns mispredicted. Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
5162306a36Sopenharmony_ci  },
5262306a36Sopenharmony_ci  {
5362306a36Sopenharmony_ci    "EventName": "ex_ret_brn_ind_misp",
5462306a36Sopenharmony_ci    "EventCode": "0xca",
5562306a36Sopenharmony_ci    "BriefDescription": "Retired indirect branch instructions mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as a mispredicted conditional branch instruction."
5662306a36Sopenharmony_ci  },
5762306a36Sopenharmony_ci  {
5862306a36Sopenharmony_ci    "EventName": "ex_ret_ind_brch_instr",
5962306a36Sopenharmony_ci    "EventCode": "0xcc",
6062306a36Sopenharmony_ci    "BriefDescription": "Retired indirect branch instructions."
6162306a36Sopenharmony_ci  },
6262306a36Sopenharmony_ci  {
6362306a36Sopenharmony_ci    "EventName": "ex_ret_cond",
6462306a36Sopenharmony_ci    "EventCode": "0xd1",
6562306a36Sopenharmony_ci    "BriefDescription": "Retired conditional branch instructions."
6662306a36Sopenharmony_ci  },
6762306a36Sopenharmony_ci  {
6862306a36Sopenharmony_ci    "EventName": "ex_ret_msprd_brnch_instr_dir_msmtch",
6962306a36Sopenharmony_ci    "EventCode": "0x1c7",
7062306a36Sopenharmony_ci    "BriefDescription": "Retired branch instructions mispredicted due to direction mismatch."
7162306a36Sopenharmony_ci  },
7262306a36Sopenharmony_ci  {
7362306a36Sopenharmony_ci    "EventName": "ex_ret_uncond_brnch_instr_mispred",
7462306a36Sopenharmony_ci    "EventCode": "0x1c8",
7562306a36Sopenharmony_ci    "BriefDescription": "Retired unconditional indirect branch instructions mispredicted."
7662306a36Sopenharmony_ci  },
7762306a36Sopenharmony_ci  {
7862306a36Sopenharmony_ci    "EventName": "ex_ret_uncond_brnch_instr",
7962306a36Sopenharmony_ci    "EventCode": "0x1c9",
8062306a36Sopenharmony_ci    "BriefDescription": "Retired unconditional branch instructions."
8162306a36Sopenharmony_ci  }
8262306a36Sopenharmony_ci]
83