Intel 64 and IA-32 Architectures Software Developers Manual Volume 3B, System Programming Guide Part 2

Table Of Contents
A-82 Vol. 3
PERFORMANCE-MONITORING EVENTS
The slow decoder is used in the following
cases:
operand override prefix (66H)
preceding an instruction with
immediate data
address override prefix (67H) preceding
an instruction with a modr/m in real, big
real, 16-bit protected or 32-bit
protected modes
To avoid instruction length decoding stalls,
generate code using imm8 or imm32
values instead of imm16 values. If you
must use an imm16 value, store the value
in a register using “mov reg, imm32” and
use the register format of the instruction.
88H 00H BR_INST_EXEC Branch
instructions
executed
This event counts all executed branches
(not necessarily retired). This includes only
instructions and not micro-op branches.
Frequent branching is not necessarily a
major performance issue. However
frequent branch mispredictions may be a
problem.
89H 00H BR_MISSP_EXEC Mispredicted
branch
instructions
executed
This event counts the number of
mispredicted branch instructions that
were executed.
8AH 00H BR_BAC_
MISSP_EXEC
Branch
instructions
mispredicted at
decoding
This event counts the number of branch
instructions that were mispredicted at
decoding.
8BH 00H BR_CND_EXEC Conditional
branch
instructions
executed.
This event counts the number of
conditional branch instructions executed,
but not necessarily retired.
8CH 00H BR_CND_
MISSP_EXEC
Mispredicted
conditional
branch
instructions
executed
This event counts the number of
mispredicted conditional branch
instructions that were executed.
Table A-6. Non-Architectural Performance Events
in Processors Based on Intel Core Microarchitecture (Contd.)
Event
Num
Umask
Value Event Name Definition
Description and
Comment