Skip to content

Conversation

@Ralith
Copy link
Collaborator

@Ralith Ralith commented Oct 25, 2025

This Simd implementation has a native lane width of 1, which is convenient for reusing SIMD-capable logic to compute a single value, either because that's all you need, or to help handle an unaligned total number of inputs.

Blockers:

  • Current draft doesn't compile because using u8 as both an element and a mask type results in some type collisions. Probably easy to fix by adding a newtype. I previously tried bool as a mask type but that didn't quite work out.
  • Every Simd method is copied from Fallback. That's a lot of duplication. Should this replace Fallback? That might result in worse code for applications which actually do want data-parallelism but aren't targeting an environment otherwise supported by this crate. Is that a realistic concern?
  • Does this even solve a real problem? You can always pad unwanted lanes. That might be slower, though -- it would certainly impair any autovec.

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