cisco / thor

Thor Video Codec
BSD 2-Clause "Simplified" License
699 stars 101 forks source link

Code fail to build with GCC 5.2 #11

Closed JotaRandom closed 8 years ago

JotaRandom commented 9 years ago

The code fail to build in Linux with GCC 5.2

cc -march=atom -mtune=native -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -mfpmath=sse -std=c99 -g -O6 -Wall -pedantic -I common -c -o enc/encode_block.o enc/encode_block.c
cc -march=atom -mtune=native -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -mfpmath=sse -std=c99 -g -O6 -Wall -pedantic -I common -c -o enc/encode_frame.o enc/encode_frame.c
cc -march=atom -mtune=native -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -mfpmath=sse -std=c99 -g -O6 -Wall -pedantic -I common -c -o enc/mainenc.o enc/mainenc.c
cc -march=atom -mtune=native -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer -mfpmath=sse -std=c99 -g -O6 -Wall -pedantic -I common -c -o enc/putvlc.o enc/putvlc.c
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_8’:
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_8’:
common/simd/v64_intrinsics_x86.h:222:53: aviso: declaración implícita de la función ‘_mm_cvtsi64_si128’ [-Wimplicit-function-declaration]
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0d0b0907050301LL));
                                                     ^
common/simd/v64_intrinsics_x86.h:222:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
common/simd/v64_intrinsics_x86.h:222:53: aviso: declaración implícita de la función ‘_mm_cvtsi64_si128’ [-Wimplicit-function-declaration]
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0d0b0907050301LL));
                                                     ^
common/simd/v64_intrinsics_x86.h:222:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_8’:
common/simd/v64_intrinsics_x86.h:231:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0e0c0a0806040200LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_16’:
common/simd/v64_intrinsics_x86.h:239:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0e0b0a07060302LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_16’:
common/simd/v64_intrinsics_x86.h:247:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0d0c090805040100LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_8’:
common/simd/v64_intrinsics_x86.h:231:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0e0c0a0806040200LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_16’:
common/simd/v64_intrinsics_x86.h:239:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0e0b0a07060302LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_16’:
common/simd/v64_intrinsics_x86.h:247:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0d0c090805040100LL));
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd.h:131:0,
                 from enc/putvlc.c:32:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_from_64’:
common/simd/v128_intrinsics_x86.h:50:24: aviso: declaración implícita de la función ‘_mm_cvtsi64_m64’ [-Wimplicit-function-declaration]
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                        ^
common/simd/v128_intrinsics_x86.h:50:24: error: tipo incompatible para el argumento 1 de ‘_mm_set_epi64’
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from enc/putvlc.c:32:
common/simd/v128_intrinsics_x86.h:50:44: error: tipo incompatible para el argumento 2 de ‘_mm_set_epi64’
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                                            ^
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from enc/putvlc.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_from_64’:
common/simd/v128_intrinsics_x86.h:50:24: aviso: declaración implícita de la función ‘_mm_cvtsi64_m64’ [-Wimplicit-function-declaration]
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                        ^
common/simd/v128_intrinsics_x86.h:50:24: error: tipo incompatible para el argumento 1 de ‘_mm_set_epi64’
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v128_intrinsics_x86.h:50:44: error: tipo incompatible para el argumento 2 de ‘_mm_set_epi64’
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                                            ^
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from enc/putvlc.c:32:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_8’:
common/simd/v128_intrinsics_x86.h:219:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0e0c0a0806040200LL);
                ^
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_16’:
common/simd/v128_intrinsics_x86.h:232:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0d0c090805040100LL);
                ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/encode_frame.c:32:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_8’:
common/simd/v128_intrinsics_x86.h:219:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0e0c0a0806040200LL);
                ^
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_16’:
common/simd/v128_intrinsics_x86.h:232:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0d0c090805040100LL);
                ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_8’:
common/simd/v64_intrinsics_x86.h:222:53: aviso: declaración implícita de la función ‘_mm_cvtsi64_si128’ [-Wimplicit-function-declaration]
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0d0b0
                                                     ^
