Skip to content

Various improvements to target handling - #52

Merged
calebzulawski merged 8 commits into
masterfrom
target-fixes
Aug 14, 2026
Merged

calebzulawski merged 8 commits into
masterfrom
target-fixes

Conversation

@calebzulawski

Copy link
Copy Markdown
Owner
  • Rely on rustc for implied feature handling
  • Remove CPU multiversion targets due to instability between rustc versions
  • Expand and correct simd targets (fixes simd enables avx2 without bmi2 #51)
  • Make target-features dependency optional

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves target parsing, SIMD coverage, feature gating, and no_std support.

Changes:

  • Delegates feature validation to rustc and removes CPU specifications.
  • Expands SIMD targets with version/nightly gating.
  • Makes target-features optional and strengthens CI coverage.

Reviewed changes

Copilot reviewed 14 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
README.md Updates MSRV badge.
multiversion/tests/simd.rs Adds nightly architecture gates.
multiversion/tests/helpers.rs Gates optional dependency tests.
multiversion/tests/cfg.rs Updates target configuration tests.
multiversion/src/lib.rs Adds no_std and feature gating.
multiversion/Cargo.toml Defines MSRV and optional features.
multiversion-macros/src/target.rs Simplifies target parsing.
multiversion-macros/src/simd.rs Defines expanded SIMD targets.
multiversion-macros/src/multiversion.rs Uses centralized SIMD targets.
multiversion-macros/src/lib.rs Registers SIMD and target macros.
multiversion-macros/src/dispatcher.rs Generates deferred selected-target macros.
multiversion-macros/Cargo.toml Updates features and dependencies.
CHANGELOG.md Documents user-facing changes.
Cargo.lock Updates dependency resolution.
.github/workflows/ci.yml Expands platform and feature coverage.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread multiversion-macros/src/target.rs
Comment thread multiversion-macros/src/simd.rs Outdated
Comment thread multiversion-macros/src/simd.rs
Comment thread multiversion/src/lib.rs Outdated
calebzulawski and others added 3 commits August 14, 2026 02:06
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@calebzulawski
calebzulawski merged commit 3d196e5 into master Aug 14, 2026
17 checks passed
@Shnatsel

Shnatsel commented Sep 4, 2026

Copy link
Copy Markdown

Is there any timeline for when this is going to ship to crates.io?

I'd like to be able to point people to the #[multiversion(targets = "simd")] mechanism from my "state of SIMD" blog post this year.

@calebzulawski

Copy link
Copy Markdown
Owner Author

I'll see if I can get a release this weekend!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

simd enables avx2 without bmi2

3 participants