[vectorIntrinsics+mask] RFR: 8271313: AArch64: SVE backend support for masking operations with predicate feature [v3]
Ningsheng Jian
njian at openjdk.java.net
Tue Aug 10 03:48:47 UTC 2021
On Mon, 9 Aug 2021 07:30:09 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:
>> 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
LGTM
-------------
Marked as reviewed by njian (Committer).
PR: https://git.openjdk.java.net/panama-vector/pull/105
More information about the panama-dev
mailing list