[x264-devel] snapshot-20101018-2245 fails to compile on powerpc(64) with altivec unit

acrux acrux_it at libero.it
Tue Oct 19 23:02:11 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


snapshot-20101018-2245 fails to compile on powerpc(64) with altivec
unit. But it compiles, obviuosly, with --disable-asm .

First problem:
[...]
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/lookahead.o encoder/lookahead.c
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/threadpool.o common/threadpool.c
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/ppc/mc.o common/ppc/mc.c
common/ppc/mc.c: In function 'mc_chroma_altivec_8xh':
common/ppc/mc.c:463: note: use -flax-vector-conversions to permit conversions between vectors with differing element types or numbers of subparts
common/ppc/mc.c:463: error: incompatible types when assigning to type '__vector unsigned char' from type '__vector unsigned short'
common/ppc/mc.c:464: error: incompatible types when assigning to type '__vector unsigned char' from type '__vector unsigned short'
common/ppc/mc.c:501: error: incompatible types when assigning to type '__vector unsigned char' from type '__vector unsigned short'
common/ppc/mc.c:502: error: incompatible types when assigning to type '__vector unsigned char' from type '__vector unsigned short'
make: *** [common/ppc/mc.o] Error 1


thus applying a quick:
sed -i -e 's|-mabi=altivec|-mabi=altivec -flax-vector-conversions|'
configure


Second problem:
[...]
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -flax-vector-conversions -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o encoder/lookahead.o encoder/lookahead.c
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -flax-vector-conversions -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/threadpool.o common/threadpool.c
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -flax-vector-conversions -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/ppc/mc.o common/ppc/mc.c
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -flax-vector-conversions -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/ppc/pixel.o common/ppc/pixel.c
common/ppc/pixel.c: In function 'pixel_satd_8x4_altivec':
common/ppc/pixel.c:246: warning: 'temp4v' is used uninitialized in this function
common/ppc/pixel.c:246: warning: 'temp5v' is used uninitialized in this function
common/ppc/pixel.c:246: warning: 'temp6v' is used uninitialized in this function
common/ppc/pixel.c:246: warning: 'temp7v' is used uninitialized in this function
gcc -Wshadow -O3 -ffast-math -O2 -mcpu=powerpc -pipe -Wall -I. -maltivec -mabi=altivec -flax-vector-conversions -std=gnu99    -fPIC -s -fomit-frame-pointer -fno-tree-vectorize   -c -o common/ppc/dct.o common/ppc/dct.c
common/ppc/dct.c: In function 'x264_sub8x8_dct_altivec':
common/ppc/dct.c:94: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:95: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:96: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:97: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:98: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:99: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:100: error: invalid parameter combination for AltiVec intrinsic
common/ppc/dct.c:101: error: invalid parameter combination for AltiVec intrinsic
make: *** [common/ppc/dct.o] Error 1


My systems are iBook G4 and PowerMac G5.
CRUX PPC 2.6 (32bit and 64bit)
binutils-2.20, glibc-2.11.2, gcc-4.4.5

cheers,
- -acrux

- -- 
GNU/Linux on Power Architecture
CRUX PPC - http://cruxppc.org/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEARECAAYFAky+B1gACgkQxq34tDeO7LhwEQCaAkvsOykwUtIxxDmWE7+VquoC
SrYAn2I+nFbMAz61m+tyk0fr8nBo1uZS
=h7LP
-----END PGP SIGNATURE-----


More information about the x264-devel mailing list