Я пытаюсь использовать некоторые атрибуты AVX в своем коде и столкнулся с кирпичной стеной с внутренними свойствами логарифма.
Используя Intel Intrinsics Guide v3.0.1 для Linux, я вижу, что встроенный _mm256_log_ps(__m256)
указан как часть "immintrin.h", а также поддерживается моей текущей архитектурой.
Однако попытка скомпилировать этот простой тестовый пример завершается ошибкой: "error:" _mm256_log_ps не был объявлен в этой области "
Пример был скомпилирован с g++-4.8 -march=native -mavx test.cpp
#include <immintrin.h>
int main()
{
__m256 i;
_mm256_log_ps(i);
}
Я пропустил что-то фундаментальное здесь? Являются ли определенные встроенные функции не поддерживаемыми g++ и доступны только в icc?
SOLVED: эта инструкция не является истинным внутренним, но вместо этого реализована как часть Intel SVML для ICC.