A microprocessor for predicting return instruction target addresses is
disclosed. A branch target address cache stores a plurality of target
address predictions and a corresponding plurality of override indicators
for a corresponding plurality of return instructions, and provides a
prediction of the target address of the return instruction from the
target address predictions and provides a corresponding override
indicator from the override indicators. Each has a true value when the
return stack has mispredicted the target address of the corresponding
return instruction for a most recent execution of the return instruction.
A return stack also provides a prediction of the target address of the
return instruction. Branch control logic causes the microprocessor to
branch to the prediction of the target address provided by the BTAC, and
not to the prediction of the target address provided by the return stack,
when the override indicator is a true value.