test-for-new-AVX-intrinsic-too.patch

text/x-diff

Filename: test-for-new-AVX-intrinsic-too.patch
Type: text/x-diff
Part: 0
Message: Re: Improve CRC32C performance on SSE4.2

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
File+
config/c-compiler.m4 1 0
configure 1 0
meson.build 1 0
diff --git a/config/c-compiler.m4 b/config/c-compiler.m4
index 5f3e1d1faf9..da40bd6a647 100644
--- a/config/c-compiler.m4
+++ b/config/c-compiler.m4
@@ -602,6 +602,7 @@ AC_CACHE_CHECK([for _mm512_clmulepi64_epi128], [Ac_cachevar],
     {
       __m128i z;
 
+      x = _mm512_xor_si512(_mm512_zextsi128_si512(_mm_cvtsi32_si128(0)), x);
       y = _mm512_clmulepi64_epi128(x, y, 0);
       z = _mm_ternarylogic_epi64(
                 _mm512_castsi512_si128(y),
diff --git a/configure b/configure
index 4f15347cc95..3d3d3db97a4 100755
--- a/configure
+++ b/configure
@@ -18227,6 +18227,7 @@ else
     {
       __m128i z;
 
+      x = _mm512_xor_si512(_mm512_zextsi128_si512(_mm_cvtsi32_si128(0)), x);
       y = _mm512_clmulepi64_epi128(x, y, 0);
       z = _mm_ternarylogic_epi64(
                 _mm512_castsi512_si128(y),
diff --git a/meson.build b/meson.build
index 474763ad19f..6ffe7b47275 100644
--- a/meson.build
+++ b/meson.build
@@ -2465,6 +2465,7 @@ int main(void)
 {
      __m128i z;
 
+    x = _mm512_xor_si512(_mm512_zextsi128_si512(_mm_cvtsi32_si128(0)), x);
     y = _mm512_clmulepi64_epi128(x, y, 0);
     z = _mm_ternarylogic_epi64(
             _mm512_castsi512_si128(y),