segmentation-fault - 为什么 vmovapd 会导致段错误?

标签 segmentation-fault vectorization sse memory-alignment avx

我已经分配了一个与 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/

相关文章:

performance - 数组乘法的向量化

R - 是否有一种矢量化方式/预制函数可以快速生成两个向量之间的唯一集?

C++ 错误 : ‘_mm_sin_ps’ was not declared in this scope

c - 在只有 3 个颜色分量的浮点像素上使用 SSE

c - AVX2 中的 8 位移位操作,移入零

c - "int *path"和 "int path[]"之间有什么区别吗?

c++ - 是什么导致了段错误?

c++ - 来自 hflip 的段错误

python - 如何编写与普通 Python 值和 NumPy 数组兼容的条件代码?

c 结构体和 pthread 指针分配