Hacker News new | ask | show | jobs
by rrrlasse 3959 days ago
The conditional move is the statement `low = v >= value ? low : other_low;` which either assigns `other_low` to `low` or does nothing.

And other_low is a variable, and not an arbitrary element of the list (which is a big difference with respect to cache), and it can also be seen from the assembly that it's stored in register. So there there is no "both cache lines" to fetch anything from.

1 comments

The conditional move still depends on both values taken from the array, via other variables.