我已经使用
分配了一个与32个字节对齐的双精度数组double *dst;
posix_memalign((void**)&dst, 32, 4*sizeof(double));
我稍后使用_mm256_store_pd(dst,q);
并在指令
vmovapd YMMWORD PTR [rdi],ymm0
为什么会出现段错误? vmovapd
可能因为对齐以外的原因导致段错误吗?
答案 0 :(得分:1)
代码中的其他地方出现错误,导致使用未对齐的指针。正如彼得·科德斯指出的那样,另一个原因可能是指针无效。