Questions on Itanium Branch analysis

Questions on Itanium Branch analysis

I've beentrying to get a detailed analysis of the BE_FLUSH_BUBBLE counts on my Itanium application. VTUNE reports the following Samples counts:
BE_FLUSH_BUBBLE-ALL = 8064
BE_FLUSH_BUBBLE-BRU = 8064
BE_FLUSH_BUBBLE-XPN = 0
So far so good. This tells me that all the Back-end flush bubbles are due to mispredicted branches. But when I drill down into some branch analysis, I get:
BE_BR_MISPREDICTED_DETAIL-ANY = 0 !

Yes, zero! How is this possible? (shouldn't it be 8064?)

Also:
BR_MISPRED_DETAIL-ALL ALL_PRED = 5315
BR_MISPRED_DETAIL-ALL CORRECT_PRED = 4037
BR_MISPRED_DETAIL-ALL WRONG_PATH = 23
BR_MISPRED_DETAIL-ALL WRONG_TARGET = 1241

...and:
BR_MISPRED_DETAIL2-ALL = 0

According to the Itanium 2 Ref Manual for Software Dev & Optimization, the misprediction count should be equal to:

BR_MISPRED_DETAIL.[umask] - BR_MISPRED_DETAIL2.[umask]

...and I cant correlate these counts with the grand total of 8064 Flush Bubbles.

I would appreciate any help for my understanding of all this.
BE_FLUSH_BUBBLE-ALL = 8064
BE_FLUSH_BUBBLE-BRU = 8064
BE_FLUSH_BUBBLE-XPN = 0

1 post / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.