mistydemeo / tigerbrew

Experimental fork of homebrew for PPC Macs on Tiger
Other
535 stars 129 forks source link

mpg123 altivec instructions fail with gcc-4.8 #122

Open mistydemeo opened 10 years ago

mistydemeo commented 10 years ago

mpg123 has several errors when trying to build its altivec functions:

libtool: compile: gcc-4.8 -DHAVE_CONFIG_H -I. -I../../src -I../../src -I../../src/libmpg123 -DREAL_IS_FLOAT -DOPT_ALTIVEC -F/usr/local/Frameworks -O2 -fomit-frame-pointer -funroll-all-loops -finline-functions -ffast-math -maltivec -faltivec -Os -w -pipe -mcpu=7450 -faltivec -mmacosx-version-min=10.4 -c synth_altivec.c -fno-common -DPIC -o .libs/synth_altivec.o
synth_altivec.c: In function 'INT123_synth_1to1_altivec':
synth_altivec.c:309:3: error: can't convert value to a vector
vmax = (vector float)(32767.0f);
^
synth_altivec.c:310:3: error: can't convert value to a vector
vmin = (vector float)(-32768.0f);
^
synth_altivec.c:311:3: error: can't convert between vector values of different size
vperm4 = (vector unsigned char)(0,1,18,19,2,3,22,23,4,5,26,27,6,7,30,31);
^
synth_altivec.c: In function 'INT123_synth_1to1_stereo_altivec':
synth_altivec.c:441:3: error: can't convert value to a vector
vmax = (vector float)(32767.0f);
^
synth_altivec.c:442:3: error: can't convert value to a vector
vmin = (vector float)(-32768.0f);
^
synth_altivec.c: In function 'INT123_synth_1to1_real_altivec':
synth_altivec.c:585:3: error: can't convert value to a vector
vscale = (vector float)(1.0f/32768.0f);
^
synth_altivec.c:586:3: error: can't convert between vector values of different size
vperm4 = (vector unsigned char)(0,1,2,3,20,21,22,23,4,5,6,7,28,29,30,31);
^
synth_altivec.c:587:3: error: can't convert between vector values of different size
vperm5 = (vector unsigned char)(8,9,10,11,20,21,22,23,12,13,14,15,28,29,30,31);
^
synth_altivec.c: In function 'INT123_synth_1to1_real_stereo_altivec':
synth_altivec.c:702:3: error: can't convert value to a vector
vscale = (vector float)(1.0f/32768.0f);
^
synth_altivec.c: In function 'INT123_synth_1to1_s32_altivec':
synth_altivec.c:819:3: error: can't convert value to a vector
vmax = (vector float)(32767.999f);
^
synth_altivec.c:820:3: error: can't convert value to a vector
vmin = (vector float)(-32768.0f);
^
synth_altivec.c:821:3: error: can't convert between vector values of different size
vperm4 = (vector unsigned char)(0,1,2,3,20,21,22,23,4,5,6,7,28,29,30,31);
^
synth_altivec.c:822:3: error: can't convert between vector values of different size
vperm5 = (vector unsigned char)(8,9,10,11,20,21,22,23,12,13,14,15,28,29,30,31);
^
synth_altivec.c: In function 'INT123_synth_1to1_s32_stereo_altivec':
synth_altivec.c:962:3: error: can't convert value to a vector
vmax = (vector float)(32767.999f);
^
synth_altivec.c:963:3: error: can't convert value to a vector
vmin = (vector float)(-32768.0f);
^

Full logs: https://gist.github.com/anonymous/7066873

mistydemeo commented 10 years ago

The build succeeds with gcc-4.2.