[vectorIntrinsics+mask] RFR: 8271313: AArch64: SVE backend support for masking operations with predicate feature [v3]

Xiaohong Gong xgong at openjdk.java.net
Mon Aug 9 07:30:09 UTC 2021


> This is the initial SVE backend implementations for all masking operations with the SVE predicate feature. It contains:
>  - SVE codegen for vector operations under a mask controlling
>  - SVE codegen for vector mask operations with predicate instructions
> 
> The size of libjvm.so increases about 1.86% after adding all the backend changes. And the performance gain is about 3.7% ~ 7.88x for some masking operations of IntMaxVector with SVE 512 bits:
> 
> Benchmark                         Gain
> IntMaxVector.ABSMasked            1.198
> IntMaxVector.ADDMasked            1.040
> IntMaxVector.ADDMaskedLanes       1.068
> IntMaxVector.ANDMasked            1.117
> IntMaxVector.ANDMaskedLanes       1.101
> IntMaxVector.AND_NOTMasked        1.037
> IntMaxVector.ASHRMasked           1.286
> IntMaxVector.ASHRMaskedShift      1.096
> IntMaxVector.BITWISE_BLENDMasked  1.085
> IntMaxVector.LSHRMasked           1.405
> IntMaxVector.LSHRMaskedShift      1.092
> IntMaxVector.MAXMaskedLanes       1.079
> IntMaxVector.MINMaskedLanes       1.079
> IntMaxVector.MULMasked            1.370
> IntMaxVector.ORMasked             1.038
> IntMaxVector.ORMaskedLanes        1.103
> IntMaxVector.SUBMasked            1.043
> IntMaxVector.XORMasked            1.151
> IntMaxVector.XORMaskedLanes       1.103
> IntMaxVector.allTrue              1.157
> IntMaxVector.anyTrue              1.158
> IntMaxVector.gatherMasked         7.880
> IntMaxVector.scatterMasked        4.732

Xiaohong Gong has updated the pull request incrementally with one additional commit since the last revision:

  Fix 64 bits vector tests fail issue

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

Changes:
  - all: https://git.openjdk.java.net/panama-vector/pull/105/files
  - new: https://git.openjdk.java.net/panama-vector/pull/105/files/0f56d0a6..cdf6fc6c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=105&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=105&range=01-02

  Stats: 7 lines in 3 files changed: 2 ins; 2 del; 3 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/105.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/105/head:pull/105

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


More information about the panama-dev mailing list