两个相关的问题。
我的代码需要处理大量数据。它在内部循环中完成,性能非常重要。
- 将__int32数组转换为double(或将__m128i转换为两个__m128d)。
- 将float数组转换为double(或将__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。