RFR: 8287028: AArch64: [vectorapi] Backend implementation of VectorMask.fromLong with SVE2 [v2]

Xiaohong Gong xgong at openjdk.java.net
Thu Jun 9 06:52:38 UTC 2022


On Thu, 2 Jun 2022 08:24:56 GMT, Eric Liu <eliu at openjdk.org> wrote:

>> This patch implements AArch64 codegen for VectorLongToMask using the
>> SVE2 BitPerm feature. With this patch, the final code (generated on an
>> SVE vector reg size of 512-bit QEMU emulator) is shown as below:
>> 
>>         mov     z17.b, #0
>>         mov     v17.d[0], x13
>>         sunpklo z17.h, z17.b
>>         sunpklo z17.s, z17.h
>>         sunpklo z17.d, z17.s
>>         mov     z16.b, #1
>>         bdep    z17.d, z17.d, z16.d
>>         cmpne   p0.b, p7/z, z17.b, #0
>
> Eric Liu has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains two commits:
> 
>  - Merge jdk:master
>    
>    Change-Id: I7cea9b028f60c447f7cc24a00d38f59e0f07ecd3
>  - AArch64: [vectorapi] Backend implementation of VectorMask.fromLong with SVE2
>    
>    This patch implements AArch64 codegen for VectorLongToMask using the
>    SVE2 BitPerm feature. With this patch, the final code (generated on an
>    SVE vector reg size of 512-bit QEMU emulator) is shown as below:
>    
>            mov     z17.b, #0
>            mov     v17.d[0], x13
>            sunpklo z17.h, z17.b
>            sunpklo z17.s, z17.h
>            sunpklo z17.d, z17.s
>            mov     z16.b, #1
>            bdep    z17.d, z17.d, z16.d
>            cmpne   p0.b, p7/z, z17.b, #0
>    
>    Change-Id: I9135fce39c8a08c72b757c78b258f5d968baa7ff

LGTM!

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

Marked as reviewed by xgong (Committer).

PR: https://git.openjdk.java.net/jdk/pull/8789


More information about the hotspot-compiler-dev mailing list