Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
RFC: SIMD vectors in FFI #2574
Team member @joshtriplett has proposed to merge this. The next step is review by the rest of the tagged team members:
No concerns currently listed.
Once a majority of reviewers approve (and at most 2 approvals are outstanding), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up!
See this document for info about what commands tagged team members can give me.
How vector types are passed depends on the ABI used. One could define an x86 ABI that doesn't pass vectors in registers, and in fact, the "Rust ABI" is such an ABI since it currently passes vectors by memory on x86.
FWIW this RFC does not propose always using vector registers on C FFI. Instead, it proposes passing them to C using the ABI of the target, whatever that might be. For doing that correctly, we do need to know whether the type being passed to C is a vector type, its element type, and length, because in most widely used platform ABIs those things will determine which vector register to use.