In file included from enc/../common/simd/v128_intrinsics_x86.h:32:0,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
enc/../common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_8’:
enc/../common/simd/v64_intrinsics_x86.h:222:53: aviso: declaración implícita de la función ‘_mm_cvtsi64_si128’ [-Wimplicit-function-declaration]
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0d0b0907050301LL));
                                                     ^
common/simd/v64_intrinsics_x86.h:222:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
enc/../common/simd/v64_intrinsics_x86.h:222:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from enc/../common/simd/v64_intrinsics_x86.h:34:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from enc/../common/simd/v128_intrinsics_x86.h:32:0,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
enc/../common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_8’:
enc/../common/simd/v64_intrinsics_x86.h:231:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0e0c0a0806040200LL));
                                                     ^
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_8’:
common/simd/v64_intrinsics_x86.h:231:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0e0c0a0
                                                     ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from enc/../common/simd/v64_intrinsics_x86.h:34:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from enc/../common/simd/v128_intrinsics_x86.h:32:0,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
enc/../common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_16’:
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziphi_16’:
enc/../common/simd/v64_intrinsics_x86.h:239:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0e0b0a07060302LL));
                                                     ^
common/simd/v64_intrinsics_x86.h:239:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0f0e0b0
                                                     ^
In file included from enc/../common/simd/v64_intrinsics_x86.h:34:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from enc/../common/simd/v128_intrinsics_x86.h:32:0,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
enc/../common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_16’:
In file included from common/simd/v128_intrinsics_x86.h:32:0,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v64_intrinsics_x86.h: En la función ‘v64_unziplo_16’:
enc/../common/simd/v64_intrinsics_x86.h:247:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0d0c090805040100LL));
                                                     ^
common/simd/v64_intrinsics_x86.h:247:53: error: tipo incompatible para el argumento 2 de ‘_mm_shuffle_epi8’
   return _mm_shuffle_epi8(_mm_unpacklo_epi64(b, a), _mm_cvtsi64_si128(0x0d0c090
                                                     ^
In file included from enc/../common/simd/v64_intrinsics_x86.h:34:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd/v64_intrinsics_x86.h:34:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/tmmintrin.h:136:1: nota: se esperaba ‘__m128i {aka __vector(2) long long int}’ pero el argumento es de tipo ‘int’
 _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
 ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_from_64’:
common/simd/v128_intrinsics_x86.h:50:24: aviso: declaración implícita de la función ‘_mm_cvtsi64_m64’ [-Wimplicit-function-declaration]
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                        ^
common/simd/v128_intrinsics_x86.h:50:24: error: tipo incompatible para el argumento 1 de ‘_mm_set_epi64’
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v128_intrinsics_x86.h:50:44: error: tipo incompatible para el argumento 2 de ‘_mm_set_epi64’
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                                            ^
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from enc/../common/simd.h:131:0,
                 from enc/mainenc.c:44:
enc/../common/simd/v128_intrinsics_x86.h: En la función ‘v128_from_64’:
enc/../common/simd/v128_intrinsics_x86.h:50:24: aviso: declaración implícita de la función ‘_mm_cvtsi64_m64’ [-Wimplicit-function-declaration]
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                        ^
enc/../common/simd/v128_intrinsics_x86.h:50:24: error: tipo incompatible para el argumento 1 de ‘_mm_set_epi64’
In file included from enc/../common/simd/v64_intrinsics_x86.h:32:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from enc/../common/simd.h:131:0,
                 from enc/mainenc.c:44:
enc/../common/simd/v128_intrinsics_x86.h:50:44: error: tipo incompatible para el argumento 2 de ‘_mm_set_epi64’
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                                            ^
In file included from enc/../common/simd/v64_intrinsics_x86.h:32:0,
                 from enc/../common/simd/v128_intrinsics_x86.h:32,
                 from enc/../common/simd.h:131,
                 from enc/mainenc.c:44:
/usr/lib/gcc/i686-pc-linux-gnu/5.2.0/include/emmintrin.h:591:1: nota: se esperaba ‘__m64 {aka __vector(2) int}’ pero el argumento es de tipo ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
Makefile:69: fallo en las instrucciones para el objetivo 'enc/encode_frame.o'
make: *** [enc/encode_frame.o] Error 1
make: *** Se espera a que terminen otras tareas....
Makefile:69: fallo en las instrucciones para el objetivo 'enc/putvlc.o'
make: *** [enc/putvlc.o] Error 1
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_8’:
common/simd/v128_intrinsics_x86.h:219:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0e0c0a0806040200LL);
                ^
common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_16’:
common/simd/v128_intrinsics_x86.h:232:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0d0c090805040100LL);
                ^
