The second strategy of McFarling is to combine multiple separate branch predictors, each tuned to a different class of branches.
Two or more predictors and a predictor selection mechanism are necessary in a combining or hybrid predictor.
- McFarling: combination of two-bit predictor and gshare two-level adaptive,
- Young and Smith: a compiler-based static branch prediction with a two-level adaptive type,
- and many more combinations!
Hybrid predictors often better than single-type predictors.