BRANCH PREDICTION FOR INDIRECT BRANCH INSTRUCTIONS
First Claim
1. A system, comprising a processor to:
- detect a first register setting instruction in an instruction pipeline of the processor, wherein the first register setting instruction stores a target instruction address in a first register of the processor;
look up the first register setting instruction in a first table;
based on there being a hit for the first register setting instruction in the first table, determine instruction address data corresponding to a first indirect branch instruction that is associated with the first register setting instruction in a first entry in the first table; and
update a branch prediction for the first indirect branch instruction in a branch prediction logic of the processor based on the target instruction address.
1 Assignment
0 Petitions
Accused Products
Abstract
Examples of techniques for branch prediction for indirect branch instructions are described herein. An aspect includes detecting a first register setting instruction in an instruction pipeline of a processor, wherein the first register setting instruction stores a target instruction address in a first register of the processor. Another aspect includes looking up the first register setting instruction in a first table. Another aspect includes, based on there being a hit for the first register setting instruction in the first table, determining instruction address data corresponding to a first indirect branch instruction that is associated with the first register setting instruction in a first entry in the first table. Another aspect includes updating a branch prediction for the first indirect branch instruction in a branch prediction logic of the processor based on the target instruction address.
-
Citations
20 Claims
-
1. A system, comprising a processor to:
-
detect a first register setting instruction in an instruction pipeline of the processor, wherein the first register setting instruction stores a target instruction address in a first register of the processor; look up the first register setting instruction in a first table; based on there being a hit for the first register setting instruction in the first table, determine instruction address data corresponding to a first indirect branch instruction that is associated with the first register setting instruction in a first entry in the first table; and update a branch prediction for the first indirect branch instruction in a branch prediction logic of the processor based on the target instruction address. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method, comprising:
-
detecting a first register setting instruction in an instruction pipeline of a processor, wherein the first register setting instruction stores a target instruction address in a first register of the processor; looking up the first register setting instruction in a first table; based on there being a hit for the first register setting instruction in the first table, determining instruction address data corresponding to a first indirect branch instruction that is associated with the first register setting instruction in a first entry in the first table; and updating a branch prediction for the first indirect branch instruction in a branch prediction logic of the processor based on the target instruction address. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An apparatus, comprising hardware logic configured to:
-
detect a first register setting instruction in an instruction pipeline of a processor, wherein the first register setting instruction stores a target instruction address in a first register of the processor; look up the first register setting instruction in a first table; based on there being a hit for the first register setting instruction in the first table, determine instruction address data corresponding to a first indirect branch instruction that is associated with the first register setting instruction in a first entry in the first table; and update a branch prediction for the first indirect branch instruction in a branch prediction logic of the processor based on the target instruction address. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification