[fpc-devel] Experimentation: "Branch stitching"

Martin Frb lazarus at mfriebe.de
Mon Nov 28 16:47:48 CET 2022


On 28/11/2022 16:37, Martin Frb via fpc-devel wrote:
>
> "11.3μop cache"

Apart from the qop cache there is the normal loading into the cache.

I must admit I am not sure on the exact workings, but wasn't there 
something like loading entire cachelines?  If that is so (not sure), 
then of course moving other code in between means potentially pushing 
the current code out of the same cache line?

Then the decision needs information which code is executed more 
often/likely.
(Also in that case I don't know if the conditional branch could be 
negated (be vs bne / bg <> ble ...) without affecting the branch 
predictor? (leaving the order, but dropping the the jmp).

Of course there may also be the question of the distance, and which jump 
/ conditional jump takes what byte size for the distance.... (Again I 
don't know)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20221128/9eeac713/attachment.htm>


More information about the fpc-devel mailing list