annotate src/opus-1.3/m4/as-gcc-inline-assembly.m4 @ 169:223a55898ab9 tip default

Add null config files
author Chris Cannam <cannam@all-day-breakfast.com>
date Mon, 02 Mar 2020 14:03:47 +0000
parents 4664ac0c1032
children
rev   line source
cannam@154 1 dnl as-gcc-inline-assembly.m4 0.1.0
cannam@154 2
cannam@154 3 dnl autostars m4 macro for detection of gcc inline assembly
cannam@154 4
cannam@154 5 dnl David Schleef <ds@schleef.org>
cannam@154 6
cannam@154 7 dnl AS_COMPILER_FLAG(ACTION-IF-ACCEPTED, [ACTION-IF-NOT-ACCEPTED])
cannam@154 8 dnl Tries to compile with the given CFLAGS.
cannam@154 9 dnl Runs ACTION-IF-ACCEPTED if the compiler can compile with the flags,
cannam@154 10 dnl and ACTION-IF-NOT-ACCEPTED otherwise.
cannam@154 11
cannam@154 12 AC_DEFUN([AS_GCC_INLINE_ASSEMBLY],
cannam@154 13 [
cannam@154 14 AC_MSG_CHECKING([if compiler supports gcc-style inline assembly])
cannam@154 15
cannam@154 16 AC_TRY_COMPILE([], [
cannam@154 17 #ifdef __GNUC_MINOR__
cannam@154 18 #if (__GNUC__ * 1000 + __GNUC_MINOR__) < 3004
cannam@154 19 #error GCC before 3.4 has critical bugs compiling inline assembly
cannam@154 20 #endif
cannam@154 21 #endif
cannam@154 22 __asm__ (""::) ], [flag_ok=yes], [flag_ok=no])
cannam@154 23
cannam@154 24 if test "X$flag_ok" = Xyes ; then
cannam@154 25 $1
cannam@154 26 true
cannam@154 27 else
cannam@154 28 $2
cannam@154 29 true
cannam@154 30 fi
cannam@154 31 AC_MSG_RESULT([$flag_ok])
cannam@154 32 ])
cannam@154 33
cannam@154 34 AC_DEFUN([AS_ASM_ARM_NEON],
cannam@154 35 [
cannam@154 36 AC_MSG_CHECKING([if assembler supports NEON instructions on ARM])
cannam@154 37
cannam@154 38 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__("vorr d0,d0,d0")])],
cannam@154 39 [AC_MSG_RESULT([yes])
cannam@154 40 $1],
cannam@154 41 [AC_MSG_RESULT([no])
cannam@154 42 $2])
cannam@154 43 ])
cannam@154 44
cannam@154 45 AC_DEFUN([AS_ASM_ARM_NEON_FORCE],
cannam@154 46 [
cannam@154 47 AC_MSG_CHECKING([if assembler supports NEON instructions on ARM])
cannam@154 48
cannam@154 49 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__(".arch armv7-a\n.fpu neon\n.object_arch armv4t\nvorr d0,d0,d0")])],
cannam@154 50 [AC_MSG_RESULT([yes])
cannam@154 51 $1],
cannam@154 52 [AC_MSG_RESULT([no])
cannam@154 53 $2])
cannam@154 54 ])
cannam@154 55
cannam@154 56 AC_DEFUN([AS_ASM_ARM_MEDIA],
cannam@154 57 [
cannam@154 58 AC_MSG_CHECKING([if assembler supports ARMv6 media instructions on ARM])
cannam@154 59
cannam@154 60 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__("shadd8 r3,r3,r3")])],
cannam@154 61 [AC_MSG_RESULT([yes])
cannam@154 62 $1],
cannam@154 63 [AC_MSG_RESULT([no])
cannam@154 64 $2])
cannam@154 65 ])
cannam@154 66
cannam@154 67 AC_DEFUN([AS_ASM_ARM_MEDIA_FORCE],
cannam@154 68 [
cannam@154 69 AC_MSG_CHECKING([if assembler supports ARMv6 media instructions on ARM])
cannam@154 70
cannam@154 71 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__(".arch armv6\n.object_arch armv4t\nshadd8 r3,r3,r3")])],
cannam@154 72 [AC_MSG_RESULT([yes])
cannam@154 73 $1],
cannam@154 74 [AC_MSG_RESULT([no])
cannam@154 75 $2])
cannam@154 76 ])
cannam@154 77
cannam@154 78 AC_DEFUN([AS_ASM_ARM_EDSP],
cannam@154 79 [
cannam@154 80 AC_MSG_CHECKING([if assembler supports EDSP instructions on ARM])
cannam@154 81
cannam@154 82 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__("qadd r3,r3,r3")])],
cannam@154 83 [AC_MSG_RESULT([yes])
cannam@154 84 $1],
cannam@154 85 [AC_MSG_RESULT([no])
cannam@154 86 $2])
cannam@154 87 ])
cannam@154 88
cannam@154 89 AC_DEFUN([AS_ASM_ARM_EDSP_FORCE],
cannam@154 90 [
cannam@154 91 AC_MSG_CHECKING([if assembler supports EDSP instructions on ARM])
cannam@154 92
cannam@154 93 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[__asm__(".arch armv5te\n.object_arch armv4t\nqadd r3,r3,r3")])],
cannam@154 94 [AC_MSG_RESULT([yes])
cannam@154 95 $1],
cannam@154 96 [AC_MSG_RESULT([no])
cannam@154 97 $2])
cannam@154 98 ])