_mm_cvtss_si64x

Específicos de Microsoft

Genera x64 extendidas versión de número de Punto Flotante de precisión sencilla de Scalar convert a la instrucción entera de 64 bits (decvtss2si).

__int64 _mm_cvtss_si64x( 
   __m128 value 
);

Parámetros

  • [in] value
    Una estructura de __m128 que contiene punto-valores de punto flotante.

Valor devuelto

Un entero de 64 bits, el resultado de la conversión del primer valor de punto flotante a un entero.

Requisitos

Intrínseco

Arquitectura

_mm_cvtss_si64x

x64

Archivo de encabezado <intrin.h>

Comentarios

El primer elemento del valor de la estructura se convierte a un entero y devuelto. Los bits del control que redondean en MXCSR se utilizan para determinar el comportamiento de redondeo. El modo de redondeo predeterminado es alrededor cercana, se producían el número par si la parte decimal es 0,5. Dado que la estructura de __m128 representa un registro de XMM, este intrínseco contiene un valor de registro y de escrituras de XMM él la memoria del sistema.

Esta rutina sólo está disponible como intrínseco.

Ejemplo

// _mm_cvtss_si64x.cpp
// processor: x64
#include <intrin.h>
#include <stdio.h>

#pragma intrinsic(_mm_cvtss_si64x)

int main()
{
    __m128 a;
    __int64 b = 54;

    // _mm_load_ps requires an aligned buffer.
    __declspec(align(16)) float af[4] =
                           { 101.25, 200.75, 300.5, 400.5 };

    // Load a with the floating point values.
    // The values will be copied to the XMM registers.
    a = _mm_load_ps(af);

    // Extract the first element of a and convert to an integer
    b = _mm_cvtss_si64x(a);

    printf_s("%I64d\n", b);
}
  

Vea también

Referencia

__m128d

Intrínsecos del controlador