------- Comment #15 from steven at gcc dot gnu dot org 2009-12-30 16:39 ------- With "GCC: (GNU) 4.5.0 20091228 (experimental) [trunk revision 155486]" I get identical code at -O2 with and without -fno-ivopts for i686:
.L3: movl %ebx, (%ecx,%eax,4) addl $1, %eax cmpl %edx, %eax jb .L3 For x86_64 at -O2, there is still the extra mov. The extra mov is not there with -Os (with and without -fno-ivopts). Since the mov on x86_64 is essentially free, I consider this fixed for GCC 4.5.0. -- steven at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Known to work|3.4.6 |3.4.6 4.5.0 Summary|[4.3/4.4/4.5 regression] |[4.3/4.4 regression] code |code quality regression due |quality regression due to |to ivopts |ivopts http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27440