Skip to content

Conversation

@Cydhra
Copy link
Owner

@Cydhra Cydhra commented Oct 26, 2025

Now that nightly supports portable_simd, we can attempt to replace the SIMD implementations with portable_simd.
In the current state, this does not avoid unsafe entirely, because while the BlockDescriptor struct is just a new-type for u16, Rust does not support a safe transmute to a u16 slice, which we need to load the data into SIMD registers.

This can be solved by changing the BlockDescriptor struct into a type alias. Alternatively, we could change block descriptors from u16 to [u16; 16] to force alignment, which would make transmuting entirely obsolete, since we can just operate on the entire superblock.

Since those decisions are part of #9, where we want to change the backing structs, and force alignment, this PR is blocked until those implementation choices are made.

@Cydhra Cydhra added blocked 2.0 Milestones for 2.0 Release labels Oct 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.0 Milestones for 2.0 Release blocked

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants