https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118213
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|unknown |15.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- You need to dive into IVOPTs details why it thinks this is better - it works fine on x86_64: .L3: movzbl (%rsi,%rax), %r8d cmpb %r8b, (%rdi,%rax) jne .L6 addq $1, %rax .L2: cmpl %eax, %ecx jne .L3