[ { "EventName": "ex_ret_instr", "EventCode": "0xc0", "BriefDescription": "Retired instructions." }, { "EventName": "ex_ret_ops", "EventCode": "0xc1", "BriefDescription": "Retired macro-ops." }, { "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 that were 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 that were mispredicted." }, { "EventName": "ex_ret_brn_far", "EventCode": "0xc6", "BriefDescription": "Retired far control transfers (far call, far jump, far 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 that were mispredicted. Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction." }, { "EventName": "ex_ret_brn_ind_misp", "EventCode": "0xca", "BriefDescription": "Retired indirect branch instructions that were mispredicted (only EX mispredicts). Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction." }, { "EventName": "ex_ret_brn_ind", "EventCode": "0xcc", "BriefDescription": "Retired indirect branch instructions." }, { "EventName": "ex_ret_brn_cond", "EventCode": "0xd1", "BriefDescription": "Retired conditional branch instructions." }, { "EventName": "ex_div_busy", "EventCode": "0xd3", "BriefDescription": "Cycles where the divider is busy." }, { "EventName": "ex_div_count", "EventCode": "0xd4", "BriefDescription": "Divide ops executed." }, { "EventName": "ex_no_retire.empty", "EventCode": "0xd6", "BriefDescription": "Cycles where the thread does not retire any ops due to a lack of valid ops in the retire queue (may be caused by front-end bottlenecks or pipeline redirects).", "UMask": "0x01" }, { "EventName": "ex_no_retire.not_complete", "EventCode": "0xd6", "BriefDescription": "Cycles where the thread does not retire any ops as the oldest retire slot is waiting to be marked as completed.", "UMask": "0x02" }, { "EventName": "ex_no_retire.other", "EventCode": "0xd6", "BriefDescription": "Cycles where the thread does not retire any ops due to other reasons (retire breaks, traps, faults, etc.).", "UMask": "0x08" }, { "EventName": "ex_no_retire.thread_not_selected", "EventCode": "0xd6", "BriefDescription": "Cycles where the thread does not retire any ops as thread arbitration did not select the current thread.", "UMask": "0x10" }, { "EventName": "ex_no_retire.load_not_complete", "EventCode": "0xd6", "BriefDescription": "Cycles where the thread does not retire any ops due to missing load completion.", "UMask": "0xa2" }, { "EventName": "ex_ret_ucode_instr", "EventCode": "0x1c1", "BriefDescription": "Retired microcoded instructions." }, { "EventName": "ex_ret_ucode_ops", "EventCode": "0x1c2", "BriefDescription": "Retired microcode ops." }, { "EventName": "ex_ret_brn_cond_misp", "EventCode": "0x1c7", "BriefDescription": "Retired conditional branch instructions that were mispredicted due to direction mismatch." }, { "EventName": "ex_ret_brn_uncond_ind_near_misp", "EventCode": "0x1c8", "BriefDescription": "Retired unconditional indirect near branch instructions that were mispredicted." }, { "EventName": "ex_ret_brn_uncond", "EventCode": "0x1c9", "BriefDescription": "Retired unconditional branch instructions." }, { "EventName": "ex_tagged_ibs_ops.tagged", "EventCode": "0x1cf", "BriefDescription": "Execution IBS tagged ops.", "UMask": "0x01" }, { "EventName": "ex_tagged_ibs_ops.tagged_ret", "EventCode": "0x1cf", "BriefDescription": "Execution IBS tagged ops that retired.", "UMask": "0x02" }, { "EventName": "ex_tagged_ibs_ops.rollovers", "EventCode": "0x1cf", "BriefDescription": "Execution IBS periodic counter rollovers due to a previous tagged op not being IBS complete.", "UMask": "0x04" }, { "EventName": "ex_tagged_ibs_ops.filtered", "EventCode": "0x1cf", "BriefDescription": "Execution IBS tagged ops that retired but were discarded due to IBS filtering.", "UMask": "0x08" }, { "EventName": "ex_tagged_ibs_ops.valid", "EventCode": "0x1cf", "BriefDescription": "Execution IBS tagged ops that resulted in a valid sample and an IBS interrupt.", "UMask": "0x10" }, { "EventName": "ex_ret_fused_instr", "EventCode": "0x1d0", "BriefDescription": "Retired fused instructions." }, { "EventName": "ex_mprof_ibs_ops.tagged", "EventCode": "0x2c0", "BriefDescription": "Memory Profiler IBS tagged ops.", "UMask": "0x01" }, { "EventName": "ex_mprof_ibs_ops.tagged_ret", "EventCode": "0x2c0", "BriefDescription": "Memory Profiler IBS tagged ops that retired.", "UMask": "0x02" }, { "EventName": "ex_mprof_ibs_ops.rollovers", "EventCode": "0x2c0", "BriefDescription": "Memory Profiler IBS periodic counter rollovers due to a previous tagged op not being IBS complete.", "UMask": "0x04" }, { "EventName": "ex_mprof_ibs_ops.filtered", "EventCode": "0x2c0", "BriefDescription": "Memory Profiler IBS tagged ops that retired but were discarded due to IBS filtering.", "UMask": "0x08" }, { "EventName": "ex_mprof_ibs_ops.valid", "EventCode": "0x2c0", "BriefDescription": "Memory Profiler IBS tagged ops that resulted in a valid sample and an IBS interrupt.", "UMask": "0x10" } ]