•Suppose we have two predictors, A and B
•Suppose A works well for some applications (for example those like go with dynamic but highly-correlated branches)
•Suppose B works well for highly biased branches
•A is best for some programs, B is best for others
•Idea: build a “selective” predictor to choose, for each branch, the predictor
with the best track record to date
•With care, we
can guarantee to do better than A or B separately
•At considerable expense!