I would like to know how to write efficient conversion tables for x64 processors, either in C, C ++, or in an assembly. Input is known in advance, but it is impossible to predict algorithmically. Assuming that I can look as far forward as I want in the input stream, is there a way I can dynamically tell the processor that addresses the next branch to go?
Essentially, I would like to programmatically update the buffer of the destination buffer. But I would agree to everything that allowed me to avoid flushing the pipeline in those cases when I, the programmer, know in advance where the next branch is going, looking at the data, but the processor cannot determine this from previous models.
Understanding that this is a very specific question and that I probably could not correctly convey it, here are a few alternative phrases:
Is there an x64 equivalent for hbrTip for branching on a Cell processor?
Does it ever help to move an assembly cmpearlier than its conditional branch, as in Itanium?
Is the predicted indirect jump target ever based on a register value instead of the last address used?
Thank!
source
share