By: Michael S (already5chosen.delete@this.yahoo.com), August 19, 2016 9:26 am
Room: Moderated Discussions
Maynard Handley (name99.delete@this.name99.org) on August 19, 2016 8:41 am wrote:
>
> WTF do you (Farnsworth) insist on misrepresenting what I said? What value is there in this?
>
It's me, not Simon.
> Did I talk about "extensive use of branch avoidance techniques"?
Yes. Anything less than extensive use, wouldn't have measurable effect on average density of branches in instruction stream.
> Or did I suggest exactly what Ricardo B is talking about --- extremely short instruction sequences
> using csel/cmov to avoid likely unpredictable (because data-dependent) branches? Basically use csel/cmov
> when the point of the branch is value calculation rather than control redirection?
>
Even for short unpredictable sequences branch avoidance can be sometimes counterproductive, specifically, when one of the inputs is a result of long dependency chain.
With unpredictable branch you still have 50% chance of taking right path.
I don't say that branch avoidance shell never be used, but that it shell be used with extreme care.
In specific case presented by Ricardo, I can't say for sure, but would guess that it's a bad idea, because saturation tends to be predictable.
>
> WTF do you (Farnsworth) insist on misrepresenting what I said? What value is there in this?
>
It's me, not Simon.
> Did I talk about "extensive use of branch avoidance techniques"?
Yes. Anything less than extensive use, wouldn't have measurable effect on average density of branches in instruction stream.
> Or did I suggest exactly what Ricardo B is talking about --- extremely short instruction sequences
> using csel/cmov to avoid likely unpredictable (because data-dependent) branches? Basically use csel/cmov
> when the point of the branch is value calculation rather than control redirection?
>
Even for short unpredictable sequences branch avoidance can be sometimes counterproductive, specifically, when one of the inputs is a result of long dependency chain.
With unpredictable branch you still have 50% chance of taking right path.
I don't say that branch avoidance shell never be used, but that it shell be used with extreme care.
In specific case presented by Ricardo, I can't say for sure, but would guess that it's a bad idea, because saturation tends to be predictable.