1*aa1bd892SJin Yao[ 2*aa1bd892SJin Yao { 3*aa1bd892SJin Yao "BriefDescription": "Counts the total number of BACLEARS.", 4*aa1bd892SJin Yao "CollectPEBSRecord": "2", 5*aa1bd892SJin Yao "Counter": "0,1,2,3", 6*aa1bd892SJin Yao "EventCode": "0xe6", 7*aa1bd892SJin Yao "EventName": "BACLEARS.ANY", 8*aa1bd892SJin Yao "PDIR_COUNTER": "na", 9*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 10*aa1bd892SJin Yao "PublicDescription": "Counts the total number of BACLEARS, which occur when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend. Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.", 11*aa1bd892SJin Yao "SampleAfterValue": "200003", 12*aa1bd892SJin Yao "UMask": "0x1" 13*aa1bd892SJin Yao }, 14*aa1bd892SJin Yao { 15*aa1bd892SJin Yao "BriefDescription": "Counts the number of BACLEARS due to a conditional jump.", 16*aa1bd892SJin Yao "CollectPEBSRecord": "2", 17*aa1bd892SJin Yao "Counter": "0,1,2,3", 18*aa1bd892SJin Yao "EventCode": "0xe6", 19*aa1bd892SJin Yao "EventName": "BACLEARS.COND", 20*aa1bd892SJin Yao "PDIR_COUNTER": "na", 21*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 22*aa1bd892SJin Yao "SampleAfterValue": "200003", 23*aa1bd892SJin Yao "UMask": "0x10" 24*aa1bd892SJin Yao }, 25*aa1bd892SJin Yao { 26*aa1bd892SJin Yao "BriefDescription": "Counts the number of BACLEARS due to an indirect branch.", 27*aa1bd892SJin Yao "CollectPEBSRecord": "2", 28*aa1bd892SJin Yao "Counter": "0,1,2,3", 29*aa1bd892SJin Yao "EventCode": "0xe6", 30*aa1bd892SJin Yao "EventName": "BACLEARS.INDIRECT", 31*aa1bd892SJin Yao "PDIR_COUNTER": "na", 32*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 33*aa1bd892SJin Yao "SampleAfterValue": "200003", 34*aa1bd892SJin Yao "UMask": "0x2" 35*aa1bd892SJin Yao }, 36*aa1bd892SJin Yao { 37*aa1bd892SJin Yao "BriefDescription": "Counts the number of BACLEARS due to a return branch.", 38*aa1bd892SJin Yao "CollectPEBSRecord": "2", 39*aa1bd892SJin Yao "Counter": "0,1,2,3", 40*aa1bd892SJin Yao "EventCode": "0xe6", 41*aa1bd892SJin Yao "EventName": "BACLEARS.RETURN", 42*aa1bd892SJin Yao "PDIR_COUNTER": "na", 43*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 44*aa1bd892SJin Yao "SampleAfterValue": "200003", 45*aa1bd892SJin Yao "UMask": "0x8" 46*aa1bd892SJin Yao }, 47*aa1bd892SJin Yao { 48*aa1bd892SJin Yao "BriefDescription": "Counts the number of BACLEARS due to a non-indirect, non-conditional jump.", 49*aa1bd892SJin Yao "CollectPEBSRecord": "2", 50*aa1bd892SJin Yao "Counter": "0,1,2,3", 51*aa1bd892SJin Yao "EventCode": "0xe6", 52*aa1bd892SJin Yao "EventName": "BACLEARS.UNCOND", 53*aa1bd892SJin Yao "PDIR_COUNTER": "na", 54*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 55*aa1bd892SJin Yao "SampleAfterValue": "200003", 56*aa1bd892SJin Yao "UMask": "0x4" 57*aa1bd892SJin Yao }, 58*aa1bd892SJin Yao { 59*aa1bd892SJin Yao "BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.", 60*aa1bd892SJin Yao "CollectPEBSRecord": "2", 61*aa1bd892SJin Yao "Counter": "0,1,2,3", 62*aa1bd892SJin Yao "EventCode": "0xe9", 63*aa1bd892SJin Yao "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG", 64*aa1bd892SJin Yao "PDIR_COUNTER": "na", 65*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 66*aa1bd892SJin Yao "SampleAfterValue": "200003", 67*aa1bd892SJin Yao "UMask": "0x1" 68*aa1bd892SJin Yao }, 69*aa1bd892SJin Yao { 70*aa1bd892SJin Yao "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.", 71*aa1bd892SJin Yao "CollectPEBSRecord": "2", 72*aa1bd892SJin Yao "Counter": "0,1,2,3", 73*aa1bd892SJin Yao "EventCode": "0x80", 74*aa1bd892SJin Yao "EventName": "ICACHE.ACCESSES", 75*aa1bd892SJin Yao "PDIR_COUNTER": "na", 76*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 77*aa1bd892SJin Yao "PublicDescription": "Counts the total number of requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line or byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.", 78*aa1bd892SJin Yao "SampleAfterValue": "200003", 79*aa1bd892SJin Yao "UMask": "0x3" 80*aa1bd892SJin Yao }, 81*aa1bd892SJin Yao { 82*aa1bd892SJin Yao "BriefDescription": "Counts the number of instruction cache misses.", 83*aa1bd892SJin Yao "CollectPEBSRecord": "2", 84*aa1bd892SJin Yao "Counter": "0,1,2,3", 85*aa1bd892SJin Yao "EventCode": "0x80", 86*aa1bd892SJin Yao "EventName": "ICACHE.MISSES", 87*aa1bd892SJin Yao "PDIR_COUNTER": "na", 88*aa1bd892SJin Yao "PEBScounters": "0,1,2,3", 89*aa1bd892SJin Yao "PublicDescription": "Counts the number of missed requests to the instruction cache. The event only counts new cache line accesses, so that multiple back to back fetches to the exact same cache line and byte chunk count as one. Specifically, the event counts when accesses from sequential code crosses the cache line boundary, or when a branch target is moved to a new line or to a non-sequential byte chunk of the same line.", 90*aa1bd892SJin Yao "SampleAfterValue": "200003", 91*aa1bd892SJin Yao "UMask": "0x2" 92*aa1bd892SJin Yao } 93*aa1bd892SJin Yao]