Skip to content

polyval: use cpubits crate for soft backend selection#261

Merged
tarcieri merged 1 commit intomasterfrom
polyval/use-cpubits-for-backend-selection
Jan 23, 2026
Merged

polyval: use cpubits crate for soft backend selection#261
tarcieri merged 1 commit intomasterfrom
polyval/use-cpubits-for-backend-selection

Conversation

@tarcieri
Copy link
Member

We provide both 32-bit and 64-bit pure Rust implementations of POLYVAL in soft32.rs and soft64.rs.

This commit addresses a TODO to use the cpubits crate to select between them.

It contains equivalent 64-bit overrides to what we already had, but also provides a common place to add additional such overrides for other targets in the future.

We provide both 32-bit and 64-bit pure Rust implementations of POLYVAL
in `soft32.rs` and `soft64.rs`.

This commit addresses a TODO to use the `cpubits` crate to select
between them.

It contains equivalent 64-bit overrides to what we already had, but also
provides a common place to add additional such overrides for other
targets in the future.
@tarcieri tarcieri force-pushed the polyval/use-cpubits-for-backend-selection branch from e1b8aff to bb23f39 Compare January 23, 2026 18:25
@tarcieri tarcieri merged commit ed81a2d into master Jan 23, 2026
48 checks passed
@tarcieri tarcieri deleted the polyval/use-cpubits-for-backend-selection branch January 23, 2026 18:41
@tarcieri tarcieri mentioned this pull request Feb 27, 2026
tarcieri added a commit that referenced this pull request Feb 27, 2026
## Added
- `hazmat` feature that exposes `FieldElement` type (#279)

## Changed
- Edition changed to 2024 and MSRV bumped to 1.85 (#228)
- Relax MSRV policy and allow MSRV bumps in patch releases
- Replace `polyval_force_soft` with `polyval_backend="soft"` (#259)
- Use `cpubits` crate for `soft` backend selection (#261)
- Bump `cpufeatures` to v0.3 (#292)
- Use [Reduction/Field algorithm] for parallel block processing on
  `aarch64`/`x86(_64)` (#294)
- `polyval::mulx` moved to `FieldElement::mulx` (#296)
- Update to `universal-hash` v0.6 (#310)

## Removed
- `cfg(polyval_armv8)` - now enabled by default (#214)
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.

1 participant