Информация об изменениях

Сообщение Re[4]: Как обойти strict aliasing rule? от 18.06.2016 11:52

Изменено 21.06.2016 9:53 S. Schlongberg

Здравствуйте, Erop, Вы писали:

E>Ну, например
a + b - (1<<32)&((a+b)^~(a^b))
И пусть себе там компилятор разбирается, как оптимизировать?


MSVC 2015 Update 2, похоже, не разобрался, а просто дубово выполняет битовые операции.

    mov    rax, QWORD PTR [rcx]
    lea    rcx, QWORD PTR [rax+rdx]
    xor    rax, rdx
    not    rax
    xor    rax, rcx
    and    rax, rcx
    ret    0