1*178d0b5bSAli Mashtizadeh[ 2*178d0b5bSAli Mashtizadeh { 3*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_instr", 4*178d0b5bSAli Mashtizadeh "EventCode": "0xc0", 5*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired instructions." 6*178d0b5bSAli Mashtizadeh }, 7*178d0b5bSAli Mashtizadeh { 8*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_ops", 9*178d0b5bSAli Mashtizadeh "EventCode": "0xc1", 10*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired macro-ops." 11*178d0b5bSAli Mashtizadeh }, 12*178d0b5bSAli Mashtizadeh { 13*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn", 14*178d0b5bSAli Mashtizadeh "EventCode": "0xc2", 15*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired branch instructions (all types of architectural control flow changes, including exceptions and interrupts)." 16*178d0b5bSAli Mashtizadeh }, 17*178d0b5bSAli Mashtizadeh { 18*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_misp", 19*178d0b5bSAli Mashtizadeh "EventCode": "0xc3", 20*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired branch instructions that were mispredicted." 21*178d0b5bSAli Mashtizadeh }, 22*178d0b5bSAli Mashtizadeh { 23*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_tkn", 24*178d0b5bSAli Mashtizadeh "EventCode": "0xc4", 25*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired taken branch instructions (all types of architectural control flow changes, including exceptions and interrupts)." 26*178d0b5bSAli Mashtizadeh }, 27*178d0b5bSAli Mashtizadeh { 28*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_tkn_misp", 29*178d0b5bSAli Mashtizadeh "EventCode": "0xc5", 30*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired taken branch instructions that were mispredicted." 31*178d0b5bSAli Mashtizadeh }, 32*178d0b5bSAli Mashtizadeh { 33*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_far", 34*178d0b5bSAli Mashtizadeh "EventCode": "0xc6", 35*178d0b5bSAli Mashtizadeh "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." 36*178d0b5bSAli Mashtizadeh }, 37*178d0b5bSAli Mashtizadeh { 38*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_near_ret", 39*178d0b5bSAli Mashtizadeh "EventCode": "0xc8", 40*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired near returns (RET or RET Iw)." 41*178d0b5bSAli Mashtizadeh }, 42*178d0b5bSAli Mashtizadeh { 43*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_near_ret_mispred", 44*178d0b5bSAli Mashtizadeh "EventCode": "0xc9", 45*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired near returns that were mispredicted. Each misprediction incurs the same penalty as that of a mispredicted conditional branch instruction." 46*178d0b5bSAli Mashtizadeh }, 47*178d0b5bSAli Mashtizadeh { 48*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_ind_misp", 49*178d0b5bSAli Mashtizadeh "EventCode": "0xca", 50*178d0b5bSAli Mashtizadeh "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." 51*178d0b5bSAli Mashtizadeh }, 52*178d0b5bSAli Mashtizadeh { 53*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_ind", 54*178d0b5bSAli Mashtizadeh "EventCode": "0xcc", 55*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired indirect branch instructions." 56*178d0b5bSAli Mashtizadeh }, 57*178d0b5bSAli Mashtizadeh { 58*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_cond", 59*178d0b5bSAli Mashtizadeh "EventCode": "0xd1", 60*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired conditional branch instructions." 61*178d0b5bSAli Mashtizadeh }, 62*178d0b5bSAli Mashtizadeh { 63*178d0b5bSAli Mashtizadeh "EventName": "ex_div_busy", 64*178d0b5bSAli Mashtizadeh "EventCode": "0xd3", 65*178d0b5bSAli Mashtizadeh "BriefDescription": "Cycles where the divider is busy." 66*178d0b5bSAli Mashtizadeh }, 67*178d0b5bSAli Mashtizadeh { 68*178d0b5bSAli Mashtizadeh "EventName": "ex_div_count", 69*178d0b5bSAli Mashtizadeh "EventCode": "0xd4", 70*178d0b5bSAli Mashtizadeh "BriefDescription": "Divide ops executed." 71*178d0b5bSAli Mashtizadeh }, 72*178d0b5bSAli Mashtizadeh { 73*178d0b5bSAli Mashtizadeh "EventName": "ex_no_retire.empty", 74*178d0b5bSAli Mashtizadeh "EventCode": "0xd6", 75*178d0b5bSAli Mashtizadeh "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).", 76*178d0b5bSAli Mashtizadeh "UMask": "0x01" 77*178d0b5bSAli Mashtizadeh }, 78*178d0b5bSAli Mashtizadeh { 79*178d0b5bSAli Mashtizadeh "EventName": "ex_no_retire.not_complete", 80*178d0b5bSAli Mashtizadeh "EventCode": "0xd6", 81*178d0b5bSAli Mashtizadeh "BriefDescription": "Cycles where the thread does not retire any ops as the oldest retire slot is waiting to be marked as completed.", 82*178d0b5bSAli Mashtizadeh "UMask": "0x02" 83*178d0b5bSAli Mashtizadeh }, 84*178d0b5bSAli Mashtizadeh { 85*178d0b5bSAli Mashtizadeh "EventName": "ex_no_retire.other", 86*178d0b5bSAli Mashtizadeh "EventCode": "0xd6", 87*178d0b5bSAli Mashtizadeh "BriefDescription": "Cycles where the thread does not retire any ops due to other reasons (retire breaks, traps, faults, etc.).", 88*178d0b5bSAli Mashtizadeh "UMask": "0x08" 89*178d0b5bSAli Mashtizadeh }, 90*178d0b5bSAli Mashtizadeh { 91*178d0b5bSAli Mashtizadeh "EventName": "ex_no_retire.thread_not_selected", 92*178d0b5bSAli Mashtizadeh "EventCode": "0xd6", 93*178d0b5bSAli Mashtizadeh "BriefDescription": "Cycles where the thread does not retire any ops as thread arbitration did not select the current thread.", 94*178d0b5bSAli Mashtizadeh "UMask": "0x10" 95*178d0b5bSAli Mashtizadeh }, 96*178d0b5bSAli Mashtizadeh { 97*178d0b5bSAli Mashtizadeh "EventName": "ex_no_retire.load_not_complete", 98*178d0b5bSAli Mashtizadeh "EventCode": "0xd6", 99*178d0b5bSAli Mashtizadeh "BriefDescription": "Cycles where the thread does not retire any ops due to missing load completion.", 100*178d0b5bSAli Mashtizadeh "UMask": "0xa2" 101*178d0b5bSAli Mashtizadeh }, 102*178d0b5bSAli Mashtizadeh { 103*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_ucode_instr", 104*178d0b5bSAli Mashtizadeh "EventCode": "0x1c1", 105*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired microcoded instructions." 106*178d0b5bSAli Mashtizadeh }, 107*178d0b5bSAli Mashtizadeh { 108*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_ucode_ops", 109*178d0b5bSAli Mashtizadeh "EventCode": "0x1c2", 110*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired microcode ops." 111*178d0b5bSAli Mashtizadeh }, 112*178d0b5bSAli Mashtizadeh { 113*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_cond_misp", 114*178d0b5bSAli Mashtizadeh "EventCode": "0x1c7", 115*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired conditional branch instructions that were mispredicted due to direction mismatch." 116*178d0b5bSAli Mashtizadeh }, 117*178d0b5bSAli Mashtizadeh { 118*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_uncond_ind_near_misp", 119*178d0b5bSAli Mashtizadeh "EventCode": "0x1c8", 120*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired unconditional indirect near branch instructions that were mispredicted." 121*178d0b5bSAli Mashtizadeh }, 122*178d0b5bSAli Mashtizadeh { 123*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_brn_uncond", 124*178d0b5bSAli Mashtizadeh "EventCode": "0x1c9", 125*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired unconditional branch instructions." 126*178d0b5bSAli Mashtizadeh }, 127*178d0b5bSAli Mashtizadeh { 128*178d0b5bSAli Mashtizadeh "EventName": "ex_tagged_ibs_ops.tagged", 129*178d0b5bSAli Mashtizadeh "EventCode": "0x1cf", 130*178d0b5bSAli Mashtizadeh "BriefDescription": "Execution IBS tagged ops.", 131*178d0b5bSAli Mashtizadeh "UMask": "0x01" 132*178d0b5bSAli Mashtizadeh }, 133*178d0b5bSAli Mashtizadeh { 134*178d0b5bSAli Mashtizadeh "EventName": "ex_tagged_ibs_ops.tagged_ret", 135*178d0b5bSAli Mashtizadeh "EventCode": "0x1cf", 136*178d0b5bSAli Mashtizadeh "BriefDescription": "Execution IBS tagged ops that retired.", 137*178d0b5bSAli Mashtizadeh "UMask": "0x02" 138*178d0b5bSAli Mashtizadeh }, 139*178d0b5bSAli Mashtizadeh { 140*178d0b5bSAli Mashtizadeh "EventName": "ex_tagged_ibs_ops.rollovers", 141*178d0b5bSAli Mashtizadeh "EventCode": "0x1cf", 142*178d0b5bSAli Mashtizadeh "BriefDescription": "Execution IBS periodic counter rollovers due to a previous tagged op not being IBS complete.", 143*178d0b5bSAli Mashtizadeh "UMask": "0x04" 144*178d0b5bSAli Mashtizadeh }, 145*178d0b5bSAli Mashtizadeh { 146*178d0b5bSAli Mashtizadeh "EventName": "ex_tagged_ibs_ops.filtered", 147*178d0b5bSAli Mashtizadeh "EventCode": "0x1cf", 148*178d0b5bSAli Mashtizadeh "BriefDescription": "Execution IBS tagged ops that retired but were discarded due to IBS filtering.", 149*178d0b5bSAli Mashtizadeh "UMask": "0x08" 150*178d0b5bSAli Mashtizadeh }, 151*178d0b5bSAli Mashtizadeh { 152*178d0b5bSAli Mashtizadeh "EventName": "ex_tagged_ibs_ops.valid", 153*178d0b5bSAli Mashtizadeh "EventCode": "0x1cf", 154*178d0b5bSAli Mashtizadeh "BriefDescription": "Execution IBS tagged ops that resulted in a valid sample and an IBS interrupt.", 155*178d0b5bSAli Mashtizadeh "UMask": "0x10" 156*178d0b5bSAli Mashtizadeh }, 157*178d0b5bSAli Mashtizadeh { 158*178d0b5bSAli Mashtizadeh "EventName": "ex_ret_fused_instr", 159*178d0b5bSAli Mashtizadeh "EventCode": "0x1d0", 160*178d0b5bSAli Mashtizadeh "BriefDescription": "Retired fused instructions." 161*178d0b5bSAli Mashtizadeh }, 162*178d0b5bSAli Mashtizadeh { 163*178d0b5bSAli Mashtizadeh "EventName": "ex_mprof_ibs_ops.tagged", 164*178d0b5bSAli Mashtizadeh "EventCode": "0x2c0", 165*178d0b5bSAli Mashtizadeh "BriefDescription": "Memory Profiler IBS tagged ops.", 166*178d0b5bSAli Mashtizadeh "UMask": "0x01" 167*178d0b5bSAli Mashtizadeh }, 168*178d0b5bSAli Mashtizadeh { 169*178d0b5bSAli Mashtizadeh "EventName": "ex_mprof_ibs_ops.tagged_ret", 170*178d0b5bSAli Mashtizadeh "EventCode": "0x2c0", 171*178d0b5bSAli Mashtizadeh "BriefDescription": "Memory Profiler IBS tagged ops that retired.", 172*178d0b5bSAli Mashtizadeh "UMask": "0x02" 173*178d0b5bSAli Mashtizadeh }, 174*178d0b5bSAli Mashtizadeh { 175*178d0b5bSAli Mashtizadeh "EventName": "ex_mprof_ibs_ops.rollovers", 176*178d0b5bSAli Mashtizadeh "EventCode": "0x2c0", 177*178d0b5bSAli Mashtizadeh "BriefDescription": "Memory Profiler IBS periodic counter rollovers due to a previous tagged op not being IBS complete.", 178*178d0b5bSAli Mashtizadeh "UMask": "0x04" 179*178d0b5bSAli Mashtizadeh }, 180*178d0b5bSAli Mashtizadeh { 181*178d0b5bSAli Mashtizadeh "EventName": "ex_mprof_ibs_ops.filtered", 182*178d0b5bSAli Mashtizadeh "EventCode": "0x2c0", 183*178d0b5bSAli Mashtizadeh "BriefDescription": "Memory Profiler IBS tagged ops that retired but were discarded due to IBS filtering.", 184*178d0b5bSAli Mashtizadeh "UMask": "0x08" 185*178d0b5bSAli Mashtizadeh }, 186*178d0b5bSAli Mashtizadeh { 187*178d0b5bSAli Mashtizadeh "EventName": "ex_mprof_ibs_ops.valid", 188*178d0b5bSAli Mashtizadeh "EventCode": "0x2c0", 189*178d0b5bSAli Mashtizadeh "BriefDescription": "Memory Profiler IBS tagged ops that resulted in a valid sample and an IBS interrupt.", 190*178d0b5bSAli Mashtizadeh "UMask": "0x10" 191*178d0b5bSAli Mashtizadeh } 192*178d0b5bSAli Mashtizadeh] 193