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

Eric Liu eliu at openjdk.java.net
Thu Jun 2 08:24:56 UTC 2022


> 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

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

Changes: https://git.openjdk.java.net/jdk/pull/8789/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8789&range=01
  Stats: 133 lines in 8 files changed: 101 ins; 0 del; 32 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8789.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8789/head:pull/8789

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


More information about the hotspot-compiler-dev mailing list