这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@Dead2
Copy link
Member

@Dead2 Dead2 commented Jul 21, 2023

Clean up SSE4.2 support, and no longer use asm fallback or gcc builtin.

Defines changing meaning:
X86_SSE42 used to mean the compiler supports crc asm fallback.
X86_SSE42_CRC_INTRIN used to mean compiler supports SSE4.2 intrinsics.

X86_SSE42 now means compiler supports SSE4.2 intrinsics.

This therefore also fixes the adler32_sse42 checks, since those wanted to check for SSE4.2 intrinsics but were mistakenly checking for crc asm fallback support. Now the X86_SSE42 define actually means what it appears to.

Also contains the commit to move check_c_source_compile_or_run macro to the script where it gets used, only semi-related to the rest of this PR.

Fixes #1529

Dead2 added 2 commits July 21, 2023 14:18
Defines changing meaning:
X86_SSE42 used to mean the compiler supports crc asm fallback.
X86_SSE42_CRC_INTRIN used to mean compiler supports SSE4.2 intrinsics.

X86_SSE42 now means compiler supports SSE4.2 intrinsics.

This therefore also fixes the adler32_sse42 checks, since those were depending
on SSE4.2 intrinsics but was mistakenly checking the X86_SSE42 define.
Now the X86_SSE42 define actually means what it appears to.
@Dead2 Dead2 added cleanup Improving maintainability or removing code. Build Env labels Jul 21, 2023
@codecov
Copy link

codecov bot commented Jul 21, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.01 🎉

Comparison is base (a339d85) 83.89% compared to head (c5a84b3) 83.91%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1542      +/-   ##
===========================================
+ Coverage    83.89%   83.91%   +0.01%     
===========================================
  Files          132      132              
  Lines        10850    10850              
  Branches      2794     2796       +2     
===========================================
+ Hits          9103     9105       +2     
+ Misses        1048     1047       -1     
+ Partials       699      698       -1     
Flag Coverage Δ
macos_clang 42.97% <ø> (ø)
macos_gcc 73.67% <ø> (ø)
ubuntu_clang 83.55% <ø> (+1.25%) ⬆️
ubuntu_clang_debug 83.13% <ø> (+0.97%) ⬆️
ubuntu_clang_inflate_allow_invalid_dist 82.18% <ø> (ø)
ubuntu_clang_inflate_strict 82.51% <ø> (ø)
ubuntu_clang_mmap 82.84% <ø> (+0.22%) ⬆️
ubuntu_clang_pigz 13.96% <ø> (ø)
ubuntu_clang_pigz_no_optim 11.51% <ø> (ø)
ubuntu_clang_pigz_no_threads 13.78% <ø> (ø)
ubuntu_clang_reduced_mem 83.95% <ø> (+1.02%) ⬆️
ubuntu_clang_toolchain_riscv ∅ <ø> (∅)
ubuntu_gcc 75.99% <ø> (+0.67%) ⬆️
ubuntu_gcc_aarch64 77.41% <ø> (ø)
ubuntu_gcc_aarch64_compat_no_opt 75.67% <ø> (-0.02%) ⬇️
ubuntu_gcc_aarch64_no_acle 76.22% <ø> (ø)
ubuntu_gcc_aarch64_no_neon 76.22% <ø> (ø)
ubuntu_gcc_armhf 77.48% <ø> (ø)
ubuntu_gcc_armhf_compat_no_opt 75.66% <ø> (+0.01%) ⬆️
ubuntu_gcc_armhf_no_acle 77.43% <ø> (ø)
ubuntu_gcc_armhf_no_neon 77.33% <ø> (ø)
ubuntu_gcc_armsf 74.79% <ø> (ø)
ubuntu_gcc_armsf_compat_no_opt 74.25% <ø> (ø)
ubuntu_gcc_benchmark 73.95% <ø> (+0.24%) ⬆️
ubuntu_gcc_compat_no_opt 76.86% <ø> (+0.01%) ⬆️
ubuntu_gcc_compat_sprefix 74.31% <ø> (+0.42%) ⬆️
ubuntu_gcc_m32 73.36% <ø> (ø)
ubuntu_gcc_mingw_i686 73.57% <ø> (ø)
ubuntu_gcc_mingw_x86_64 73.73% <ø> (+0.15%) ⬆️
ubuntu_gcc_mips 75.04% <ø> (ø)
ubuntu_gcc_mips64 75.06% <ø> (ø)
ubuntu_gcc_no_avx2 74.33% <ø> (-0.06%) ⬇️
ubuntu_gcc_no_ctz 74.78% <ø> (ø)
ubuntu_gcc_no_ctzll 74.77% <ø> (ø)
ubuntu_gcc_no_pclmulqdq 75.03% <ø> (+0.76%) ⬆️
ubuntu_gcc_no_sse2 74.59% <ø> (ø)
ubuntu_gcc_no_sse42 74.99% <ø> (+0.21%) ⬆️
ubuntu_gcc_o1 74.90% <ø> (+0.67%) ⬆️
ubuntu_gcc_osb ∅ <ø> (∅)
ubuntu_gcc_pigz 38.32% <ø> (+0.05%) ⬆️
ubuntu_gcc_pigz_aarch64 39.26% <ø> (ø)
ubuntu_gcc_ppc 74.05% <ø> (ø)
ubuntu_gcc_ppc64 74.49% <ø> (ø)
ubuntu_gcc_ppc64_power9 74.66% <ø> (ø)
ubuntu_gcc_ppc64le 74.50% <ø> (ø)
ubuntu_gcc_ppc64le_novsx 74.88% <ø> (ø)
ubuntu_gcc_ppc64le_power9 74.44% <ø> (ø)
ubuntu_gcc_ppc_no_power8 74.77% <ø> (ø)
ubuntu_gcc_s390x 74.93% <ø> (ø)
ubuntu_gcc_s390x_dfltcc 72.00% <ø> (ø)
ubuntu_gcc_s390x_dfltcc_compat 74.04% <ø> (ø)
ubuntu_gcc_s390x_no_crc32 74.73% <ø> (ø)
ubuntu_gcc_sparc64 74.87% <ø> (ø)
ubuntu_gcc_sprefix 73.37% <ø> (-0.16%) ⬇️
win64_gcc 74.53% <ø> (+0.45%) ⬆️
win64_gcc_compat_no_opt 74.86% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
arch/x86/insert_string_sse42.c 100.00% <ø> (ø)

... and 2 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@KungFuJesus
Copy link
Contributor

Ah cool, looks like you got to the bottom of the real issue

@Dead2
Copy link
Member Author

Dead2 commented Jul 24, 2023

This passes all tests, just waiting for reviews.

@phprus
Copy link
Contributor

phprus commented Jul 24, 2023

LGTM

@Dead2 Dead2 mentioned this pull request Jul 25, 2023
@Dead2 Dead2 merged commit 4894be9 into develop Aug 6, 2023
@Dead2 Dead2 deleted the sse42-cleanup branch September 5, 2023 12:28
@Dead2 Dead2 mentioned this pull request Oct 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Build Env cleanup Improving maintainability or removing code.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

building 2.1.3 fails

4 participants