This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Review at https://gerrit.osmocom.org/2519
configure.ac: check for __builtin_cpu_supports call support
The '__builtin_cpu_supports' is a GCC's built-in function which
returns a positive integer if the run-time CPU supports specified
SIMD feature and returns 0 otherwise. It is required for further
SSE optimization of Viterbi decoder.
This change adds a new check, whether compiler supports this call.
See /gcc/X86-Built-in-Functions.html at gcc.gnu.org for reference.
Change-Id: I5d52cfb3e8fab3eedc0293a2842708cbee0f476a
---
M configure.ac
1 file changed, 27 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/19/2519/1
diff --git a/configure.ac b/configure.ac
index 672a6df..1dd5930 100644
--- a/configure.ac
+++ b/configure.ac
@@ -242,6 +242,33 @@
AM_CONDITIONAL(HAVE_SSE4_1, false)
fi
+dnl Check if the compiler supports specified GCC's built-in function
+AC_DEFUN([CHECK_BUILTIN_SUPPORT], [
+ AC_CACHE_CHECK(
+ [whether ${CC} has $1 built-in],
+ [osmo_cv_cc_has_builtin], [
+ AC_LINK_IFELSE([
+ AC_LANG_PROGRAM([], [
+ __builtin_cpu_supports("sse");
+ ])
+ ],
+ [AS_VAR_SET([osmo_cv_cc_has_builtin], [yes])],
+ [AS_VAR_SET([osmo_cv_cc_has_builtin], [no])])
+ ]
+ )
+
+ AS_IF([test yes = AS_VAR_GET([osmo_cv_cc_has_builtin])], [
+ AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1), 1,
+ [Define to 1 if compiler has the '$1' built-in function])
+ ], [
+ AC_MSG_WARN($2)
+ ])
+])
+
+dnl Check if the compiler supports runtime SIMD detection
+CHECK_BUILTIN_SUPPORT([__builtin_cpu_supports],
+ [Runtime SIMD detection will be disabled])
+
AC_OUTPUT(
libosmocore.pc
libosmocodec.pc
--
To view, visit https://gerrit.osmocom.org/2519
To unsubscribe, visit https://gerrit.osmocom.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5d52cfb3e8fab3eedc0293a2842708cbee0f476a
Gerrit-PatchSet: 1
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>