我正在尝试使用内在函数学习一些操作,但是当我在寄存器上简单加载 double 值时,如下所示,它会出现内存访问冲突错误。我确信我犯了一些天真的错误。您能指出我的错误是什么吗?
double a[2] = {10,12};
double * poinTer = &a[0];
__m128d v = _mm_load_pd(poinTer);
谢谢!
最佳答案
传递给_mm_load_pd
的地址必须是16字节对齐的。您需要采取措施确保确实如此。
关于c++ - 在寄存器上加载 double 浮点值时出错?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27170368/