Skip to content
New issue

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

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

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant