davem at davemloft.net
Fri Apr 12 19:42:51 CEST 2013
From: Torbjorn Granlund <tg at gmplib.org>
Date: Fri, 12 Apr 2013 19:30:42 +0200
> 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.
Even on a pipeline that dynamically renames the condition codes?
You know, something we've never seen before :-)
> (For generic sparc64 code, we should perhaps avoid movXX for other
> reasons too, since it interacts poorly with loads on US1-2, IIRC.)
Now that's a more solid reason to avoid movcc.
More information about the gmp-devel