cheackasm/arm: remove NEON instructions from checkasm_checked_call_vfp
authorJanne Grunau <janne-libav@jannau.net>
Sun, 17 Jul 2016 08:43:10 +0000 (10:43 +0200)
committerJanne Grunau <janne-libav@jannau.net>
Sun, 17 Jul 2016 09:28:21 +0000 (11:28 +0200)
Fixes AS error on non NEON builds introduced in 71a04721145. Also
set the fpu directly to vfp in checkasm.S to cause build errors on NEON
builds.

tests/checkasm/arm/checkasm.S

index 5aa92c5..2768bb3 100644 (file)
 
 #include "libavutil/arm/asm.S"
 
+/* override fpu so that NEON instructions are rejected */
+#if HAVE_VFP
+.fpu            vfp
+ELF     .eabi_attribute 10, 0           @ suppress Tag_FP_arch
+#endif
+
 const register_init, align=3
     .quad 0x21f86d66c8ca00ce
     .quad 0x75b6ba21077c48ad
@@ -85,9 +91,10 @@ function checkasm_checked_call_\variant, export=1
     movrel      r12, register_init
 .ifc \variant, vfp
 .macro check_reg_vfp, dreg, offset
-    vldr        d0,  [r12, #8 * (\offset)]
-    veor        d0,  d0,  \dreg
-    vmov        r2,  r3,  d0
+    ldrd        r2,  r3,  [r12, #8 * (\offset)]
+    vmov        r0,  lr,  \dreg
+    eor         r2,  r2,  r0
+    eor         r3,  r3,  lr
     orrs        r2,  r2,  r3
     bne         4f
 .endm