On Fri, 15 Sep 2017, Wilco Dijkstra wrote:

Marc Glisse wrote:

The question is whether, having computed c=a/b, it is cheaper to test a<b or 
c!=0.
I think it is usually the second one, but not for all types on all targets. 
Although since
you mention VRP, it is easier to do further optimizations using the information 
a<b.

No, a<b is always better. Division does have high latency and low throughput on
all modern cores, so rather than having to wait until the division finishes, 
you can
execute whatever depends on the comparison many cycles earlier.

Generally you want to avoid division as much as possible and when that fails
reduce any dependencies on the result of divisions.

This would indicate that we do not need to check for single-use, makes the patch simpler, thanks.
(let's ignore -Os)

--
Marc Glisse

Reply via email to