From f7b4b750d8930b5bb6696cea6d609dc70a0597db Mon Sep 17 00:00:00 2001
From: mikael <mikael@FreeBSD.org>
Date: Tue, 21 Sep 2021 19:46:33 +0200
Subject: [PATCH] Detect FP16 on FreeBSD aarch64

---
 modules/core/src/system.cpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git modules/core/src/system.cpp modules/core/src/system.cpp
index d8b8f6755950..df9e8a0ce76f 100644
--- modules/core/src/system.cpp
+++ modules/core/src/system.cpp
@@ -533,7 +533,7 @@ struct HWFeatures
         }
     #endif // CV_CPUID_X86
 
-    #if defined __ANDROID__ || defined __linux__
+    #if defined __ANDROID__ || defined __linux__ || defined __FreeBSD__
     #ifdef __aarch64__
         have[CV_CPU_NEON] = true;
         have[CV_CPU_FP16] = true;
@@ -559,7 +559,7 @@ struct HWFeatures
         CV_LOG_INFO(NULL, "- FP16 instructions is NOT enabled via build flags");
         #endif
       #endif
-    #elif defined __arm__
+    #elif defined __arm__ && !defined __FreeBSD__
         int cpufile = open("/proc/self/auxv", O_RDONLY);
 
         if (cpufile >= 0)
