Re[4]: Как обойти strict aliasing rule?
От: Eeel Россия  
Дата: 18.06.16 11:52
Оценка: 5 (1)
Здравствуйте, 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
Отредактировано 27.06.2016 18:06 S. Schlongberg . Предыдущая версия . Еще …
Отредактировано 21.06.2016 16:20 S. Schlongberg . Предыдущая версия .
Отредактировано 21.06.2016 9:53 S. Schlongberg . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.