xmm
32ビットモードでSSE2レジスタに64ビット整数値をロードするための最良/最速の方法は何ですか?
64ビットモードでcvtsi2sd
は使用できますが、32ビットモードでは32ビット整数のみをサポートします。
これまでのところ、私はそれ以上のものを見つけていません。
- を使用
fild
しfstp
てスタックし、次に登録movsd
しますxmm
- 上位32ビット部分をロードし、2 ^ 32を掛けて、下位32ビットを追加します
最初の解決策は遅く、2番目の解決策は精度の低下をもたらす可能性があります(編集:そして、下位32ビットを符号なしとして変換する必要があるため、とにかく遅いです...)
より良いアプローチはありますか?