Remove force-sse2 config option from x86 builds.#1982
Conversation
WalkthroughRemoves the FORCE_SSE2 build/configure option, its documentation entry, and any conditional -DX86_NOCHECK_SSE2 propagation; simplifies SSE2 runtime gating by removing X86_NOCHECK_SSE2 checks so runtime selection depends only on target width and cf.x86.has_sse2. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant App
participant Init as Library Init
participant CPU as CPU Feature Probe
App->>Init: initialize()
Init->>CPU: detect_features()
CPU-->>Init: cf.x86.has_sse2
alt 64-bit target
Note over Init: SSE2 codepaths enabled (compile-time/layout unchanged)
Init->>Init: select SSE2 implementations
else 32-bit target
alt cf.x86.has_sse2 == true
Init->>Init: select SSE2 implementations
else cf.x86.has_sse2 == false
Init->>Init: select non-SSE2 implementations
end
end
Note over Init: Removed build-time override path (FORCE_SSE2 / X86_NOCHECK_SSE2)
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (5)
💤 Files with no reviewable changes (3)
🔇 Additional comments (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
CMakeLists.txt(0 hunks)README.md(0 hunks)configure(0 hunks)functable.c(1 hunks)
💤 Files with no reviewable changes (3)
- README.md
- CMakeLists.txt
- configure
🧰 Additional context used
🧬 Code graph analysis (1)
functable.c (1)
arch/x86/chunkset_avx2.c (1)
loadchunk(44-46)
Due to major refactoring done long ago, this option no longer avoids a branch in a hot path, it currently only removes a single if check during init.
4d17069 to
bbb4e33
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #1982 +/- ##
============================================
+ Coverage 39.28% 80.93% +41.64%
============================================
Files 73 161 +88
Lines 7904 13741 +5837
Branches 1280 3121 +1841
============================================
+ Hits 3105 11121 +8016
+ Misses 4575 1610 -2965
- Partials 224 1010 +786 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Due to major refactoring done long ago, this option no longer avoids a branch in a hot path, it currently only removes a single if check during init.
Summary by CodeRabbit