Depending on how you structure your loops, things can be optimized on how it hits the cache and reads contiguous memory addresses.
http://stackoverflow.com/questions/109710/likely-unlikely-ma...
Branch prediction isn't a GCC thing, it's a processor thing.
Observe this wonderful Stack Overflow question: http://stackoverflow.com/questions/11227809/why-is-processin...