[vectorIntrinsics] RFR: 8287289: Gather/Scatter with Index Vector
Quan Anh Mai
duke at openjdk.java.net
Wed May 25 23:46:04 UTC 2022
On Wed, 25 May 2022 08:35:53 GMT, Joshua Zhu <jzhu at openjdk.org> wrote:
> When I assist engineers to apply VectorAPI in real business scenarios, I realize that Gather/Scatter APIs depend on indexMap residing in memory.
>
> When an index map is acquired by vector operations, it is represented by IntVector. To do Gather/Scatter operations, an extra integer array must be introduced and an explicit vector store is also required ahead of each Gather/Scatter. Furthermore, the redundant memory store may cause a performance penalty.
>
> Hence I submit this change for discussion. I propose to provide Gather/Scatter API supporting index vector. This patch only includes the change for Gather API.
> It passed the jtreg tests for VectorAPI.
I think we could use `VectorShuffle` for the index map argument. They are both index vectors, after all. A problem would be that `VectorShuffle` is backed up by a byte vector, which limits the indices that can be referred to by gather/scatter. But IMO we should address that problem also. Thanks.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/201
More information about the panama-dev
mailing list