История изменений
Исправление
jpegqs,
(текущая версия)
:
У хаскеля получается такой код:
ecx = i, eax = end, ebx = r
1: cmp rcx, rax
je end
inc rcx
jmp 3f
2: add rbx, rcx
inc rcx
3: test cl, 1
jne 1b
cmp rcx, rax
jne 2b
end:
GCC 13 и выше на -O3 умудряется разанроллить на векторах. При -mno-sse этого делать не будет.
Исходная версия
jpegqs,
:
У хаскеля получается такой код:
ecx = i, eax = end, ebx = r
1: cmp rcx, rax
je end
inc rcx
jmp 3f
2: add rbx, rcx
inc rcx
3: test cl, 1
jne 1b
cmp rcx, rax
jne 2b
end:
GCC 13 и выше на -O3 умудряется разанроллинть на векторах. При -mno-sse этого делать не будет.