[vectorIntrinsics] RFR: 8263424: Extend vector size support for SVE [v2]

Xiaohong Gong xgong at openjdk.java.net
Thu Apr 8 10:23:54 UTC 2021


On Thu, 8 Apr 2021 10:20:35 GMT, Ningsheng Jian <njian at openjdk.org> wrote:

>> 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.

Marked as reviewed by xgong (Committer).

-------------

PR: https://git.openjdk.java.net/panama-vector/pull/49


More information about the panama-dev mailing list