_mm_cvtsi64x_ss

Microsoft 专用

生成将 64 位整数转换为标量单精度浮点值的 x64 扩展版本 (cvtsi2ss) 指令。

语法

__m128 _mm_cvtsi64x_ss(
   __m128 a,
   __int64 b
);

参数

a
[in] 包含四个单精度浮点值的 __m128 结构。

b
[in] 要转换为浮点值的 64 位整数。

返回值

一个 __m128 结构,其第一个浮点值是转换的结果。 其他三个值都是从 a 复制而不加更改。

要求

Intrinsic 体系结构
_mm_cvtsi64x_ss x64

头文件<intrin.h>

注解

__m128 结构表示 XMM 寄存器,因此内部函数允许将系统内存中的值 b 移动到 XMM 寄存器中。

此例程仅可用作内部函数。

示例

// _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

结束 Microsoft 专用

另请参阅

__m128
编译器内部函数