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