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

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

Изменено 27.06.2016 18:06 S. Schlongberg

Re[4]: Как обойти strict aliasing rule?
Здравствуйте, 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