【发布时间】:2015-06-06 08:22:14
【问题描述】:
我有以下用 C 编写的代码摘录,
double* res;
posix_memalign((void **)&res, 32, sizeof(double)*4);
__m256 ymm0, ymm1, ymm2, ymm3;
ymm0 = _mm256_load_pd(vector_a);
ymm1 = _mm256_load_pd(vector_b);
ymm2 = _mm256_mul_pd(ymm1, ymm2);
ymm3 = _mm256_store_pd((double*)res, ymm3); <--- problem line,
当我编译时,我收到以下错误消息,
error: assigning to '__m256' from incompatible type 'void'
ymm3 = _mm256_store_pd((double*)res, ymm3);
我认为将其转换为 'res' 的双指针可以解决问题,但没有运气..
有人可以帮忙吗?
编译器 - clang 3.4 - x86 ubuntu
【问题讨论】:
标签: c vector void-pointers memory-alignment avx