When I try and compile anything with cilksan which includes avx gathers I get an undefined reference error.
Example code
#include <cilk/cilk.h>
#include <immintrin.h>
int main() {
int *x = (int *)malloc(1000000 * sizeof(int));
__m128i indx = _mm_set_epi32(1, 100, 1000, 100000);
__m128i y = _mm_i32gather_epi32(x, indx, 4);
return _mm_extract_epi32(y, 0) + _mm_extract_epi32(y, 1) +
_mm_extract_epi32(y, 2) + _mm_extract_epi32(y, 3);
}
compiled with
clang++ -mavx2 -fsanitize=cilk -fopencilk del.cpp
Leads to an error of
/usr/bin/ld: /tmp/del-0ed0b7.o: in function `main': del.cpp:(.text+0x25e): undefined reference to `__csan_llvm_x86_avx2_gather_d_d' clang-10: error: linker command failed with exit code 1 (use -v to see invocation)
When I try and compile anything with cilksan which includes avx gathers I get an undefined reference error.
Example code
compiled with
clang++ -mavx2 -fsanitize=cilk -fopencilk del.cppLeads to an error of
/usr/bin/ld: /tmp/del-0ed0b7.o: in function `main': del.cpp:(.text+0x25e): undefined reference to `__csan_llvm_x86_avx2_gather_d_d' clang-10: error: linker command failed with exit code 1 (use -v to see invocation)