Re:What I learned from my first C coding challenge
by exDM69 on Tuesday September 04, 2012 @05:06PM
(#4476529)
> The compiler optimizing out the loop completely is one of the reasons why I didn't turn on optimizations here
Use a non-constant value for the loop and put a dummy load inside to stop compiler from doing loop unrolling and/or dead code elimination.
I often use time(), rand() or even argc to get dummy values when looking at assembly from compiler optimizations.
That said, it's very likely that the compiler will make sense of such an optimization and produce the quicker assembly code like you just wrote it.
What I wanted to say with my post was really that things like these are heavily depended on architecture and that comparisons could be optimized in hardware.