On Tue, Nov 12, 2019 at 10:02 AM Jakub Jelinek <ja...@redhat.com> wrote: > > On Tue, Nov 12, 2019 at 09:10:58AM +0100, Richard Biener wrote: > > On Tue, Nov 12, 2019 at 5:54 AM Jason Merrill <ja...@redhat.com> wrote: > > > > > > I'm not sure what semantics we might eventually want for vector <=>, but > > > let's > > > give a sorry for now. > > > > Given our vector extension does elementwise comparisons I don't think we can > > implement <=> in a reasonable manner. > > Why? We indeed can't return a vector of std::strong_ordering or > std::partial_ordering classes, but we could return a vector of either the > underlying integral values (0/1/-1/-127), or vector of enums from which one > could construct those std::strong_ordering or std::partial_ordering classes. > We do not support vectors of pointers and so the only possibilities are > strong orderings for integral vectors and partial orderings for floating > point vectors.
But how to we actually emit (efficient) code for this? A vector extension should produce (efficient) vector code. So unless there's convincing use-cases I'm not sure we need to do anything here. In fact other unsupported operations on vectors produce errors, not sorry(). Richard. > > Jakub >