История изменений
Исправление 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
этого делать не будет.