Portable SIMD Charter
September 22, 2020 ยท View on GitHub
Build and stabilize a portable SIMD API to the standard library under core::simd and std::simd.
Draw elements from the existing portable SIMD implementations out in the ecosystem:
Goals
- Determine the shape of the portable SIMD API.
- Get an unstable
std::simdandcore::simdAPI in the standard library. This may mean renamingpacked_simdtostdsimdand working directly on it, or creating a new repository and pulling in chunks of code as needed. - Produce a stabilization plan to allow portions of the API to be stabilized when they're ready, and coordinate with other unstable features.
- Respond to user feedback and review contributions to the API.
- Update RFC 2948 based on the final API and stabilization plan.
- Stabilize!
Constraints And Considerations
The initial implementation will be built on LLVM intrinsics directly rather than core::arch.
This is so we don't have to block the portable API on filling in a lot of missing intrinsics in core::arch on non-x86 platforms.
Membership
- Shepherds: @calebzulawski, @Lokathor, @workingjubilee
- Team Liason: @KodrAus
- Members: @BurntSushi, @calebzulawski, @hsivonen, @KodrAus, @Lokathor, @workingjubilee