3

最小のクロックサイクル数で、YMMレジスタの下位64ビットを定数に設定するにはどうすればよいですか?SSE命令とAVX命令を使用してこれを行うことができるさまざまな方法を知っていますが、VBROADCASTSDどちらの方法で最良の結果が得られるかはわかりません。

編集:64ビット部分を設定した後も完全なYMMレジスタを使用する必要があります。

ご協力いただきありがとうございます!

4

1 に答える 1

7

最下位の64ビットのみを設定する必要があり、他のYMMビットが重要でない場合は、を使用しますVMOVQ

YMMレジスタの他のビットを保持する必要がある場合、最も効率的な方法はを使用することVBLENDPDです。または、で下位64ビットをクリアしてVANDPDから、で定数をロードすることもできますVORPD

AVX2では、他の方法でそれを実行できます:VPMASKMOVDまたはVPBLENDD(ただし、どのプロセッサでもまだサポートされていません)。

于 2012-03-03T13:36:59.950 に答える