ムーブドゥプ

x86アセンブリプログラミング言語において、MOVDDUPは、第3世代ストリーミングSIMD拡張命令(SSE3)を搭載した最新のx86プロセッサで実行可能な特定のアクションの名称です。このアクションは、他の計算で使用するために、数値をプロセッサ内の一時領域にコピーする処理です。

具体的には、MOVDDUP により、1 つの倍精度浮動小数点ソースがXMMレジスタの下位半分と上位半分の両方にコピーされます。

使用法

オペコード F2 0F 12 /r
アセンブリ(Intel構文) MOVDDUP xmm1, xmm2/m64
アセンブリ(AT&T構文) MOVDDUP xmm2/m64, xmm1
ICC本質的等価物 __m128d _mm_movedup_pd(__m128d a)__m128d _mm_load_pd1(const double * mem_addr)
gcc組み込み v2df __builtin_ia32_movddup(v2df)

ソースオペランドは、XMMレジスタ(xmm2)またはメモリアドレス(m64)のいずれかです。ソースオペランドがXMMレジスタの場合、レジスタの下位半分が演算に使用されます。ソースオペランドがメモリアドレスの場合、8バイト領域のアドレスであるとみなされ、その値が演算に使用されます。

宛先オペランドは XMM レジスタ ( xmm1 ) である必要があります。

潜在的な例外

参考文献

参照

x86命令リスト