[vectorIntrinsics] RFR: 8263424: Extend vector size support for SVE [v2]
Ningsheng Jian
njian at openjdk.java.net
Thu Apr 8 10:23:53 UTC 2021
> This patch adds support of vector operations with size less than MaxVectorSize for SVE. Basically, for general vector operations, we simply keep original operations, i.e. doing a full vector length operations, but for load/store and reduction operations, we use
> predicate operations to make sure only vector elements in the size limit are loaded/stored/calculated.
>
> This patch also fixes an SVE load/store addressing mode usage issue. For SVE load/store scalar plus immediate, the immediate displacements are calculated by both vector element size and memory element size. As the existing vmemA_immIOffset4 and vmemA_immLOffset4 does not take into account of the vector and memory element size difference, we should not use them for extend/narrow forms.
>
> Tested with tier1 and jdk:tier3. jdk/incubator/vector cases have also been verified with different MaxVectorSize options.
Ningsheng Jian has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:
- No need to check type for AddReductionVL
- Merge 'panama-vector/vectorIntrinsics' into HEAD
- 8263424: Extend vector size support for SVE
This patch adds support of vector operations with size less than
MaxVectorSize for SVE. Basically, for general vector operations, we
simply keep original operations, i.e. doing a full vector length
operations, but for load/store and reduction operations, we use
predicate operations to make sure only vector elements in the size
limit are loaded/stored/calculated.
This patch also fixes an SVE load/store addressing mode usage issue.
For SVE load/store scalar plus immediate, the immediate displacements
are calculated by both vector element size and memory element size. As
the existing vmemA_immIOffset4 and vmemA_immLOffset4 does not take into
account of the vector and memory element size difference, we should not
use them for extend/narrow forms.
Tested with tier1 and jdk:tier3. jdk/incubator/vector cases have also
been verified with different MaxVectorSize options.
-------------
Changes: https://git.openjdk.java.net/panama-vector/pull/49/files
Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=49&range=01
Stats: 1133 lines in 5 files changed: 667 ins; 31 del; 435 mod
Patch: https://git.openjdk.java.net/panama-vector/pull/49.diff
Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/49/head:pull/49
PR: https://git.openjdk.java.net/panama-vector/pull/49
More information about the panama-dev
mailing list