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

Table Of Contents
A-120 Vol. 3
PERFORMANCE-MONITORING EVENTS
Using the Profile-Guided Optimization (PGO)
features of the Intel® C++ compiler may help
reduce branch mispredictions. See the
compiler documentation for more information
on this feature.
To determine the branch misprediction ratio,
divide the BR_INST_RETIRED.MISPRED event
count by the number of
BR_INST_RETIRED.ANY event count. To
determine the number of mispredicted
branches per instruction, divide the number
of mispredicted branches by the
INST_RETIRED.ANY event count. To measure
the impact of the branch mispredictions use
the event
RESOURCE_STALLS.BR_MISS_CLEAR.
Tips
- See the optimization guide for tips on
reducing branch mispredictions.
- PGO's purpose is to have straight line code
for the most frequent execution paths,
reducing branches taken and increasing the
"basic block" size, possibly also reducing the
code footprint or working-set.
C6H 01H CYCLES_INT_M
ASKED.CYCLES_I
NT_MASKED
Cycles during
which interrupts
are disabled
This event counts the number of cycles
during which interrupts are disabled.
C6H 02H CYCLES_INT_M
ASKED.CYCLES_I
NT_PENDING_A
ND_MASKED
Cycles during
which interrupts
are pending and
disabled
This event counts the number of cycles
during which there are pending interrupts but
interrupts are disabled.
C7H 01H SIMD_INST_RET
IRED.PACKED_SI
NGLE
Retired
Streaming SIMD
Extensions
(SSE) packed-
single
instructions
This event counts the number of SSE packed-
single instructions retired.
Table A-7. Non-Architectural Performance Events for Intel Atom Processors
Event
Num.
Umask
Value Event Name Definition Description and Comment