altivec problem on x86
Joakim Elofsson
joakimelofsson at telia.com
Tue Nov 13 23:17:20 CET 2001
Hi, when trying to run ./configure for vlc 0.2.91 (same problem in 0.2.90)
I get the following problem:
checking if $CC groks MMX inline assembly... yes
checking if $CC groks MMX EXT inline assembly... yes
checking if $CC groks 3D Now! inline assembly... yes
checking if $CC groks SSE inline assembly... yes
checking if $CC groks Altivec inline assembly... yes
checking if $CC groks Altivec C extensions... no
checking if linker needs -framework vecLib... no
./configure thinks I got Altivec in my AMD Duron (don't think so:), or gcc at least thinks so.
but I think I found the problem, my CFLAGS/CXXFLAGS is usually set to '-march=i686 -O6'
and after some tests I found out that if using -Ox with x greater than 2 gcc accepts this:
int main() {
void quux(){asm volatile("vperm 0,1,2,3");}
; return 0; }
now I wonder, is this a gcc-bug? or is vperm some kind of hidden asm stuff (guess not)
Probably this is an error in gcc 2.95.3 (at least), but if I try ./configure --disable-altivec,
the script just ignores that, so I'am unable to compile vlc,
unless I change my CFLAGS or do some tricks (like setting ac_cv_altivec_inline=no on line 3854 in configure),
or maybe upgrade gcc (?) .
I have only tested this with gcc 2.95.3 (i686-pc-linux-gnu)
//Joakim
-----------------------------------------
Joakim Elofsson <joakim.elofsson at home.se>
http://hem.passagen.se/joakime/index.html
More information about the vlc
mailing list