编译英特尔内在和反向汇编但不工作

时间:2021-07-16 08:46:28

标签: c x86-64 intel intrinsics avx512

我在 CHUWI core book 上使用 Intel® Core™ i3-6157U CPU @ 2.40GHz × 4 上的 Ubuntu 21.04。 我制作了这个源代码并编译了。

#include <immintrin.h>

__m512i test__mm512_add_epi8 (__m512i a, __m512i b)
{
    return _mm512_add_epi8 (a,b);
}

但无法编译

$ gcc test.c
test.c: In function ‘test__mm512_add_epi8’:
test.c:4:1: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
    4 | {
      | ^
test.c:3:9: note: the ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
    3 | __m512i test__mm512_add_epi8 (__m512i a, __m512i b)
      |         ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:65,
                 from test.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/avx512bwintrin.h:924:1: error: inlining failed in call to ‘always_inline’ ‘_mm512_add_epi8’: target specific option mismatch
  924 | _mm512_add_epi8 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~
test.c:5:9: note: called from here
    5 |  return _mm512_add_epi8 (a,b);
      |         ^~~~~~~~~~~~~~~~~~~~~

如何解决这个问题?请教我。

0 个答案:

没有答案