两个相关的问题。
这就是我的代码需要对大量数据执行的操作。它是在内部循环中完成的,性能很重要。
- 将 __int32 和数组转换为双精度数(或将 __m128i 转换为两个 __m128d)。
- 将浮点数和数组转换为双精度数(或将 __m128 转换为两个 __m128d)。
基本上,我需要具有以下签名的函数:
void convert_int_to_double(__int32 const * input, double * output);
void convert_float_to_double(float const * input, double * output);
输入输出指针对齐,元素个数为4的倍数。主要问题是如何快速将__m128解包成两个__m128d。