In file included from enc/../common/simd.h:131:0,
                 from enc/mainenc.c:44:
enc/../common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_8’:
enc/../common/simd/v128_intrinsics_x86.h:219:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0e0c0a0806040200LL);
                ^
enc/../common/simd/v128_intrinsics_x86.h: En la función ‘v128_unziplo_16’:
enc/../common/simd/v128_intrinsics_x86.h:232:16: error: tipos incompatibles en la inicialización del tipo ‘v128 {aka __vector(2) long long int}’ usando el tipo ‘int’
   v128 order = _mm_cvtsi64_si128(0x0d0c090805040100LL);
                ^
Makefile:69: fallo en las instrucciones para el objetivo 'enc/mainenc.o'
make: *** [enc/mainenc.o] Error 1
Makefile:69: fallo en las instrucciones para el objetivo 'enc/encode_block.o'
make: *** [enc/encode_block.o] Error 1

make option are the standard in ArchLinux

make DESTDIR=${pkgdir} prefix=/usr \
        localstatedir=/var sysconfdir=/etc \
        sbindir=/usr/bin bindir=/usr/bin \
        libdir=/usr/lib libexecdir=/usr/lib

I test with gcc --march=686 -mtune=generic -O3 -pipe -fstack-protector --param=ssp-buffer-size=4 -fomit-frame-pointer without succes too and the same errors

tdaede commented 9 years ago

The problem is not with gcc 5.2, but rather that the Makefile is not passing the appropriate flags to gcc to allow the intrinsics to be made available. This is solvable by switching to a better build system, such as is in pull request #10

henrikjuul commented 9 years ago

@jristz It looks as if you are trying to make a PKGBUILD for thor? DESTDIR is an autotools macro, so it's not going to do anything in the current thor build environment.

I managed to reproduce your errors when cross compiling for 32 bit (even more errors arise when compiling for 32 bit atom):

thor % CC="gcc -m32" make
gcc -m32 -std=c99 -g -O6 -Wall -pedantic -I common -c -o enc/encode_block.o enc/encode_block.c
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v128_intrinsics_x86.h: In function ‘v128_from_64’:
common/simd/v128_intrinsics_x86.h:50:24: warning: implicit declaration of function ‘_mm_cvtsi64_m64’ [-Wimplicit-function-declaration]
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                        ^
common/simd/v128_intrinsics_x86.h:50:24: error: incompatible type for argument 1 of ‘_mm_set_epi64’
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/x86_64-unknown-linux-gnu/5.2.0/include/emmintrin.h:591:1: note: expected ‘__m64 {aka __vector(2) int}’ but argument is of type ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
In file included from common/simd.h:131:0,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
common/simd/v128_intrinsics_x86.h:50:44: error: incompatible type for argument 2 of ‘_mm_set_epi64’
   return _mm_set_epi64(_mm_cvtsi64_m64(a), _mm_cvtsi64_m64(b));
                                            ^
In file included from common/simd/v64_intrinsics_x86.h:32:0,
                 from common/simd/v128_intrinsics_x86.h:32,
                 from common/simd.h:131,
                 from common/common_block.h:31,
                 from enc/write_bits.h:42,
                 from enc/encode_block.c:41:
/usr/lib/gcc/x86_64-unknown-linux-gnu/5.2.0/include/emmintrin.h:591:1: note: expected ‘__m64 {aka __vector(2) int}’ but argument is of type ‘int’
 _mm_set_epi64 (__m64 __q1,  __m64 __q0)
 ^
Makefile:69: recipe for target 'enc/encode_block.o' failed
make: *** [enc/encode_block.o] Error 1
JotaRandom commented 8 years ago

It build with GCC 6.1 so for now is fixed.