Browse Source

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>
tags/n3.3
Martin Storsjö 9 years ago
parent
commit
6f9e34baea
3 changed files with 13 additions and 3 deletions
  1. +4
    -0
      configure
  2. +8
    -2
      libavutil/arm/asm.S
  3. +1
    -1
      tests/checkasm/arm/checkasm.S

+ 4
- 0
configure View File

@@ -1597,6 +1597,7 @@ SYSTEM_FUNCS="

TOOLCHAIN_FEATURES="
as_dn_directive
as_fpu_directive
as_func
as_object_arch
asm_mod_q
@@ -4242,6 +4243,9 @@ EOF
check_as <<EOF && enable as_dn_directive
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


+ 8
- 2
libavutil/arm/asm.S View File

@@ -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



+ 1
- 1
tests/checkasm/arm/checkasm.S View 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



Loading…
Cancel
Save