_mm_cvtsd_f64

Microsoft Specific

Extracts the lower order floating point value from the parameter.

double _mm_cvtsd_f64( 
   __m128d a
);

Parameters

  • [in] a
    A 128-bit parameter that contains a floating point value in the lowest 64 bits.

Return value

The result can be expressed with the following equation:

r := a0

Requirements

Intrinsic

Architecture

_mm_cvtsd_f64

x86, x64

Header file <emmintrin.h>

Remarks

r is the 64-bit floating point result. a0 is the lower 64 bits of parameter a. The upper 64 bits of a are ignored.

This intrinsic does not map to any specific machine instruction.

Example

#include <stdio.h>
#include <emmintrin.h>

int main ()
{
    __m128d a;

    a.m128d_f64[0] = -200.5;

    double res = _mm_cvtsd_f64(a);

    printf_s("Original a: %I64f\n", a.m128d_f64[0]);
    printf_s("Result res: %I64f\n", res);

    return 0;
}

Original a: -200.500000 Result res: -200.500000

See Also

Reference

Compiler Intrinsics