diff options
-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 |