summaryrefslogtreecommitdiffstats
path: root/m4
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2017-11-17 11:41:34 +0100
committerHarald Welte <laforge@gnumonks.org>2017-11-17 11:44:22 +0100
commitb93f60f7cd4bebbe6c26a456ea0b394fcafc731f (patch)
tree9b3f1016596a2f15f9497369165db60b2e27d797 /m4
parentd0682108964fe7928e75e24c450637a62331ad9f (diff)
conv_acc: Our code requires SSSE3, not just SSE3
The accelerated convolutional decoder uses SSSE3 instructions such as PSIGNW (via _mm_sign_epi16) which go beyond what SSE3 offers. So let's make sure we use the right compiler flag (-mssse3) and also the right runtime check. Without this patch, we would use illegal instructions e.g. on Opteron Gen3 such as Opteron 2427, which are also used as build.opensuse.org build hosts (build31 through build36) where we wouldn't pass "make check" as a result. Change-Id: I2754164384109f2821fd98ffb48f625893f2923d Fixes: OS#2386
Diffstat (limited to 'm4')
-rw-r--r--m4/ax_check_simd.m418
1 files changed, 9 insertions, 9 deletions
diff --git a/m4/ax_check_simd.m4 b/m4/ax_check_simd.m4
index 8a0ceb70..daca2beb 100644
--- a/m4/ax_check_simd.m4
+++ b/m4/ax_check_simd.m4
@@ -19,7 +19,7 @@
#
# And defines:
#
-# HAVE_AVX3 / HAVE_SSE3 / HAVE_SSE4.1
+# HAVE_AVX3 / HAVE_SSSE3 / HAVE_SSE4.1
#
# LICENSE
#
@@ -42,7 +42,7 @@ AC_DEFUN([AX_CHECK_SIMD],
AC_REQUIRE([AC_CANONICAL_HOST])
AM_CONDITIONAL(HAVE_AVX2, false)
- AM_CONDITIONAL(HAVE_SSE3, false)
+ AM_CONDITIONAL(HAVE_SSSE3, false)
AM_CONDITIONAL(HAVE_SSE4_1, false)
case $host_cpu in
@@ -57,14 +57,14 @@ AC_DEFUN([AX_CHECK_SIMD],
AC_MSG_WARN([Your compiler does not support AVX2 instructions])
fi
- AX_CHECK_COMPILE_FLAG(-msse3, ax_cv_support_sse3_ext=yes, [])
- if test x"$ax_cv_support_sse3_ext" = x"yes"; then
- SIMD_FLAGS="$SIMD_FLAGS -msse3"
- AC_DEFINE(HAVE_SSE3,,
- [Support SSE3 (Streaming SIMD Extensions 3) instructions])
- AM_CONDITIONAL(HAVE_SSE3, true)
+ AX_CHECK_COMPILE_FLAG(-mssse3, ax_cv_support_ssse3_ext=yes, [])
+ if test x"$ax_cv_support_ssse3_ext" = x"yes"; then
+ SIMD_FLAGS="$SIMD_FLAGS -mssse3"
+ AC_DEFINE(HAVE_SSSE3,,
+ [Support SSSE3 (Supplemental Streaming SIMD Extensions 3) instructions])
+ AM_CONDITIONAL(HAVE_SSSE3, true)
else
- AC_MSG_WARN([Your compiler does not support SSE3 instructions])
+ AC_MSG_WARN([Your compiler does not support SSSE3 instructions])
fi
AX_CHECK_COMPILE_FLAG(-msse4.1, ax_cv_support_sse41_ext=yes, [])