diff --git a/configure b/configure
index 0e182b484f2a1960c36eb40327e113e0b34301cd..59438b833e8522178ccdcf683f6e4fedb2d7b79d 100755
--- a/configure
+++ b/configure
@@ -1494,6 +1494,7 @@ SYSTEM_FUNCS="
 TOOLCHAIN_FEATURES="
     as_dn_directive
     as_func
+    as_object_arch
     asm_mod_q
     attribute_may_alias
     attribute_packed
@@ -3868,6 +3869,11 @@ if enabled_any arm aarch64 || enabled_all ppc altivec && enabled asm; then
     check_as <<EOF && enable as_func
 .func test
 .endfunc
+EOF
+
+    # llvm's integrated assembler supports .object_arch from llvm 3.5
+    enabled arm && test "$objformat" = elf && check_as <<EOF && enable as_object_arch
+.object_arch armv4
 EOF
 fi
 
diff --git a/libavutil/arm/asm.S b/libavutil/arm/asm.S
index 8479304f5fdce26450135d4ef77d7659f445758d..943c1cea3fc1f21e89e0eba07762b140244dab9f 100644
--- a/libavutil/arm/asm.S
+++ b/libavutil/arm/asm.S
@@ -49,11 +49,17 @@
 #elif HAVE_ARMV5TE
         .arch           armv5te
 #endif
+#if   HAVE_AS_OBJECT_ARCH
+ELF     .object_arch    armv4
+#endif
 
 #if   HAVE_NEON
         .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
+ELF     .eabi_attribute 10, 0           @ suppress Tag_FP_arch
 #endif
 
         .syntax unified