arm: Check for support for the .fpu directive
authorMartin Storsjö <martin@martin.st>
Mon, 18 Jul 2016 20:23:50 +0000 (23:23 +0300)
committerMartin Storsjö <martin@martin.st>
Thu, 21 Jul 2016 09:52:10 +0000 (12:52 +0300)
When targeting COFF (windows), clang doesn't support this
directive (while binutils supports it for all targets).

Signed-off-by: Martin Storsjö <martin@martin.st>
configure
libavutil/arm/asm.S
tests/checkasm/arm/checkasm.S

index ce52f50..37c5611 100755 (executable)
--- a/configure
+++ b/configure
@@ -1597,6 +1597,7 @@ SYSTEM_FUNCS="
 
 TOOLCHAIN_FEATURES="
     as_dn_directive
+    as_fpu_directive
     as_func
     as_object_arch
     asm_mod_q
@@ -4243,6 +4244,9 @@ EOF
 ra .dn d0.i16
 .unreq ra
 EOF
+    check_as <<EOF && enable as_fpu_directive
+.fpu neon
+EOF
 
     # llvm's integrated assembler supports .object_arch from llvm 3.5
     [ "$objformat" = elf ] && check_as <<EOF && enable as_object_arch
index 943c1ce..1a048b5 100644 (file)
 #   define FUNC @
 #endif
 
+#if HAVE_AS_FPU_DIRECTIVE
+#   define FPU
+#else
+#   define FPU @
+#endif
+
 #if   HAVE_NEON
         .arch           armv7-a
 #elif HAVE_ARMV6T2
@@ -54,11 +60,11 @@ ELF     .object_arch    armv4
 #endif
 
 #if   HAVE_NEON
-        .fpu            neon
+FPU     .fpu            neon
 ELF     .eabi_attribute 10, 0           @ suppress Tag_FP_arch
 ELF     .eabi_attribute 12, 0           @ suppress Tag_Advanced_SIMD_arch
 #elif HAVE_VFP
-        .fpu            vfp
+FPU     .fpu            vfp
 ELF     .eabi_attribute 10, 0           @ suppress Tag_FP_arch
 #endif
 
index ab53d0a..098f22e 100644 (file)
@@ -24,7 +24,7 @@
 
 /* override fpu so that NEON instructions are rejected */
 #if HAVE_VFP
-.fpu            vfp
+FPU     .fpu            vfp
 ELF     .eabi_attribute 10, 0           @ suppress Tag_FP_arch
 #endif