cmd/asm: ARM64 NEON unsigned min and max instructions (VUMAX, VUMIN) #42326
Labels
arch-arm64
FrozenDueToAge
NeedsInvestigation
Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
I tried to use VUMAX and VUMIN to implement a vectorized sorted union algorithm used in the C versions of Roaring, to work on RoaringBitmap/roaring#288. To test them out I wrote assembler like
What did you expect to see?
It should compile.
What did you see instead?
From what I can gather, these instructions have been added in an ad hoc basis, with an ask for specific questions, as discussed in #41092. With the advent of powerful arm64 machines like AWS's Graviton 2, I imagine there will be more people wanting to write vectorized arm64. I think it is worth (1) Clearly documenting which Neon calls are supported, and (2) Porting over a large useful set of them at once. For instance, I can easily imagine wanting VUMINP, VUMINV etc.
The text was updated successfully, but these errors were encountered: