I would like to measure the number of branch mispredictions (not specific to indirect/cond/ret etc). Do I understand the following two event counters correctly:
This will tell me exactly how many branch mispredictions occurred? (Probably the event counter I am really looking for)
This will tell me how many instructions were executed/retired from a branch which was later determined to be mispredicted?
Do I have those correct? A BACLEAR signal is sent by the front-end to clear the pipeline when an execution unit detects a branch was mispredicted? Therefore BACLEARS.ANY will tell me how many branch mispredictions?