Browse code

configure: add support for neon intrinsics

Janne Grunau authored on 2014/05/14 06:03:28
Showing 2 changed files
... ...
@@ -130,6 +130,7 @@ $(foreach V,$(SUBDIR_VARS),$(eval $(call RESET,$(V))))
130 130
 SUBDIR := $(1)/
131 131
 include $(SRC_PATH)/$(1)/Makefile
132 132
 -include $(SRC_PATH)/$(1)/$(ARCH)/Makefile
133
+-include $(SRC_PATH)/$(1)/$(INTRINSICS)/Makefile
133 134
 include $(SRC_PATH)/library.mak
134 135
 endef
135 136
 
... ...
@@ -1397,6 +1397,10 @@ HEADERS_LIST="
1397 1397
     winsock2_h
1398 1398
 "
1399 1399
 
1400
+INTRINSICS_LIST="
1401
+    intrinsics_neon
1402
+"
1403
+
1400 1404
 MATH_FUNCS="
1401 1405
     atanf
1402 1406
     atan2f
... ...
@@ -1512,6 +1516,7 @@ HAVE_LIST="
1512 1512
     $HAVE_LIST_CMDLINE
1513 1513
     $HAVE_LIST_PUB
1514 1514
     $HEADERS_LIST
1515
+    $INTRINSICS_LIST
1515 1516
     $MATH_FUNCS
1516 1517
     $SYSTEM_FUNCS
1517 1518
     $THREADS_LIST
... ...
@@ -1651,6 +1656,7 @@ armv6_deps="arm"
1651 1651
 armv6t2_deps="arm"
1652 1652
 armv8_deps="aarch64"
1653 1653
 neon_deps_any="aarch64 arm"
1654
+intrinsics_neon_deps="neon"
1654 1655
 vfp_deps_any="aarch64 arm"
1655 1656
 vfpv3_deps="vfp"
1656 1657
 
... ...
@@ -2196,6 +2202,7 @@ nogas=":"
2196 2196
 # machine
2197 2197
 arch_default=$(uname -m)
2198 2198
 cpu="generic"
2199
+intrinsics="none"
2199 2200
 
2200 2201
 # OS
2201 2202
 target_os_default=$(tolower $(uname -s))
... ...
@@ -3928,6 +3935,8 @@ EOF
3928 3928
 
3929 3929
 fi
3930 3930
 
3931
+check_code cc arm_neon.h "int64x2_t test" && enable intrinsics_neon
3932
+
3931 3933
 check_ldflags -Wl,--as-needed
3932 3934
 
3933 3935
 if check_func dlopen; then
... ...
@@ -4423,6 +4432,8 @@ enabled_all dxva2 CoTaskMemFree &&
4423 4423
 ! enabled_any memalign posix_memalign aligned_malloc &&
4424 4424
     enabled_any $need_memalign && enable memalign_hack
4425 4425
 
4426
+map 'enabled $v && intrinsics=${v#intrinsics_}' $INTRINSICS_LIST
4427
+
4426 4428
 for thread in $THREADS_LIST; do
4427 4429
     if enabled $thread; then
4428 4430
         test -n "$thread_type" &&
... ...
@@ -4555,6 +4566,7 @@ MANDIR=\$(DESTDIR)$mandir
4555 4555
 SRC_PATH=$source_path
4556 4556
 CC_IDENT=$cc_ident
4557 4557
 ARCH=$arch
4558
+INTRINSICS=$intrinsics
4558 4559
 CC=$cc
4559 4560
 AS=$as
4560 4561
 LD=$ld