On Mon, Jan 8, 2018 at 8:13 PM, Linus Torvalds
<[email protected]> wrote:
>
> # carry will be clear if idx >= max
> cmpq %idx,%max
Bah. Other way around.
cmpq %max,%idx
I'm a moron.
> # mask will be clear if carry was clear, ~0 otherwise
> sbbq %mask,%mask
>
> to generate mask directly. I might have screwed that up. Worth perhaps trying?
More importantly, worth _testing_ and fixing my hand-waving "asm like
this" crap.
But I do think that simple two-instruction cmpq/sbbq sequence could
get it right in just two trivial ALU instructions.
Linus