HP Caliper User's Guide
brpred Event Set
The brpred event set provides information useful in assessing the effectiveness of
branch prediction for the three major classes of branches: IPREL, Indirect, and Return.
The Itanium 2's branch semantics considers predicated off branches as retired untaken
branches. So the branch statistics include the impact of predicated off branches that
were predicated to be a taken branch. For each branch class (IPREL, Indirect, and
Return), the frequency weight, percentage of correct, wrong path, and wrong target
prediction outcomes is provided. The weight is the fractional part of each prediction
outcome for each branch category that applies to the overall branch prediction statistics.
If you use this event set, the default is to make the measurements irrespective of CPU
operating state (that is, user, system, or interrupt states). By default, the idle state is
not included in the measurement. You can use command-line options to limit the scope
of the measurement. Specifically, you can:
• Limit measurement to a specific privilege level: -m
event_set[:all|user|kernel]
• Include idle: --exclude-idle False
• Exclude the interruption state: --measure-on-interrupts off
• Only measure the interruption state: --measure-on-interrupts only
Metrics Available from this Measurement
The following metrics are available from this event set. These descriptions do not take
into account any command-line options you might use.
The metrics are:
• Overall
This metric provides the branch prediction outcome breakdown (correct, wrong
path, wrong target) for all branches irrespective of the branch type. Predicated off
branches that were predicted as taken will be counted as wrong path branch
outcomes.
— Correct
Percentage of correctly predicted branches (all types).
— Wrong Path
Percentage of branches (all types) for which the target path (taken/not-taken)
was predicted incorrectly.
— Wrong Target
Percentage of branches (all types) for which the target address was predicted
incorrectly.
• IPREL
This metric provides the branch prediction outcome breakdown (correct, wrong
path, wrong target for IPREL branches. This includes both call and non-call IPREL
302 Event Set Descriptions for CPU Metrics