¿Por qué agregar comentarios de ensamblado en línea causa un cambio tan radical en el código generado por GCC?

Entonces, tenía este código: constexpr unsigned N = 1000; void f1(char* sum, char* a, char* b) { for(int i = 0; i < N; ++i) { sum[i] = a[i] + b[i]; } } void f2(char* sum, char* a, char* b) { char* end = sum + N; while(sum != end) { *sum++ = *a++ + *b++; } } Quería ver el código que...