http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58553
--- Comment #4 from Jeffrey A. Law <law at redhat dot com> --- Andrew. Yes it does. I've never looked at the ldist code, but the dump seems a bit strange: Analyzing # of iterations of loop 3 exit condition [1, + , 1](no_overflow) != 96 bounds on difference of bases: 95 ... 95 result: # of iterations 95, bounded by 95 __builtin_memset (&MEM[(void *)&u1 + 1B], 97, 96); So it determined the right iteration count but mucked up the count in the call to memset ?!? Weird