неразрешенный внешний символ __mm256_setr_epi64x
Я написал и отладил некоторый код AVX с g ++, и теперь я пытаюсь заставить его работать с MSVC, но я продолжаю получать
ошибка LNK2019: неразрешенный внешний символ __mm256_setr_epi64x, на который ссылается функция «private: union __m256i __thiscall avx_matrix :: avx_bit_mask (unsigned int) const» (? avx_bit_mask @ avx_matrix @@ ABE? AT__m256i @ I
Ссылочный кусок кода
...
#include <immintrin.h>
...
/* All zeros except for pos-th position (0..255) */
__m256i avx_matrix::avx_bit_mask(const std::size_t pos) const
{
int64_t a = (pos >= 0 && pos < 64) ? 1LL << (pos - 0) : 0;
int64_t b = (pos >= 64 && pos < 128) ? 1LL << (pos - 64) : 0;
int64_t c = (pos >= 128 && pos < 192) ? 1LL << (pos - 128) : 0;
int64_t d = (pos >= 192 && pos < 256) ? 1LL << (pos - 256) : 0;
return _mm256_setr_epi64x(a, b, c, d);
}
...
Я включил/arch:AVX
, но это не имеет никакого значения.Моя машина определенно поддерживает AVX - это то же самое, что я использовал для оригинального проекта Linux.Также,http://msdn.microsoft.com/en-us/library/hh977022.aspx списки_mm256_setr_epi64x
среди доступных встроенных функций.Любая помощь приветствуется.