You can edit almost every page by Creating an account. Otherwise, see the FAQ.

MOVDDUP

From EverybodyWiki Bios & Wiki


In the x86 assembly programming language, MOVDDUP is the name for a specific action performable by modern x86 processors with 3rd-generation Streaming SIMD Extensions (SSE3). This action involves copying a number to temporary space in the processor for use in other computations.

Specifically, MOVDDUP causes one, double-precision, floating-point source to be copied to both the lower half and upper half of an XMM register.

Usage[edit]

Opcode F2 0F 12 /r
Assembly (Intel syntax) MOVDDUP xmm1, xmm2/m64
Assembly (AT&T syntax) MOVDDUP xmm2/m64, xmm1
icc intrinsic equivalent(s) __m128d _mm_movedup_pd(__m128d a)
__m128d _mm_load_pd1(const double * mem_addr)
gcc built-in(s) v2df __builtin_ia32_movddup(v2df)

The source operand can be either an XMM register (xmm2) or a memory address (m64). When the source operand is an XMM register, the lower half of the register is used in the operation. When the source operand is a memory address, it is assumed to be the address of an 8-byte region, the value at which is used in the operation.

The destination operand must be an XMM register (xmm1).

Potential exceptions[edit]

References[edit]

See also[edit]

x86 instruction listings


This article "MOVDDUP" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:MOVDDUP. Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.

Page kept on Wikipedia This page exists already on Wikipedia.