configure.in
branchSDL-1.2
changeset 13219 4f88e197acad
parent 13212 3d6dc20a0974
     1.1 --- a/configure.in	Thu Oct 31 14:00:28 2019 +0300
     1.2 +++ b/configure.in	Thu Oct 31 14:00:28 2019 +0300
     1.3 @@ -929,6 +929,44 @@
     1.4      fi
     1.5  }
     1.6  
     1.7 +dnl Check for ARM NEON instruction support using gas syntax
     1.8 +CheckNEON()
     1.9 +{
    1.10 +    AC_ARG_ENABLE(arm-neon,
    1.11 +AC_HELP_STRING([--enable-arm-neon], [use NEON assembly blitters on ARM [[default=yes]]]),
    1.12 +                  enable_arm_neon=$enableval, enable_arm_neon=yes)
    1.13 +    if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_arm_neon = xyes; then
    1.14 +        save_CFLAGS="$CFLAGS"
    1.15 +        have_arm_neon=no
    1.16 +        CFLAGS="-x assembler-with-cpp $CFLAGS"
    1.17 +        
    1.18 +        AC_MSG_CHECKING(for ARM NEON)
    1.19 +        AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
    1.20 +        .text
    1.21 +        .fpu neon
    1.22 +        .arch armv7a
    1.23 +        .object_arch armv4
    1.24 +        .eabi_attribute 10, 0
    1.25 +        .arm
    1.26 +        .altmacro
    1.27 +        #ifndef __ARM_EABI__
    1.28 +        #error EABI is required (to be sure that calling conventions are compatible)
    1.29 +        #endif
    1.30 +        pld [r0]
    1.31 +        vmovn.u16 d0, q0
    1.32 +        ]])], have_arm_neon=yes)
    1.33 +        AC_MSG_RESULT($have_arm_neon)
    1.34 +        
    1.35 +        CFLAGS="$save_CFLAGS"
    1.36 +        
    1.37 +        if test x$have_arm_neon = xyes; then
    1.38 +            AC_DEFINE(SDL_ARM_NEON_BLITTERS)
    1.39 +dnl            SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-neon*.c"
    1.40 +            SOURCES="$SOURCES $srcdir/src/video/arm/pixman-arm-neon*.S"
    1.41 +        fi
    1.42 +    fi
    1.43 +}
    1.44 +
    1.45  dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
    1.46  dnl  Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
    1.47  CheckVisibilityHidden()
    1.48 @@ -2473,6 +2511,7 @@
    1.49          CheckNASM
    1.50          CheckAltivec
    1.51          CheckARM
    1.52 +        CheckNEON
    1.53          CheckOSS
    1.54          CheckDMEDIA
    1.55          CheckMME