Mercurial > mplayer.hg
comparison configure @ 29652:224efd8fe6eb
Add autodetection for ARM NEON SIMD.
author | reimar |
---|---|
date | Sat, 19 Sep 2009 13:58:38 +0000 |
parents | 151a1c2a5658 |
children | fb0202969d92 |
comparison
equal
deleted
inserted
replaced
29651:151a1c2a5658 | 29652:224efd8fe6eb |
---|---|
466 --enable-altivec enable AltiVec (PowerPC) [autodetect] | 466 --enable-altivec enable AltiVec (PowerPC) [autodetect] |
467 --enable-armv5te enable DSP extensions (ARM) [autodetect] | 467 --enable-armv5te enable DSP extensions (ARM) [autodetect] |
468 --enable-armv6 enable ARMv6 (ARM) [autodetect] | 468 --enable-armv6 enable ARMv6 (ARM) [autodetect] |
469 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect] | 469 --enable-armv6t2 enable ARMv6t2 (ARM) [autodetect] |
470 --enable-armvfp enable ARM VFP (ARM) [autodetect] | 470 --enable-armvfp enable ARM VFP (ARM) [autodetect] |
471 --enable-neon enable NEON (ARM) [autodetect] | |
471 --enable-iwmmxt enable iWMMXt (ARM) [autodetect] | 472 --enable-iwmmxt enable iWMMXt (ARM) [autodetect] |
472 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable] | 473 --disable-fastmemcpy disable 3DNow!/SSE/MMX optimized memcpy [enable] |
473 --enable-big-endian force byte order to big-endian [autodetect] | 474 --enable-big-endian force byte order to big-endian [autodetect] |
474 --enable-debug[=1-3] compile-in debugging information [disable] | 475 --enable-debug[=1-3] compile-in debugging information [disable] |
475 --enable-profile compile-in profiling information [disable] | 476 --enable-profile compile-in profiling information [disable] |
515 _fast_cmov=auto | 516 _fast_cmov=auto |
516 _armv5te=auto | 517 _armv5te=auto |
517 _armv6=auto | 518 _armv6=auto |
518 _armv6t2=auto | 519 _armv6t2=auto |
519 _armvfp=auto | 520 _armvfp=auto |
521 neon=auto | |
520 _iwmmxt=auto | 522 _iwmmxt=auto |
521 _mtrr=auto | 523 _mtrr=auto |
522 _altivec=auto | 524 _altivec=auto |
523 _install=install | 525 _install=install |
524 _ranlib=ranlib | 526 _ranlib=ranlib |
1319 --disable-armv6) _armv6=no ;; | 1321 --disable-armv6) _armv6=no ;; |
1320 --enable-armv6t2) _armv6t2=yes ;; | 1322 --enable-armv6t2) _armv6t2=yes ;; |
1321 --disable-armv6t2) _armv6t2=no ;; | 1323 --disable-armv6t2) _armv6t2=no ;; |
1322 --enable-armvfp) _armvfp=yes ;; | 1324 --enable-armvfp) _armvfp=yes ;; |
1323 --disable-armvfp) _armvfp=no ;; | 1325 --disable-armvfp) _armvfp=no ;; |
1326 --enable-neon) neon=yes ;; | |
1327 --disable-neon) neon=no ;; | |
1324 --enable-iwmmxt) _iwmmxt=yes ;; | 1328 --enable-iwmmxt) _iwmmxt=yes ;; |
1325 --disable-iwmmxt) _iwmmxt=no ;; | 1329 --disable-iwmmxt) _iwmmxt=no ;; |
1326 --enable-mmx) _mmx=yes ;; | 1330 --enable-mmx) _mmx=yes ;; |
1327 --disable-mmx) # 3Dnow! and MMX2 require MMX | 1331 --disable-mmx) # 3Dnow! and MMX2 require MMX |
1328 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;; | 1332 _3dnow=no _3dnowext=no _mmx=no _mmxext=no ;; |
2727 _armvfp=no | 2731 _armvfp=no |
2728 cc_check && _armvfp=yes | 2732 cc_check && _armvfp=yes |
2729 fi | 2733 fi |
2730 echores "$_armvfp" | 2734 echores "$_armvfp" |
2731 | 2735 |
2736 echocheck "ARM NEON" | |
2737 if test $neon = "auto" ; then | |
2738 cat > $TMPC << EOF | |
2739 int main(void) { __asm__ volatile ("vadd.i16 q0, q0, q0"); return 0; } | |
2740 EOF | |
2741 neon=no | |
2742 cc_check && neon=yes | |
2743 fi | |
2744 echores "$neon" | |
2745 | |
2732 echocheck "iWMMXt (Intel XScale SIMD instructions)" | 2746 echocheck "iWMMXt (Intel XScale SIMD instructions)" |
2733 if test $_iwmmxt = "auto" ; then | 2747 if test $_iwmmxt = "auto" ; then |
2734 cat > $TMPC << EOF | 2748 cat > $TMPC << EOF |
2735 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; } | 2749 int main(void) { __asm__ volatile ("wunpckelub wr6, wr4"); return 0; } |
2736 EOF | 2750 EOF |
2738 cc_check && _iwmmxt=yes | 2752 cc_check && _iwmmxt=yes |
2739 fi | 2753 fi |
2740 echores "$_iwmmxt" | 2754 echores "$_iwmmxt" |
2741 fi | 2755 fi |
2742 | 2756 |
2743 _cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP IWMMXT MMI VIS MVI' | 2757 _cpuexts_all='ALTIVEC MMX MMX2 AMD3DNOW AMD3DNOWEXT SSE SSE2 SSSE3 FAST_CMOV CMOV PLD ARMV5TE ARMV6 ARMV6T2 ARMVFP NEON IWMMXT MMI VIS MVI' |
2744 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts" | 2758 test "$_altivec" = yes && _cpuexts="ALTIVEC $_cpuexts" |
2745 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts" | 2759 test "$_mmx" = yes && _cpuexts="MMX $_cpuexts" |
2746 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts" | 2760 test "$_mmxext" = yes && _cpuexts="MMX2 $_cpuexts" |
2747 test "$_3dnow" = yes && _cpuexts="AMD3DNOW $_cpuexts" | 2761 test "$_3dnow" = yes && _cpuexts="AMD3DNOW $_cpuexts" |
2748 test "$_3dnowext" = yes && _cpuexts="AMD3DNOWEXT $_cpuexts" | 2762 test "$_3dnowext" = yes && _cpuexts="AMD3DNOWEXT $_cpuexts" |
2754 test "$pld" = yes && _cpuexts="PLD $_cpuexts" | 2768 test "$pld" = yes && _cpuexts="PLD $_cpuexts" |
2755 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts" | 2769 test "$_armv5te" = yes && _cpuexts="ARMV5TE $_cpuexts" |
2756 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts" | 2770 test "$_armv6" = yes && _cpuexts="ARMV6 $_cpuexts" |
2757 test "$_armv6t2" = yes && _cpuexts="ARMV6T2 $_cpuexts" | 2771 test "$_armv6t2" = yes && _cpuexts="ARMV6T2 $_cpuexts" |
2758 test "$_armvfp" = yes && _cpuexts="ARMVFP $_cpuexts" | 2772 test "$_armvfp" = yes && _cpuexts="ARMVFP $_cpuexts" |
2773 test "$neon" = yes && _cpuexts="NEON $_cpuexts" | |
2759 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts" | 2774 test "$_iwmmxt" = yes && _cpuexts="IWMMXT $_cpuexts" |
2760 test "$_vis" = yes && _cpuexts="VIS $_cpuexts" | 2775 test "$_vis" = yes && _cpuexts="VIS $_cpuexts" |
2761 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts" | 2776 test "$_mvi" = yes && _cpuexts="MVI $_cpuexts" |
2762 | 2777 |
2763 # Checking kernel version... | 2778 # Checking kernel version... |