Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cases/lame -- autoconf patch for SSE compilation issues #10

Open
roachspray opened this issue Dec 11, 2019 · 1 comment
Open

cases/lame -- autoconf patch for SSE compilation issues #10

roachspray opened this issue Dec 11, 2019 · 1 comment
Assignees
Labels
bug Something isn't working

Comments

@roachspray
Copy link
Contributor

roachspray commented Dec 11, 2019

Include the following patch to deal with SSE inlining issues (based on FreeBSD PR 206620):

--- configure.in.orig   2012-02-28 19:50:27.000000000 +0100
+++ configure.in        2016-01-25 20:15:46.034842000 +0100
@@ -96,9 +96,19 @@
                 sys/soundcard.h \
                 sys/time.h \
                 unistd.h \
-                xmmintrin.h \
                 linux/soundcard.h)

+dnl Checks for actually working SSE intrinsics
+AC_MSG_CHECKING(working SSE intrinsics)
+AC_COMPILE_IFELSE(
+    [AC_LANG_PROGRAM(
+       [[#include <xmmintrin.h>]],
+       [[_mm_sfence();]])],
+    [AC_DEFINE([HAVE_XMMINTRIN_H], [1], [Define if SSE intrinsics work.])
+     ac_cv_header_xmmintrin_h=yes],
+   [ac_cv_header_xmmintrin_h=no])
+AC_MSG_RESULT(${ac_cv_header_xmmintrin_h})
+
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_C_INLINE
--- configure.orig      2012-02-28 19:54:37.000000000 +0100
+++ configure   2016-01-25 20:16:07.429512000 +0100
@@ -11922,7 +11918,6 @@
                 sys/soundcard.h \
                 sys/time.h \
                 unistd.h \
-                xmmintrin.h \
                 linux/soundcard.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
@@ -11937,6 +11932,31 @@
 done


+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking working SSE intrinsics" >&5
+$as_echo_n "checking working SSE intrinsics... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <xmmintrin.h>
+int
+main ()
+{
+_mm_sfence();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+$as_echo "#define HAVE_XMMINTRIN_H 1" >>confdefs.h
+
+     ac_cv_header_xmmintrin_h=yes
+else
+  ac_cv_header_xmmintrin_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_cv_header_xmmintrin_h}" >&5
+$as_echo "${ac_cv_header_xmmintrin_h}" >&6; }
+
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
 $as_echo_n "checking for an ANSI C-conforming const... " >&6; }
 if ${ac_cv_c_const+:} false; then :

@roachspray roachspray added the bug Something isn't working label Dec 11, 2019
@roachspray roachspray changed the title cases/lame -- autoconf patch cases/lame -- autoconf patch for SSE compilation issues Dec 11, 2019
@roachspray
Copy link
Contributor Author

Being dealt with on branch build_and_version_cleanup

@roachspray roachspray self-assigned this Dec 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant