We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
This is on i686-linux with gcc-14. Relevant parts of config.log:
configure:15283: checking if compiler supports AVX2 intrinsics with -mavx -mfma -mavx2 configure:15312: gcc14 -o conftest -g -O2 -mavx -mfma -mavx2 conftest.c >&5 conftest.c: In function 'main': conftest.c:40:53: error: passing argument 1 of '_mm_loadu_si128' from incompatible pointer type [-Wincompatible-pointer-types] 40 | _mm256_cvtepi16_epi32(_mm_loadu_si128(utest)); | ^~~~~ | | | unsigned char * In file included from /opt/gcc14/lib/gcc/i686-pc-linux-gnu/14.1.1/include/xmmintrin.h:1322, from /opt/gcc14/lib/gcc/i686-pc-linux-gnu/14.1.1/include/immintrin.h:31, from conftest.c:25: /opt/gcc14/lib/gcc/i686-pc-linux-gnu/14.1.1/include/emmintrin.h:704:35: note: expected 'const __m128i_u *' but argument is of type 'unsigned char *' 704 | _mm_loadu_si128 (__m128i_u const *__P) | ~~~~~~~~~~~~~~~~~^~~ configure:15312: $? = 1 configure: failed program was: | /* confdefs.h */ | #define PACKAGE_NAME "opus" | #define PACKAGE_TARNAME "opus" | #define PACKAGE_VERSION "1.5.2-12-gfc96bb9" | #define PACKAGE_STRING "opus 1.5.2-12-gfc96bb9" | #define PACKAGE_BUGREPORT "[email protected]" | #define PACKAGE_URL "" | #define HAVE_STDIO_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_UNISTD_H 1 | #define STDC_HEADERS 1 | #define HAVE_DLFCN_H 1 | #define LT_OBJDIR ".libs/" | #define OPUS_BUILD /**/ | #define restrict __restrict | #define VAR_ARRAYS 1 | #define FLOAT_APPROX 1 | /* end confdefs.h. */ | #include <immintrin.h> | #include <time.h> | | int | main (void) | { | | unsigned char utest[16] = {1}; | __m256 mtest; | __m256i mtest1; | __m256i mtest2; | mtest = _mm256_set1_ps((float)time(NULL)); | mtest = _mm256_fmadd_ps(mtest, mtest, mtest); | mtest1 = _mm256_set_m128i(_mm_loadu_si64(utest), _mm_loadu_si64(utest)); | mtest2 = | _mm256_cvtepi16_epi32(_mm_loadu_si128(utest)); | return _mm256_extract_epi16(_mm256_xor_si256( | _mm256_xor_si256(mtest1, mtest2), _mm256_cvttps_epi32(mtest)), 0); | | | ; | return 0; | } configure:15321: result: no configure:15445: WARNING: Compiler does not support AVX2 intrinsics
The text was updated successfully, but these errors were encountered:
configure.ac: cast utest to __m128i_u* in avx2 check for _mm_loadu_si128
2bff69c
Fixes avx2 check. Fixes: xiph#361.
9ec11c1
Fix AVX2 auto detection in libopus
9bf9948
Ref: xiph/opus#361 Signed-off-by: nyanmisaka <[email protected]>
Successfully merging a pull request may close this issue.
This is on i686-linux with gcc-14. Relevant parts of config.log:
The text was updated successfully, but these errors were encountered: