NCG: Do more efficient comparisons against zero.
case (y# <# 0#) of neg -> ...
I would expect that kind of pattern to not be rare.
Currently this compiles to this assembly:
testq %rsi,%rsi setl %al movzbl %al,%eax
And he suggestes we should generate something like this instead:
rolq $1,%eax and %eax,$1