Compartir a través de


_mm_cvttss_si64x

Específicos de Microsoft

Emite la versión extendida x64 de la instrucción Convertir número de punto flotante de precisión sencilla con truncamiento en un entero de 64 bits (cvttss2si).

Sintaxis

__int64 _mm_cvttss_si64x(
   __m128 value
);

Parámetros

value
[in] Estructura __m128 que contiene valores de número de punto flotante de precisión sencilla.

Valor devuelto

Resultado de la conversión del primer valor de número de punto flotante en un entero de 64 bits.

Requisitos

Intrinsic Arquitectura
_mm_cvttss_si64x x64

Archivo de encabezado<intrin.h>

Comentarios

El intrínseco difiere de _mm_cvtss_si64x solo en que las conversiones inexactas se truncan hacia cero. Como la estructura __m128 representa un registro XMM, la instrucción generada mueve los datos de un registro XMM a la memoria del sistema.

Esta rutina solo está disponible como función intrínseca.

Ejemplo

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

#pragma intrinsic(_mm_cvttss_si64x)

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

    // _mm_load_ps requires an aligned buffer.
    __declspec(align(16)) float af[4] = { 101.5, 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_cvttss_si64x(a);

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

FIN de Específicos de Microsoft

Consulte también

__m128
Intrínsecos del compilador