11b097845SAndi Kleen[ 21b097845SAndi Kleen { 3a2f6001bSIan Rogers "BriefDescription": "Counts the number of baclears", 4caccae3cSIan Rogers "Counter": "0,1", 5a2f6001bSIan Rogers "EventCode": "0xE6", 6a2f6001bSIan Rogers "EventName": "BACLEARS.ALL", 7a2f6001bSIan Rogers "PublicDescription": "The BACLEARS event counts the number of times the front end is resteered, mainly when the Branch Prediction Unit cannot provide a correct prediction and this is corrected by the Branch Address Calculator at the front end. The BACLEARS.ANY event counts the number of baclears for any type of branch.", 81b097845SAndi Kleen "SampleAfterValue": "200003", 9a2f6001bSIan Rogers "UMask": "0x1" 101b097845SAndi Kleen }, 111b097845SAndi Kleen { 12a2f6001bSIan Rogers "BriefDescription": "Counts the number of JCC baclears", 13caccae3cSIan Rogers "Counter": "0,1", 14a2f6001bSIan Rogers "EventCode": "0xE6", 15a2f6001bSIan Rogers "EventName": "BACLEARS.COND", 16c3fdd79dSIan Rogers "PublicDescription": "The BACLEARS event counts the number of times the front end is resteered, mainly when the Branch Prediction Unit cannot provide a correct prediction and this is corrected by the Branch Address Calculator at the front end. The BACLEARS.COND event counts the number of JCC (Jump on Conditional Code) baclears.", 171b097845SAndi Kleen "SampleAfterValue": "200003", 18a2f6001bSIan Rogers "UMask": "0x10" 191b097845SAndi Kleen }, 201b097845SAndi Kleen { 21a2f6001bSIan Rogers "BriefDescription": "Counts the number of RETURN baclears", 22caccae3cSIan Rogers "Counter": "0,1", 23a2f6001bSIan Rogers "EventCode": "0xE6", 24a2f6001bSIan Rogers "EventName": "BACLEARS.RETURN", 25a2f6001bSIan Rogers "PublicDescription": "The BACLEARS event counts the number of times the front end is resteered, mainly when the Branch Prediction Unit cannot provide a correct prediction and this is corrected by the Branch Address Calculator at the front end. The BACLEARS.RETURN event counts the number of RETURN baclears.", 261b097845SAndi Kleen "SampleAfterValue": "200003", 27a2f6001bSIan Rogers "UMask": "0x8" 281b097845SAndi Kleen }, 291b097845SAndi Kleen { 30a2f6001bSIan Rogers "BriefDescription": "Counts the number of times a decode restriction reduced the decode throughput due to wrong instruction length prediction", 31caccae3cSIan Rogers "Counter": "0,1", 321b097845SAndi Kleen "EventCode": "0xE9", 331b097845SAndi Kleen "EventName": "DECODE_RESTRICTION.PREDECODE_WRONG", 34a2f6001bSIan Rogers "PublicDescription": "Counts the number of times a decode restriction reduced the decode throughput due to wrong instruction length prediction.", 351b097845SAndi Kleen "SampleAfterValue": "200003", 36a2f6001bSIan Rogers "UMask": "0x1" 37a2f6001bSIan Rogers }, 38a2f6001bSIan Rogers { 39a2f6001bSIan Rogers "BriefDescription": "Instruction fetches", 40caccae3cSIan Rogers "Counter": "0,1", 41a2f6001bSIan Rogers "EventCode": "0x80", 42a2f6001bSIan Rogers "EventName": "ICACHE.ACCESSES", 43a2f6001bSIan Rogers "PublicDescription": "This event counts all instruction fetches, not including most uncacheable\r\nfetches.", 44a2f6001bSIan Rogers "SampleAfterValue": "200003", 45a2f6001bSIan Rogers "UMask": "0x3" 46a2f6001bSIan Rogers }, 47a2f6001bSIan Rogers { 48a2f6001bSIan Rogers "BriefDescription": "Instruction fetches from Icache", 49caccae3cSIan Rogers "Counter": "0,1", 50a2f6001bSIan Rogers "EventCode": "0x80", 51a2f6001bSIan Rogers "EventName": "ICACHE.HIT", 52a2f6001bSIan Rogers "PublicDescription": "This event counts all instruction fetches from the instruction cache.", 53a2f6001bSIan Rogers "SampleAfterValue": "200003", 54a2f6001bSIan Rogers "UMask": "0x1" 55a2f6001bSIan Rogers }, 56a2f6001bSIan Rogers { 57a2f6001bSIan Rogers "BriefDescription": "Icache miss", 58caccae3cSIan Rogers "Counter": "0,1", 59a2f6001bSIan Rogers "EventCode": "0x80", 60a2f6001bSIan Rogers "EventName": "ICACHE.MISSES", 61a2f6001bSIan Rogers "PublicDescription": "This event counts all instruction fetches that miss the Instruction cache or produce memory requests. This includes uncacheable fetches. An instruction fetch miss is counted only once and not once for every cycle it is outstanding.", 62a2f6001bSIan Rogers "SampleAfterValue": "200003", 63a2f6001bSIan Rogers "UMask": "0x2" 64a2f6001bSIan Rogers }, 65a2f6001bSIan Rogers { 66a2f6001bSIan Rogers "BriefDescription": "Counts the number of times entered into a ucode flow in the FEC. Includes inserted flows due to front-end detected faults or assists. Speculative count.", 67caccae3cSIan Rogers "Counter": "0,1", 68a2f6001bSIan Rogers "EventCode": "0xE7", 69a2f6001bSIan Rogers "EventName": "MS_DECODED.MS_ENTRY", 70a2f6001bSIan Rogers "PublicDescription": "Counts the number of times the MSROM starts a flow of UOPS. It does not count every time a UOP is read from the microcode ROM. The most common case that this counts is when a micro-coded instruction is encountered by the front end of the machine. Other cases include when an instruction encounters a fault, trap, or microcode assist of any sort. The event will count MSROM startups for UOPS that are speculative, and subsequently cleared by branch mispredict or machine clear. Background: UOPS are produced by two mechanisms. Either they are generated by hardware that decodes instructions into UOPS, or they are delivered by a ROM (called the MSROM) that holds UOPS associated with a specific instruction. MSROM UOPS might also be delivered in response to some condition such as a fault or other exceptional condition. This event is an excellent mechanism for detecting instructions that require the use of MSROM instructions.", 71a2f6001bSIan Rogers "SampleAfterValue": "200003", 72a2f6001bSIan Rogers "UMask": "0x1" 731b097845SAndi Kleen } 741b097845SAndi Kleen] 75