Patent ID: 9477478
Filing Date: 2016-10-25
CPC Classification: G06F

Claim Text:
1. A method for predicting simple and polymorphic branch instructions, comprising: detecting that a program instruction is an indirect branch instruction; determining whether a program counter for the indirect branch instruction is stored in a program counter filter; based on the program counter not being stored in the program counter filter and being stored in a first level predictor, retrieving a predicted target for the indirect branch instruction from the first level predictor; and based on the program counter being stored in the program counter filter, accessing a second level predictor with the program counter and a global history for the indirect branch instruction as a tag to determine whether there is a predicted target for the indirect branch instruction, and setting a program counter filter hit bit in the indirect branch instruction, wherein the indirect branch instruction carries the program counter filter hit bit down an instruction pipeline to indicate that the indirect branch instruction should not be allocated in the first level predictor when the indirect branch instruction is retired.