af9ad09683
/nxb-bin/usr/bin/cc -O2 -pipe -I/usr/local/include/gmp-api -fno-strict-aliasing -DHAVE_NEON_AARCH64 -fPIC -DGENERATED_VERSION_HEADER -I./codec/common/arm64/ -I./codec/api/svc -I./codec/common/inc -c -o codec/common/arm64/copy_mb_aarch64_neon.o codec/common/arm64/copy_mb_aarch64_neon.S <instantiation>:4:1: error: unknown directive .func WelsCopy8x8_AArch64_neon ^ codec/common/arm64/copy_mb_aarch64_neon.S:186:1: note: while in macro instantiation WELS_ASM_AARCH64_FUNC_BEGIN WelsCopy8x8_AArch64_neon ^ <instantiation>:2:1: error: unknown directive .endfunc ^ codec/common/arm64/copy_mb_aarch64_neon.S:196:1: note: while in macro instantiation WELS_ASM_AARCH64_FUNC_END ^ [...] Backout r394430 as armv6 can do NEON but not runtime detection on FreeBSD while armv8 always has NEON. So, use devel/binutils and detect NEON via compiler defines e.g., # To enable NEON on armv6 put the following into make.conf CFLAGS+= -march=armv7-a PR: 201273 (ping) MFH: 2015Q4
23 lines
614 B
C++
23 lines
614 B
C++
--- codec/common/src/cpu.cpp.orig 2015-03-25 07:43:00 UTC
|
|
+++ codec/common/src/cpu.cpp
|
|
@@ -276,9 +276,17 @@ uint32_t WelsCPUFeatureDetect (int32_t*
|
|
* that NEON and all associated features are available. */
|
|
|
|
uint32_t WelsCPUFeatureDetect (int32_t* pNumberOfLogicProcessors) {
|
|
- return WELS_CPU_ARMv7 |
|
|
- WELS_CPU_VFPv3 |
|
|
- WELS_CPU_NEON;
|
|
+ int flags = 0;
|
|
+# if __ARM_ARCH == 7
|
|
+ flags |= WELS_CPU_ARMv7;
|
|
+# endif
|
|
+# ifdef __ARM_VFPV3__
|
|
+ flags |= WELS_CPU_VFPv3;
|
|
+# endif
|
|
+# ifdef __ARM_NEON
|
|
+ flags |= WELS_CPU_NEON;
|
|
+# endif
|
|
+ return flags;
|
|
}
|
|
#endif
|
|
#elif defined(HAVE_NEON_AARCH64)
|