Patent ID: 8082428

Claim:
A method comprising: processing two or more predicted branch instructions, each predicted branch instruction having a predicted state and a corrected state, the two or more predicted branch instructions entering a resolution stage including lower pipelines, wherein a first of the predicted branch instructions is in a first of the lower pipelines and a second of the predicted branch instructions is in a second of the lower pipelines, wherein the first of the lower pipelines and the second of the lower pipelines each include an execution unit; selecting a selected corrected state associated with the first of the predicted branch instructions; determining that at least one of the two or more predicted branch instructions has mispredicted; in response to determining that the at least one of the two or more predicted branch instructions has mispredicted: performing a first flush of a common pipeline; and initiating a first instruction fetch in the common pipeline based on the selected corrected state; after initiating the first instruction fetch, determining whether the corrected state of an oldest predicted branch instruction that has mispredicted corresponds to the selected corrected state; and when the corrected state of the oldest predicted branch instruction that has mispredicted does not correspond to the selected corrected state: performing a second flush of the common pipeline to flush instructions obtained in response to the first instruction fetch; and initiating a second instruction fetch in the common pipeline based on the corrected state of the oldest predicted branch instruction that has mispredicted.