linebender / linebender/fearless_simd
Optimize 4-way interleaved load/store on x86
- Dominant language
- Rust
- Stars
- 457
- Forks
- 30
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 25
Description
NEON has a native instruction for this, but x86 does not, so it has to be emulated.
Right now there is no dedicated AVX2 lowering, it's all just sequences of SSE unpacks. It's almost certainly possible to do better.
#298 addressed the API shortcomings but didn't change performance.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the 4-way interleaved load/store lowering and its current SSE-unpack sequence, then compare it with the NEON implementation and the lack of a dedicated AVX2 lowering. Done means improving the x86 implementation's performance while preserving the API changes addressed by #298 and existing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 48/100