Skip to content

Commit 20b1fe9

Browse files
committed
build: disable SHANI when SSE4.1 disabled
1 parent aca4e11 commit 20b1fe9

File tree

1 file changed

+28
-16
lines changed

1 file changed

+28
-16
lines changed

configure.ac

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -511,22 +511,34 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
511511
)
512512
CXXFLAGS="$TEMP_CXXFLAGS"
513513

514-
TEMP_CXXFLAGS="$CXXFLAGS"
515-
CXXFLAGS="$X86_SHANI_CXXFLAGS $CXXFLAGS"
516-
AC_MSG_CHECKING([for x86 SHA-NI intrinsics])
517-
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
518-
#include <stdint.h>
519-
#include <immintrin.h>
520-
]],[[
521-
__m128i i = _mm_set1_epi32(0);
522-
__m128i j = _mm_set1_epi32(1);
523-
__m128i k = _mm_set1_epi32(2);
524-
return _mm_extract_epi32(_mm_sha256rnds2_epu32(i, i, k), 0);
525-
]])],
526-
[ AC_MSG_RESULT([yes]); enable_x86_shani=yes; AC_DEFINE([ENABLE_X86_SHANI], [1], [Define this symbol to build code that uses x86 SHA-NI intrinsics]) ],
527-
[ AC_MSG_RESULT([no])]
528-
)
529-
CXXFLAGS="$TEMP_CXXFLAGS"
514+
dnl SHANI depends on SSE4.1 so only check if that is already enabled
515+
if test "x$enable_sse41" = "xyes"; then
516+
TEMP_CXXFLAGS="$CXXFLAGS"
517+
CXXFLAGS="$X86_SHANI_CXXFLAGS $CXXFLAGS"
518+
AC_MSG_CHECKING([for x86 SHA-NI intrinsics])
519+
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
520+
#include <stdint.h>
521+
#include <immintrin.h>
522+
]],[[
523+
__m128i i = _mm_set1_epi32(0);
524+
__m128i j = _mm_set1_epi32(1);
525+
__m128i k = _mm_set1_epi32(2);
526+
return _mm_extract_epi32(_mm_sha256rnds2_epu32(i, i, k), 0);
527+
]])],
528+
[ AC_MSG_RESULT([yes])
529+
enable_x86_shani=yes
530+
AC_DEFINE([ENABLE_X86_SHANI], [1], [Define this symbol to build code that uses x86 SHA-NI intrinsics]) ],
531+
[ AC_MSG_RESULT([no])
532+
enable_x86_shani=no ]
533+
)
534+
CXXFLAGS="$TEMP_CXXFLAGS"
535+
else
536+
enable_x86_shani=no
537+
AC_MSG_WARN([SSE4.1 not enabled. SHANI support will be disabled.])
538+
fi
539+
540+
dnl Ensure the conditional is set correctly
541+
AM_CONDITIONAL([ENABLE_X86_SHANI], [test "x$enable_x86_shani" = "xyes"])
530542

531543
# ARM
532544
AX_CHECK_COMPILE_FLAG([-march=armv8-a+crc+crypto], [ARM_CRC_CXXFLAGS="-march=armv8-a+crc+crypto"], [], [$CXXFLAG_WERROR])

0 commit comments

Comments
 (0)