LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Смотрим intel64:

div2_signed:
        shr     eax, 31
        add     eax, edi
        sar     eax
div2_unsigned:
        shr     eax
Смотрим ARM64:
div2_signed:
        add     w0, w0, w0, lsr 31
        asr     w0, w0, 1
div2_unsigned:
        lsr     w0, w0, 1
И signed вообще исполнился по какой то причине быстрее на Quick C++ Benchmarks: https://quick-bench.com/q/AYTljjvAMSGnjnsEC7i_FQNk15g

Исходная версия MOPKOBKA, :

Смотрим intel64:

div2_signed:
        shr     eax, 31
        add     eax, edi
        sar     eax
div2_unsigned:
        shr     eax
Смотрим ARM64:
div2_signed:
        add     w0, w0, w0, lsr 31
        asr     w0, w0, 1
div2_unsigned:
        lsr     w0, w0, 1
А signed вообще исполнился по какой то причине быстрее на Quick C++ Benchmarks: https://quick-bench.com/q/AYTljjvAMSGnjnsEC7i_FQNk15g