Move(_mm_move_ss)和Set(_mm_set_ss)内在函数是否适用于双精度数(__m128d)?

时间:2016-08-15 22:24:23

标签: c++ x86 double sse intrinsics

多年来,我曾多次看到float参数中的内在函数使用以下代码转换为__m128__m128 b = _mm_move_ss(m, _mm_set_ss(a));

例如:

void MyFunction(float y)
{
    __m128 a = _mm_move_ss(m, _mm_set_ss(y)); //m is __m128
    //do whatever it is with 'a'
}

我想知道是否有类似方法使用_mm_move_mm_set内在函数对双打(__m128d)执行相同操作?

1 个答案:

答案 0 :(得分:2)

=ShowMissingZips(A2,B2)_mm_move_sd。它们是SSE2内在函数(而不是SSE),因此您需要_mm_set_sd