[
  {
    "EventName": "ex_ret_instr",
    "EventCode": "0xc0",
    "BriefDescription": "Retired Instructions."
  },
  {
    "EventName": "ex_ret_ops",
    "EventCode": "0xc1",
    "BriefDescription": "Retired Ops. Use macro_ops_retired instead.",
    "PublicDescription": "The number of macro-ops retired."
  },
  {
    "EventName": "ex_ret_brn",
    "EventCode": "0xc2",
    "BriefDescription": "Retired Branch Instructions.",
    "PublicDescription": "The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts."
  },
  {
    "EventName": "ex_ret_brn_misp",
    "EventCode": "0xc3",
    "BriefDescription": "Retired Branch Instructions Mispredicted.",
    "PublicDescription": "The number of retired branch instructions, that were mispredicted."
  },
  {
    "EventName": "ex_ret_brn_tkn",
    "EventCode": "0xc4",
    "BriefDescription": "Retired Taken Branch Instructions.",
    "PublicDescription": "The number of taken branches that were retired. This includes 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.",
    "PublicDescription": "The number of retired taken branch instructions that were mispredicted."
  },
  {
    "EventName": "ex_ret_brn_far",
    "EventCode": "0xc6",
    "BriefDescription": "Retired Far Control Transfers.",
    "PublicDescription": "The number of far control transfers retired including far call/jump/return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction."
  },
  {
    "EventName": "ex_ret_brn_resync",
    "EventCode": "0xc7",
    "BriefDescription": "Retired Branch Resyncs.",
    "PublicDescription": "The number of resync branches. These reflect pipeline restarts due to certain microcode assists and events such as writes to the active instruction stream, among other things. Each occurrence reflects a restart penalty similar to a branch mispredict. This is relatively rare."
  },
  {
    "EventName": "ex_ret_near_ret",
    "EventCode": "0xc8",
    "BriefDescription": "Retired Near Returns.",
    "PublicDescription": "The number of near return instructions (RET or RET Iw) retired."
  },
  {
    "EventName": "ex_ret_near_ret_mispred",
    "EventCode": "0xc9",
    "BriefDescription": "Retired Near Returns Mispredicted.",
    "PublicDescription": "The number of near returns retired that were not correctly predicted by the return address predictor. Each such mispredict incurs the same penalty as a mispredicted conditional branch instruction."
  },
  {
    "EventName": "ex_ret_brn_ind_misp",
    "EventCode": "0xca",
    "BriefDescription": "Retired Indirect Branch Instructions Mispredicted.",
    "PublicDescription": "The number of indirect branches retired that were not correctly predicted. Each such mispredict incurs the same penalty as a mispredicted conditional branch instruction. Note that only EX mispredicts are counted."
  },
  {
    "EventName": "ex_ret_mmx_fp_instr.sse_instr",
    "EventCode": "0xcb",
    "BriefDescription": "SSE instructions (SSE, SSE2, SSE3, SSSE3, SSE4A, SSE41, SSE42, AVX).",
    "PublicDescription": "The number of MMX, SSE or x87 instructions retired. The UnitMask allows the selection of the individual classes of instructions as given in the table. Each increment represents one complete instruction. Since this event includes non-numeric instructions it is not suitable for measuring MFLOPS.",
    "UMask": "0x04"
  },
  {
    "EventName": "ex_ret_mmx_fp_instr.mmx_instr",
    "EventCode": "0xcb",
    "BriefDescription": "MMX instructions.",
    "PublicDescription": "The number of MMX, SSE or x87 instructions retired. The UnitMask allows the selection of the individual classes of instructions as given in the table. Each increment represents one complete instruction. Since this event includes non-numeric instructions it is not suitable for measuring MFLOPS. MMX instructions.",
    "UMask": "0x02"
  },
  {
    "EventName": "ex_ret_mmx_fp_instr.x87_instr",
    "EventCode": "0xcb",
    "BriefDescription": "x87 instructions.",
    "PublicDescription": "The number of MMX, SSE or x87 instructions retired. The UnitMask allows the selection of the individual classes of instructions as given in the table. Each increment represents one complete instruction. Since this event includes non-numeric instructions it is not suitable for measuring MFLOPS. x87 instructions.",
    "UMask": "0x01"
  },
  {
    "EventName": "ex_ret_ind_brch_instr",
    "EventCode": "0xcc",
    "BriefDescription": "Retired Indirect Branch Instructions. The number of indirect branches retired."
  },
  {
    "EventName": "ex_ret_cond",
    "EventCode": "0xd1",
    "BriefDescription": "Retired Conditional Branch Instructions."
  },
  {
    "EventName": "ex_div_busy",
    "EventCode": "0xd3",
    "BriefDescription": "Div Cycles Busy count."
  },
  {
    "EventName": "ex_div_count",
    "EventCode": "0xd4",
    "BriefDescription": "Div Op Count."
  },
  {
    "EventName": "ex_ret_msprd_brnch_instr_dir_msmtch",
    "EventCode": "0x1c7",
    "BriefDescription": "Retired Mispredicted Branch Instructions due to Direction Mismatch",
    "PublicDescription": "The number of retired conditional branch instructions that were not correctly predicted because of a branch direction mismatch."
  },
  {
    "EventName": "ex_tagged_ibs_ops.ibs_count_rollover",
    "EventCode": "0x1cf",
    "BriefDescription": "Tagged IBS Ops. Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired.",
    "UMask": "0x04"
  },
  {
    "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops_ret",
    "EventCode": "0x1cf",
    "BriefDescription": "Tagged IBS Ops. Number of Ops tagged by IBS that retired.",
    "UMask": "0x02"
  },
  {
    "EventName": "ex_tagged_ibs_ops.ibs_tagged_ops",
    "EventCode": "0x1cf",
    "BriefDescription": "Tagged IBS Ops. Number of Ops tagged by IBS.",
    "UMask": "0x01"
  },
  {
    "EventName": "ex_ret_fused_instr",
    "EventCode": "0x1d0",
    "BriefDescription": "Counts retired Fused Instructions."
  }
]
