Benchmarking isDigit

It appears to be keeping the loop, but optimizing the actual workload away. I had to make some changes to make it run on godbold with a main, but it is:

opr:
        mov     eax, 1000000000
        mov     cl, 1
.LBB2_1:
        dec     rax
        jne     .LBB2_1
        mov     al, 1
        ret

But it still is just consantly folding the function away because it knows the static input.

There is two parts to it: stop the output from being thrown away (the copy sent to DNO should work, but I’m not sure it does in all cases), and prevent the function from being constant folded and doing part of the workload at compile time. That I sdon’t see how DNO prevents.