summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authorJanne Grunau <janne-libav@jannau.net>2014-05-29 14:21:05 +0200
committerJanne Grunau <janne-libav@jannau.net>2014-06-03 14:23:03 +0200
commit896a5bff64264f4d01ed98eacc97a67260c1e17e (patch)
tree97b2aa8e1a230e7fda4a1d9232b12c5500ace3c1 /configure
parent68a06b3a639ee21c78532ee4c50c3366bf890ff7 (diff)
arm: check if AS supports .dn
Move the GNU as check before the arch specific asm checks since the .dn check requires gas compatible assembler. Disable the VC-1 motion compensation NEON asm which is the only part using that directive. The integrated assembler in the upcoming clang 3.5 does not support .dn/.qn without plans to change that. Too much effort to implement it while it is rarely used. http://llvm.org/bugs/show_bug.cgi?id=18199.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure33
1 files changed, 20 insertions, 13 deletions
diff --git a/configure b/configure
index 9c6109e19e..13bcdfe4d3 100755
--- a/configure
+++ b/configure
@@ -1467,6 +1467,7 @@ SYSTEM_FUNCS="
"
TOOLCHAIN_FEATURES="
+ as_dn_directive
asm_mod_q
attribute_may_alias
attribute_packed
@@ -3721,6 +3722,20 @@ unsigned int endian = 'B' << 24 | 'I' << 16 | 'G' << 8 | 'E';
EOF
od -t x1 $TMPO | grep -q '42 *49 *47 *45' && enable bigendian
+
+if enabled asm; then
+ enabled arm && nogas=die
+ enabled_all ppc altivec && nogas=warn
+ as=${gas:=$as}
+ check_as <<EOF && enable gnu_as || \
+ $nogas "GNU assembler not found, install gas-preprocessor"
+.macro m n
+\n: .int 0
+.endm
+m x
+EOF
+fi
+
check_inline_asm inline_asm_labels '"1:\n"'
if enabled aarch64; then
@@ -3739,7 +3754,6 @@ elif enabled arm; then
check_cpp_condition stddef.h "defined __thumb__" && enable_weak thumb
enabled thumb && check_cflags -mthumb || check_cflags -marm
- nogas=die
if check_cpp_condition stddef.h "defined __ARM_PCS_VFP"; then
enable vfp_args
@@ -3767,6 +3781,11 @@ EOF
check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)'
+ check_as <<EOF && enable as_dn_directive
+ra .dn d0.i16
+.unreq ra
+EOF
+
[ $target_os != win32 ] && enabled_all armv6t2 shared !pic && enable_weak_pic
elif enabled mips; then
@@ -3792,7 +3811,6 @@ elif enabled ppc; then
# AltiVec flags: The FSF version of GCC differs from the Apple version
if enabled altivec; then
- nogas=warn
check_cflags -maltivec -mabi=altivec &&
{ check_header altivec.h && inc_altivec_h="#include <altivec.h>" ; } ||
check_cflags -faltivec
@@ -3872,17 +3890,6 @@ EOF
fi
-if enabled asm; then
- as=${gas:=$as}
- check_as <<EOF && enable gnu_as || \
- $nogas "GNU assembler not found, install gas-preprocessor"
-.macro m n
-\n: .int 0
-.endm
-m x
-EOF
-fi
-
check_ldflags -Wl,--as-needed
if check_func dlopen; then