diff options
author | Martin Storsjö <martin@martin.st> | 2016-07-18 23:23:50 +0300 |
---|---|---|
committer | Martin Storsjö <martin@martin.st> | 2016-07-21 12:52:10 +0300 |
commit | 6f9e34baea4f6f484392e4e67f606a0835d07b73 (patch) | |
tree | 5aee2a76ef980763851e88761b5f3b878ba37abe | |
parent | ed9b2a5178d7a7c5a95694da3a808af327f36aff (diff) | |
download | ffmpeg-6f9e34baea4f6f484392e4e67f606a0835d07b73.tar.gz |
arm: Check for support for the .fpu directive
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>
-rwxr-xr-x | configure | 4 | ||||
-rw-r--r-- | libavutil/arm/asm.S | 10 | ||||
-rw-r--r-- | tests/checkasm/arm/checkasm.S | 2 |
3 files changed, 13 insertions, 3 deletions
@@ -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 diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S index 943c1cea3f..1a048b56fb 100644 --- a/libavutil/arm/asm.S +++ b/libavutil/arm/asm.S @@ -40,6 +40,12 @@ # 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 diff --git a/tests/checkasm/arm/checkasm.S b/tests/checkasm/arm/checkasm.S index ab53d0ac06..098f22eaef 100644 --- a/tests/checkasm/arm/checkasm.S +++ b/tests/checkasm/arm/checkasm.S @@ -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 |