Branch prediction circuitry including a bimodal branch history table, a fetch-based
branch history table and a selector table is provided. The local branch history
table includes a plurality of entries each for storing a prediction value and accessed
by selected bits of a branch address. The fetch-based branch history table included
a plurality of entries for storing a prediction value and accessed by a pointer
generated from selected bits of the branch address and bits from a history register.
The selector table includes a plurality of entries each for storing a selection
bit and accessed by a pointer generated from selected bits from the branch address
and bits from the history register, each selector bit is used for selecting between
a prediction value accessed from the local history table and a prediction value
accessed from the fetch-based history table.