[SCM] The rsync repository. - branch master updated
Rsync CVS commit messages
rsync-cvs at lists.samba.org
Wed Oct 7 05:41:25 UTC 2020
The branch, master has been updated
via b7fab6f2 Allow cross-compilation with SIMD (x86_84) (#104)
via 9fc7deab Update CI builds to new path-setting idiom.
from b115bc8a Silence a few more warnings.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit b7fab6f285ff0ff3816b109a8c3131b6ded0b484
Author: edo <edo.rus at gmail.com>
Date: Wed Oct 7 08:33:57 2020 +0300
Allow cross-compilation with SIMD (x86_84) (#104)
Replace runtime SIMD check with a compile-only test in case of
cross-compilation.
You can still use '--enable-simd=no' to build x86_64 code without
SIMD instructions.
commit 9fc7deab0d917db5ddcdc752be13853039c8f877
Author: Wayne Davison <wayne at opencoder.net>
Date: Tue Oct 6 22:28:17 2020 -0700
Update CI builds to new path-setting idiom.
-----------------------------------------------------------------------
Summary of changes:
.github/workflows/build.yml | 6 +++---
configure.ac | 20 +++++++++++++-------
2 files changed, 16 insertions(+), 10 deletions(-)
Changeset truncated at 500 lines:
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 84f7afe8..65de5a0d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -20,7 +20,7 @@ jobs:
run: |
sudo apt-get install acl libacl1-dev attr libattr1-dev liblz4-dev libzstd-dev libxxhash-dev python3-cmarkgfm openssl wget
wget https://download.samba.org/pub/rsync/generated-files/git-version.h
- echo "::add-path::/usr/local/bin"
+ echo "/usr/local/bin" >>$GITHUB_PATH
- name: configure
run: ./configure
- name: make
@@ -57,7 +57,7 @@ jobs:
brew install automake openssl xxhash zstd lz4 wget
sudo pip3 install commonmark
wget https://download.samba.org/pub/rsync/generated-files/git-version.h
- echo "::add-path::/usr/local/bin"
+ echo "/usr/local/bin" >>$GITHUB_PATH
- name: configure
run: CPPFLAGS=-I/usr/local/opt/openssl/include/ LDFLAGS=-L/usr/local/opt/openssl/lib/ ./configure
- name: make
@@ -93,7 +93,7 @@ jobs:
run: |
cyg-get make autoconf automake gcc-core attr libattr-devel python3 python36-commonmark libzstd-devel liblz4-devel libssl-devel libxxhash0 libxxhash-devel
curl.exe -o git-version.h https://download.samba.org/pub/rsync/generated-files/git-version.h
- echo "::add-path::C:/tools/cygwin/bin"
+ echo "C:/tools/cygwin/bin" >>$GITHUB_PATH
- name: configure
run: bash -c './configure'
- name: make
diff --git a/configure.ac b/configure.ac
index 3fd7e5d5..e469981b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -208,12 +208,7 @@ AC_ARG_ENABLE(simd,
# Clag is crashing with -g -O2, so we'll get rid of -g for now.
CXXFLAGS=`echo "$CXXFLAGS" | sed 's/-g //'`
-
-if test x"$enable_simd" != x"no"; then
- # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
- if test x"$host_cpu" = x"x86_64"; then
- AC_LANG(C++)
- AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdio.h>
+m4_define(SIMD_X86_64_TEST, [[#include <stdio.h>
#include <immintrin.h>
__attribute__ ((target("default"))) int test_ssse3(int x) { return x; }
__attribute__ ((target("default"))) int test_sse2(int x) { return x; }
@@ -233,7 +228,18 @@ __attribute__ ((target("ssse3"))) void more_testing(char* buf, int len)
in8_2 = _mm_lddqu_si128((__m128i_u*)&buf[i + 16]);
}
}
-]], [[if (test_ssse3(42) != 42 || test_sse2(42) != 42 || test_avx2(42) != 42) exit(1);]])],[CXX_OK=yes],[CXX_OK=no],[CXX_OK=no])
+]])
+
+if test x"$enable_simd" != x"no"; then
+ # For x86-64 SIMD, g++ >=5 or clang++ >=7 is required
+ if test x"$host_cpu" = x"x86_64"; then
+ AC_LANG(C++)
+ if test x"$host_cpu" = x"$build_cpu"; then
+ AC_RUN_IFELSE([AC_LANG_PROGRAM([SIMD_X86_64_TEST],[[if (test_ssse3(42) != 42 || test_sse2(42) != 42 || test_avx2(42) != 42) exit(1);]])],
+ [CXX_OK=yes],[CXX_OK=no])
+ else
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([SIMD_X86_64_TEST])],[CXX_OK=yes],[CXX_OK=no])
+ fi
AC_LANG(C)
if test x"$CXX_OK" = x"yes"; then
# AC_MSG_RESULT() is called below.
--
The rsync repository.
More information about the rsync-cvs
mailing list