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...