Currently in C++ you can overload the comparison operators to wrap SIMD component wise compare producing select masks, e.g. by introducing a concept of a ‘vectorized bool’.
Could the comparison operators be separated from the PartialOrd trait to allow them to be overloaded like this. put the operators in a ‘Compare’ trait?
Is it possible to reconcile both uses of the comparison operators - perhaps e.g. could PartialOrd give ‘fn partial_cmp’, and the lib provides a generic impl of Compare for any T:PartialOrd. , whilst SIMD types of [T:PartialOrd,…N] would implement Compare<[u32,…N]> …but not PartialOrd