Well, on a principle level, the performance-counted evens should provide a reliable means to get the total count of predicted branches – that is a fundamental metric. Otherwise essential profiling metrics such as the ratio of mispredicted_branches / total_predicted_branches become non-computable.
I have not given up on the idea that BR_PRED & BR_MIS_PRED could be used as the principal means to get that branch prediction rate, but I am missing all necessary factors to get a reliable computation. In that simple test the BR_MIS_PRED / (BR_PRED - BR_MIS_PRED) formula yields an error of 20 / (96 – 20) / 0.25 = 5% error (0.25 is the correct misprediction rate for that test). That is better than taking the unmodified count from BR_PRED, i.e. BR_MIS_PRED / BR_PRED, which yields an error of 20 / 96 / 0.25 = 17% error. But even 5% is too much for effective performance tuning where %5 could be the entire gain from a given optimisation.
Order your ESPRESSObin on:
Technical specification tables can not be displayed on mobile. Please view on desktop