Каков наилучший/самый быстрый способ загрузки 64-разрядного целочисленного значения в регистр xmm
SSE2 в 32-битном режиме?
В 64-битном режиме может использоваться cvtsi2sd
, но в 32-битном режиме он поддерживает только 32-разрядные целые числа.
До сих пор я не нашел много чего:
- используйте
fild
,fstp
для стека, затемmovsd
вxmm
register - загрузите 32-разрядную часть с высоким значением, умножьте на 2 ^ 32, добавьте 32-разрядный минимум
Первое решение медленное, второе решение может привести к прецизионным потерям (edit:), и в любом случае он медленный, так как низкий 32-разрядный бит должен быть преобразован как без знака...)
Любой лучший подход?