[vectorIntrinsics+mask] RFR: 8273057: [vector] New VectorAPI "SelectiveStore"
John Rose
john.r.rose at oracle.com
Thu Sep 2 18:36:17 UTC 2021
On Aug 31, 2021, at 9:44 AM, Paul Sandoz <paul.sandoz at oracle.com<mailto:paul.sandoz at oracle.com>> wrote:
Yes, my suggestion is that a vector-to-vector compress might be a composition of mask -> partitioning shuffle -> rearrange, such that on supported architectures it reduces down to a single instruction. In combination with a store and prefix mask it may be possible to reduce further to single instruction accepting the source vector, mask, and a memory location.
As I argued in my previous, it may be just as well
to think of compress as its own primitive, even if
under the covers it is implemented using shuffle.
I think it’s worth thinking more about anti-shuffle,
what that would be like. Mathematical permutations
do not come in two kinds, but shuffles and anti-shuffles
are distinct because only the former duplicate and only
the latter collide.
More information about the panama-dev
mailing list