Компиляция программы AVX2 на Mavericks

Я пытаюсь скомпилировать фиктивную программу AVX2 на моем Mac OS 10.9 с gcc версии 4.9.0 20131201

//dummy program
#include <immintrin.h> // AVX2
#include <stdio.h>
int main(int argc, char* argv[]) {
__m256i reg =  _mm256_set1_epi8(1);
__m256i result = _mm256_max_epu8(reg,reg);
printf("%d",((int *)&result)[0]);
}

Я использовал эту команду для компиляции

gcc -mavx -O0 test.C

и я получаю эту ошибку

In function 'int main(int, char**)':
avx2intrin.h:373:1:
error: inlining failed in call to always_inline
'__m256i _mm256_max_epu8(__m256i, __m256i)': target specific option mismatch
_mm256_max_epu8 (__m256i __A, __m256i __B)

_Mm256_max_epu8 использует always_inline приписывать. Это проблема?

Я также получаю проблему, если я компилирую с O3.

Что я делаю неправильно?

3

Решение

Чтобы скомпилировать для цели с AVX2, используйте -mavx2,

9

Другие решения

Я могу скомпилировать программу с

g ++ -mavx2 -Wa, -q test.C

В этом нить обсуждается почему -Wa, q тоже нужен

0

По вопросам рекламы [email protected]