2017-09-10 39 views
3

SSEレジスタの下位32ビットに32ビット整数をロードする方法は未定義ですが、C/C++ではどのようにしてロードするのですか?同じ効率でvmovd xmm0, eaxのようなものを意味します。組み込み用のC/C++組み込み関数VMOVD

+1

'vmovd = _mm_cvtsi32_si128'しかし、私はあなたがそれを知っていると思います、なぜそれは適切ではないでしょうか? – harold

+0

@harold、私はそれについて感謝しなかった! –

+3

インテルのintrinsicsガイドでは、最初のパラメータが 'int'または' int * 'である組み込み関数を見つけるために'(int')を検索することができます([sseタグwiki](https://stackoverflow.com/tagsを参照)/sse/info)を参照してください)また、 'movd'のイントリンシックスを検索するには、イントリンシックガイドまたはインテルのinsn refマニュアルを参照してください:http://felixcloutier.com/x86/MOVD:MOVQ.html –

答えて

4

おそらく、組み込みの_mm_cvtsi32_si128 (int a)を探しています。下位32ビットがコピーされます。上位ビットはゼロに設定されます。

関連する問題