tg at gmplib.org
Fri Apr 12 19:30:42 CEST 2013
David Miller <davem at davemloft.net> writes:
It isn't really conditional execution on sparc, the resources and
timing required for the "move" instruction are constant whether the
condition matches or not.
That's not enough.
It needs to have the same data-dependency behaviour too.
And it needs to be a documented feature, since it is easy to imagine an
implementation which does create different data-dependency behaviour,
even if all current ones do not.
Using carry seems safer. Of course, it is conceivable that a
carry-dependent instruction could run diffferently depending on the
value of the carry flag, but that'd be quite strange.
(For generic sparc64 code, we should perhaps avoid movXX for other
reasons too, since it interacts poorly with loads on US1-2, IIRC.)
More information about the gmp-devel