From 7ff5da5c33366f65f9527ac112feadb6ff224f4c Mon Sep 17 00:00:00 2001 From: toge Date: Mon, 12 Dec 2022 22:05:48 +0900 Subject: [PATCH] (#14507) simdutf: add version 2.0.6 * simdutf: add version 2.0.4 * add 2.0.5 * fix typo * add version 2.0.6 --- recipes/simdutf/all/conandata.yml | 10 +++++ .../2.0.6-0002-add-workaround-gcc9.patch | 42 +++++++++++++++++++ recipes/simdutf/config.yml | 2 + 3 files changed, 54 insertions(+) create mode 100644 recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch diff --git a/recipes/simdutf/all/conandata.yml b/recipes/simdutf/all/conandata.yml index b57774fc54..b7f901dedc 100644 --- a/recipes/simdutf/all/conandata.yml +++ b/recipes/simdutf/all/conandata.yml @@ -1,4 +1,7 @@ sources: + "2.0.6": + url: "https://github.com/simdutf/simdutf/archive/refs/tags/v2.0.6.tar.gz" + sha256: "40f1f9a4403f81c2c3d736ef9c73662835b2241871caa262fcd654e0898f9e4e" "2.0.3": url: "https://github.com/simdutf/simdutf/archive/refs/tags/v2.0.3.tar.gz" sha256: "076bd07f6fd88c5befba28992cd5a9bf033225c5564d8b88559b8059c3c49cfc" @@ -9,6 +12,13 @@ sources: url: "https://github.com/simdutf/simdutf/archive/refs/tags/v1.0.1.tar.gz" sha256: "e7832ba58fb95fe00de76dbbb2f17d844a7ad02a6f5e3e9e5ce9520e820049a0" patches: + "2.0.6": + - patch_file: "patches/2.0.3-0001-fix-cmake.patch" + patch_description: "remove static build, enable rpath on macOS" + patch_type: "conan" + - patch_file: "patches/2.0.6-0002-add-workaround-gcc9.patch" + patch_description: "apply gcc8 workaround to gcc9" + patch_type: "portability" "2.0.3": - patch_file: "patches/2.0.3-0001-fix-cmake.patch" patch_description: "remove static build, enable rpath on macOS" diff --git a/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch b/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch new file mode 100644 index 0000000000..957a9759ee --- /dev/null +++ b/recipes/simdutf/all/patches/2.0.6-0002-add-workaround-gcc9.patch @@ -0,0 +1,42 @@ +diff --git a/src/icelake/icelake_utf8_common.inl.cpp b/src/icelake/icelake_utf8_common.inl.cpp +index 962700b..a192a18 100644 +--- a/src/icelake/icelake_utf8_common.inl.cpp ++++ b/src/icelake/icelake_utf8_common.inl.cpp +@@ -448,12 +448,12 @@ __m512i prev(__m512i input, __m512i previous) { + static_assert(N<=32, "N must be no larger than 32"); + const __m512i movemask = _mm512_setr_epi32(28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11); + const __m512i rotated = _mm512_permutex2var_epi32(input, movemask, previous); +-#if SIMDUTF_GCC8 +- constexpr int shift = 16-N; // workaround for GCC8 ++#if SIMDUTF_GCC8 || SIMDUTF_GCC9 ++ constexpr int shift = 16-N; // workaround for GCC8,9 + return _mm512_alignr_epi8(input, rotated, shift); + #else + return _mm512_alignr_epi8(input, rotated, 16-N); +-#endif // SIMDUTF_GCC8 ++#endif // SIMDUTF_GCC8 || SIMDUTF_GCC9 + } + + template +diff --git a/src/simdutf/icelake/intrinsics.h b/src/simdutf/icelake/intrinsics.h +index c71a085..edcd289 100644 +--- a/src/simdutf/icelake/intrinsics.h ++++ b/src/simdutf/icelake/intrinsics.h +@@ -64,7 +64,9 @@ + #if defined(__GNUC__) && !defined(__clang__) + #if __GNUC__ == 8 + #define SIMDUTF_GCC8 1 +-#endif // __GNUC__ == 8 ++#elif __GNUC__ == 9 ++#define SIMDUTF_GCC9 1 ++#endif // __GNUC__ == 8 || __GNUC__ == 9 + #endif // defined(__GNUC__) && !defined(__clang__) + + #if SIMDUTF_GCC8 +@@ -83,4 +85,4 @@ inline __m512i _mm512_set_epi8(uint8_t a0, uint8_t a1, uint8_t a2, uint8_t a3, u + } + #endif // SIMDUTF_GCC8 + +-#endif // SIMDUTF_HASWELL_INTRINSICS_H +\ No newline at end of file ++#endif // SIMDUTF_HASWELL_INTRINSICS_H diff --git a/recipes/simdutf/config.yml b/recipes/simdutf/config.yml index c0918861ce..92e4cbaa97 100644 --- a/recipes/simdutf/config.yml +++ b/recipes/simdutf/config.yml @@ -1,4 +1,6 @@ versions: + "2.0.6": + folder: all "2.0.3": folder: all "2.0.2":