------- Additional Comments From saurabh dot verma at codito dot com 2005-03-23 15:24 ------- Filed a patch on gcc-patches to fix this.
When optimizations are enabled, the arc backend generates a single instruction loop for such code. The loop count register is checked only at the end of the loop for termination, and so starting with a zero loop count, we have spurious code. The patch (http://gcc.gnu.org/ml/gcc-patches/2005-03/msg02171.html) fixes this problem. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8972