Skip to content

error: the last argument must be an 8-bit immediate #421

Description

@TheStickyStudio

The build error only occurs when miniaudio is used, otherwise it builds just fine.

Using Opensuse Leap 16.0

[  0%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/celt_lpc.c.o
[  1%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/denoise.c.o
[  2%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/kiss_fft.c.o
[  2%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/pitch.c.o
[  3%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/rnn_data.c.o
[  3%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/rnn_reader.c.o
[  4%] Building C object CMakeFiles/rnnoise.dir/subprojects/rnnoise/src/rnn.c.o
[  5%] Linking C static library librnnoise.a
[  5%] Built target rnnoise
[  6%] Built target keychain
[ 17%] Built target libdave
[ 40%] Built target ixwebsocket
[ 40%] Building CXX object CMakeFiles/qrcodegen.dir/subprojects/qrcodegen/cpp/qrcodegen.cpp.o
[ 41%] Linking CXX static library libqrcodegen.a
[ 41%] Built target qrcodegen
[ 41%] Building CXX object CMakeFiles/abaddon.dir/cmake_pch.hxx.gch
[ 42%] Building CXX object CMakeFiles/abaddon.dir/src/MurmurHash3.cpp.o
[ 42%] Building CXX object CMakeFiles/abaddon.dir/src/abaddon.cpp.o
[ 43%] Building CXX object CMakeFiles/abaddon.dir/src/audio/devices.cpp.o
[ 43%] Building CXX object CMakeFiles/abaddon.dir/src/audio/ma_impl.cpp.o
In file included from /usr/lib64/gcc/x86_64-suse-linux/15/include/smmintrin.h:32,
                 from /home/user/abaddon/subprojects/miniaudio/miniaudio.h:84889,
                 from /home/user/abaddon/src/audio/ma_impl.cpp:6:
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86879:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86880:51:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86889:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86890:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86891:51:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86901:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86902:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86903:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_32(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:86904:51:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_64(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:87051:43:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_64(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:87052:43:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_64(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:87053:43:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
In function ‘__m128i _mm_alignr_epi8(__m128i, __m128i, int)’,
    inlined from ‘ma_bool32 ma_dr_flac__decode_samples_with_residual__rice__sse41_64(ma_dr_flac_bs*, ma_uint32, ma_uint8, ma_uint32, ma_int32, const ma_int32*, ma_int32*)’ at /home/user/abaddon/subprojects/miniaudio/miniaudio.h:87054:47:
/usr/lib64/gcc/x86_64-suse-linux/15/include/tmmintrin.h:187:10: error: the last argument must be an 8-bit immediate
  187 |   return (__m128i) __builtin_ia32_palignr128 ((__v2di)__X,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  188 |                                               (__v2di)__Y, __N * 8);
      |                                               ~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/abaddon.dir/build.make:144: CMakeFiles/abaddon.dir/src/audio/ma_impl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:157: CMakeFiles/abaddon.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions