Patent ID: 7725695

Claim:
An apparatus for processing data under control of a sequence of program instructions, said apparatus comprising: an instruction decoder configured to decode a plurality of differently encoded types of branch program instruction; a branch predictor configured to detect branch instructions within said sequence of program instructions and to predict whether a branch operation will result from a detected branch instruction; wherein said plurality of differently encoded types of branch program instruction includes at least one predicted type of branch instruction for which said branch predictor makes a prediction and at least one non-predicted type of branch instruction which provides the same functionality as one of said predicted type of branch instruction other than not being subject to prediction by said branch predictor, wherein said branch predictor includes a branch history buffer configured to store branch history data indicative for a given branch instruction of a predicted type of branch instruction of whether or not when previously encountered said given branch instruction did or did not result in a branch operation, said branch history predictor being configured to not store in and to not access the branch history buffer branch history data for branch instructions of a non-predicted type of branch instruction, and wherein said at least one non-predicted type of branch instruction includes a type of branch instruction which indicates a branch operation and a change of instruction set from an instruction set being executed to an instruction set that is not supported by the apparatus, said change of instruction set indication being re-purposed to indicate that said branch predictor should not be used for said type of branch instruction.