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)
fpc-devel maillist  -  fpc-devel@lists.freepascal.org

Reply via email to