[Bug c/82094] New: error: inlining failed in call to always_inline ‘_mm512_permutexvar_epi8’
vasistavinay at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Sep 4 05:21:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82094
Bug ID: 82094
Summary: error: inlining failed in call to always_inline
‘_mm512_permutexvar_epi8’
Product: gcc
Version: 7.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: vasistavinay at gmail dot com
Target Milestone: ---
Created attachment 42111
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42111&action=edit
Permutation of uchar elements in an AVX-512 vector
I get the following error, when I compile the attached source with the given
command -
$ gcc -march=skylake-avx512 -mavx512f test_avx512_permute.c
In file included from
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/immintrin.h:67:0,
from test_avx512_permute.c:4:
test_avx512_permute.c: In function ‘main’:
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/avx512vbmiintrin.h:71:1:
error: inlining failed in call to always_inline ‘_mm512_permutexvar_epi8’:
target specific option mismatch
_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
^~~~~~~~~~~~~~~~~~~~~~~
test_avx512_permute.c:13:7: note: called from here
c = _mm512_permutexvar_epi8(a, b);
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/immintrin.h:67:0,
from test_avx512_permute.c:4:
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/avx512vbmiintrin.h:71:1:
error: inlining failed in call to always_inline ‘_mm512_permutexvar_epi8’:
target specific option mismatch
_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
^~~~~~~~~~~~~~~~~~~~~~~
test_avx512_permute.c:13:7: note: called from here
c = _mm512_permutexvar_epi8(a, b);
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_________________________________
And strangely, if I comment out the epi8 set intrinsics (lines 12 and 13), and
do just the permutation without initializing vectors a and b, the following
error occurs for the same command string -
$ gcc -march=skylake-avx512 -mavx512f test_avx512_permute.c
In file included from
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/immintrin.h:67:0,
from test_avx512_permute.c:5:
test_avx512_permute.c: In function ‘main’:
/in/gcc/7.1.0/Linux5/x86_64/lib/gcc/x86_64-pc-linux-gnu/7.1.0/include/avx512vbmiintrin.h:71:1:
error: inlining failed in call to always_inline ‘_mm512_permutexvar_epi8’:
target specific option mismatch
_mm512_permutexvar_epi8 (__m512i __A, __m512i __B)
^~~~~~~~~~~~~~~~~~~~~~~
test_avx512_permute.c:16:7: note: called from here
c = _mm512_permutexvar_epi8(a, b);
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_________________________________
(In other words, the same error is duplicated in the first case)
Please help me understand if there is anything wrong in my program.
P.S: I'm cross-compiling the code since I don't have the access to a skylake
machine yet.
Thanks and Regards,
~ Vinay
More information about the Gcc-bugs
mailing list