我只是尝试使用SSE扩展,我开始使用简单的矢量点乘法。 所以我写了下面的代码:
void SSE_vectormult(double * A, double * B)
{
__m128d a;
__m128d b;
a = _mm_load_pd(A);
b = _mm_load_pd(B);
const int mask = 0xf1;
__m128d res = _mm_dp_pd(a,b,mask);
A = res;
}
具有相同长度的A
和B
个向量。现在,我必须将__m128d
中的结果转换回double
。有没有简单的方法(或转换功能)?
谢谢!