_mm_loaddup_pd

Microsoft Specific

Generates the movddup instruction.

__m128d _mm_loaddup_pd(
   const double* value
);

Parameters

  • [in] value
    The source data.

Requirements

Intrinsic

Architecture

_mm_loaddup_pd

Intel SSE3

Header file <intrin.h>

Return Value

The return value represents the XMM1 register, which will contain copies of the source data in both the upper and the lower halves of the register.

Remarks

The _mm_loaddup_pd intrinsic loads the double-precision floating-point number value into the lower and upper halves of the XMM1 register, duplicating the value in both halves of the destination register.

Example

// processor: x86 with SSE3
// Execute the loaddup_pd instruction using the intrinsic
// _mm_loaddup_pd 

#include <stdio.h>
#include <intrin.h>

#pragma intrinsic ( _mm_loaddup_pd )

int main( )
{
    __m128d w;
    double a = 314.1592653589793;
  
    printf_s("Calling _mm_loaddup_pd to load the value.\n");
    w = _mm_loaddup_pd ( &a );

    printf_s("Result: %e %e \n", w.m128d_f64[0], w.m128d_f64[1]);
}
Calling _mm_loaddup_pd to load the value.
Result: 3.141593e+002 3.141593e+002

See Also

Reference

Compiler Intrinsics