1
나는 나중에 _mm256_store_pd(dst,q);
를 사용하고 segfault의 여기 발생하는 이유는 무엇 지시왜 vmovapd가 segfault를 유발합니까?
vmovapd YMMWORD PTR [rdi],ymm0
에서 가끔 세그먼테이션 폴트 (segfault)를 얻을 수
double *dst;
posix_memalign((void**)&dst, 32, 4*sizeof(double));
32 바이트로 정렬 복식의 배열을 할당 한? vmovapd
은 정렬 이외의 이유로 segfault를 발생시킬 수 있습니까?
'vmovapd가 정렬 이외의 이유로 segfault를 일으킬 수 있습니까? '예, NULL 포인터 (또는 다른 잘못된 액세스)에서. 디버거를 사용하여 결함이있는 지점에서 RDI를 살펴보고 잘못 배치되었거나 유효하지 않은지 여부를 확인하십시오. (gdb의'x' 명령을 사용하여 메모리를 덤프하십시오 .gdb가 유효하지 않은 액세스라고하면, 정렬 된 경우에도 잘못된 포인터라는 것을 알게됩니다.) –
@PeterCordes 감사합니다. 포인터가 유효한지 확인했습니다. 코어 덤프를 조사한 결과 하나의 케이스에 포인터가 잘못 정렬되어있는 것을 발견했습니다. – stardt