[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