Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error: inlining failed in call to always_inline ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’: target specific option mismatch #65

Open
muyuuuu opened this issue Jul 25, 2023 · 1 comment

Comments

@muyuuuu
Copy link

muyuuuu commented Jul 25, 2023

/usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:185:1: error: inlining failed in call to always_inline ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’: target specific option mismatch
 _mm_alignr_epi8(__m128i __X, __m128i __Y, const int __N)
@Zvictoria
Copy link
Contributor

Thanks for submitting that. The reason is the particular compiler behavior - it expects N to be the an immediate (explicit) constant. While I'm unable to check ALL compilers available (versions, compilation flags) and disabling inlining by default leads to performance decrease, you may disable it yourself for your setup by modifying line 2301 in NEON_2_SSE.h:
( defined (__INTEL_COMPILER) && !defined(llvm) )
just add some check for gcc compiler you have there like &&!defined(GNUC) (you need to look up the exact macro to check in your compiler documentation) and you are done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants