The trait is unsafe and currently says:
Implementing this trait on non-scalar or non-vector types may break assumptions about other unsafe code, and should not be done.
Fair enough, but not particularly useful for someone who would like to implement it.
It'd be great if there was a way to derive its implementation with a derive macro. Very helpful for new types, structs with two numeric fields, etc. Without this capability things like subgroup_shuffle() currently require substantial boilerplate.