_mm_cvtsi64x_ss

Seção específica da Microsoft

Gera a versão estendida x64 da instrução Converter inteiro de 64 bits em valor de ponto flutuante de precisão simples escalar (cvtsi2ss).

Sintaxe

__m128 _mm_cvtsi64x_ss(
   __m128 a,
   __int64 b
);

Parâmetros

a
[in] Uma estrutura __m128 que contém quatro valores de ponto flutuante de precisão simples.

b
[in] Um inteiro de 64 bits a ser convertido em um valor de ponto flutuante.

Valor retornado

Uma estrutura __m128 cujo primeiro valor de ponto flutuante é o resultado da conversão. Os outros três valores são copiados sem alterações de a.

Requisitos

Intrinsic Arquitetura
_mm_cvtsi64x_ss x64

Arquivo de cabeçalho<intrin.h>

Comentários

A estrutura __m128 representa um registro XMM, portanto, o intrínseco permite que o valor b da memória do sistema seja movido para um registro XMM.

Essa rotina só está disponível como função intrínseca.

Exemplo

// _mm_cvtsi64x_ss.cpp
// processor: x64

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

#pragma intrinsic(_mm_cvtsi64x_ss)

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

    a.m128_f32[0] = 0;
    a.m128_f32[1] = 0;
    a.m128_f32[2] = 0;
    a.m128_f32[3] = 0;
    a = _mm_cvtsi64x_ss(a, b);

    printf_s( "%lf %lf %lf %lf\n",
              a.m128_f32[0], a.m128_f32[1],
              a.m128_f32[2], a.m128_f32[3] );
}
54.000000 0.000000 0.000000 0.000000

Fim da seção específica da Microsoft

Confira também

__m128
Intrínsecos do compilador