New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
threeway comparision support #143
Comments
@Lastique As far as I can see, the implementation of
but I'm leaving the actual change to you. (I suppose you'd want to refactor the common part out.) I haven't yet decided to definitively drop msvc-12.0 so let's not remove the unaligned load workarounds yet (although the |
It was intentional, yes. I think we should err on the side of trusting the compilers to produce whatever codegen they believe is optimal for I've looked at the generated code, and everything seems OK when using I think that the benefit we gain from just delegating the job of producing optimal codegen to the compilers and not worrying about it anymore justifies leaving small gains on the table (provided they exist at all - I haven't really measured.) Some CE links: Clang Clang We still use the hand optimized SSE2 on MSVC and under 32 bit, which is as it should be. |
Here are links for gcc 10.2 (the version used in Debian 11, which is one of the target platforms I'm interested in):
And here is gcc 12.2 (Debian 12, another target system of my interest):
(Spoiler: 10.2 and 12.2 are pretty much the same.) I think, I would still prefer SSE2 in these cases, although I haven't benchmarked yet. I definitely don't like the doubled number of loads. |
it would be great if
operator <=>
would be supportedThe text was updated successfully, but these errors were encountered: