我已经分配了一个与 32 字节对齐的 double 组
double *dst;
posix_memalign((void**)&dst, 32, 4*sizeof(double));
我后来使用_mm256_store_pd(dst,q);
并在指令中偶尔出现段错误
vmovapd YMMWORD PTR [rdi],ymm0
为什么这里会出现段错误? vmovapd
是否会因对齐以外的原因导致段错误?
最佳答案
代码中的其他地方存在错误,导致使用了未对齐的指针。正如 Peter Cordes 指出的那样,另一个原因可能是无效的指针。
关于segmentation-fault - 为什么 vmovapd 会导致段错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39945718/