111e54d35SHaiyan Song[ 211e54d35SHaiyan Song { 3be5764c4SIan Rogers "BriefDescription": "Counts the total number of BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.", 47c79eb5cSIan Rogers "Counter": "0,1,2,3", 5be5764c4SIan Rogers "EventCode": "0xe6", 6be5764c4SIan Rogers "EventName": "BACLEARS.ANY", 7be5764c4SIan Rogers "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.", 811e54d35SHaiyan Song "SampleAfterValue": "200003", 9be5764c4SIan Rogers "UMask": "0x1" 1011e54d35SHaiyan Song }, 1111e54d35SHaiyan Song { 12be5764c4SIan Rogers "BriefDescription": "Counts the number of BACLEARS due to a conditional jump.", 137c79eb5cSIan Rogers "Counter": "0,1,2,3", 14be5764c4SIan Rogers "EventCode": "0xe6", 15be5764c4SIan Rogers "EventName": "BACLEARS.COND", 16be5764c4SIan Rogers "SampleAfterValue": "200003", 17be5764c4SIan Rogers "UMask": "0x10" 18be5764c4SIan Rogers }, 19be5764c4SIan Rogers { 20be5764c4SIan Rogers "BriefDescription": "Counts the number of BACLEARS due to an indirect branch.", 217c79eb5cSIan Rogers "Counter": "0,1,2,3", 22be5764c4SIan Rogers "EventCode": "0xe6", 23be5764c4SIan Rogers "EventName": "BACLEARS.INDIRECT", 24be5764c4SIan Rogers "SampleAfterValue": "200003", 25be5764c4SIan Rogers "UMask": "0x2" 26be5764c4SIan Rogers }, 27be5764c4SIan Rogers { 28be5764c4SIan Rogers "BriefDescription": "Counts the number of BACLEARS due to a return branch.", 297c79eb5cSIan Rogers "Counter": "0,1,2,3", 30be5764c4SIan Rogers "EventCode": "0xe6", 31be5764c4SIan Rogers "EventName": "BACLEARS.RETURN", 32be5764c4SIan Rogers "SampleAfterValue": "200003", 33be5764c4SIan Rogers "UMask": "0x8" 34be5764c4SIan Rogers }, 35be5764c4SIan Rogers { 36be5764c4SIan Rogers "BriefDescription": "Counts the number of BACLEARS due to a direct, unconditional jump.", 377c79eb5cSIan Rogers "Counter": "0,1,2,3", 38be5764c4SIan Rogers "EventCode": "0xe6", 39be5764c4SIan Rogers "EventName": "BACLEARS.UNCOND", 40be5764c4SIan Rogers "SampleAfterValue": "200003", 41be5764c4SIan Rogers "UMask": "0x4" 42be5764c4SIan Rogers }, 43be5764c4SIan Rogers { 44be5764c4SIan Rogers "BriefDescription": "Counts the number of times a decode restriction reduces the decode throughput due to wrong instruction length prediction.", 457c79eb5cSIan Rogers "Counter": "0,1,2,3", 46be5764c4SIan Rogers "EventCode": "0xe9", 47be5764c4SIan Rogers "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG", 48be5764c4SIan Rogers "SampleAfterValue": "200003", 49be5764c4SIan Rogers "UMask": "0x1" 50be5764c4SIan Rogers }, 51be5764c4SIan Rogers { 52be5764c4SIan Rogers "BriefDescription": "Counts the number of requests to the instruction cache for one or more bytes of a cache line.", 537c79eb5cSIan Rogers "Counter": "0,1,2,3", 54be5764c4SIan Rogers "EventCode": "0x80", 5511e54d35SHaiyan Song "EventName": "ICACHE.ACCESSES", 56be5764c4SIan Rogers "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.", 5711e54d35SHaiyan Song "SampleAfterValue": "200003", 58be5764c4SIan Rogers "UMask": "0x3" 59be5764c4SIan Rogers }, 60be5764c4SIan Rogers { 61be5764c4SIan Rogers "BriefDescription": "Counts the number of instruction cache hits.", 627c79eb5cSIan Rogers "Counter": "0,1,2,3", 63be5764c4SIan Rogers "EventCode": "0x80", 64be5764c4SIan Rogers "EventName": "ICACHE.HIT", 65be5764c4SIan Rogers "PublicDescription": "Counts the number of requests that hit in 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.", 66be5764c4SIan Rogers "SampleAfterValue": "200003", 67be5764c4SIan Rogers "UMask": "0x1" 68be5764c4SIan Rogers }, 69be5764c4SIan Rogers { 70be5764c4SIan Rogers "BriefDescription": "Counts the number of instruction cache misses.", 717c79eb5cSIan Rogers "Counter": "0,1,2,3", 72be5764c4SIan Rogers "EventCode": "0x80", 73be5764c4SIan Rogers "EventName": "ICACHE.MISSES", 74be5764c4SIan Rogers "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.", 75be5764c4SIan Rogers "SampleAfterValue": "200003", 76be5764c4SIan Rogers "UMask": "0x2" 7711e54d35SHaiyan Song } 7811e54d35SHaiyan Song] 79