Better tabselect

David Miller davem at
Fri Apr 12 19:42:51 CEST 2013

From: Torbjorn Granlund <tg at>
Date: Fri, 12 Apr 2013 19:30:42 +0200

> David Miller <davem at> 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 mailing list