RFR: 8267356: AArch64: Vector API SVE codegen support [v7]

Ningsheng Jian njian at openjdk.java.net
Fri Sep 17 06:53:06 UTC 2021


> This is the integration of current SVE work done in panama-vector/vectorIntrinscs, which includes:
> 
> 1. Code generation for Vector API c2 IR nodes with SVE.
> 2. Non-max vector size support with SVE, e.g. using *128Vector (and *64Vector) APIs on 256-bit SVE environment could also generate optimized SVE instructions with predicate feature.
> 3. Some more SVE assemblers (and tests) used by the codegen part.
> 
> Note: VectorMask<E\> is still represented in vector register, a further improvement to map mask to predicate register is under development at https://github.com/openjdk/panama-vector/tree/vectorIntrinsics+mask
> 
> 
> Test: tier1-3 with vector api test cases passed on 512-bit SVE hardware with MaxVectorSize=16/32/64.

Ningsheng Jian has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:

 - Merge with master
 - Merge with master
 - More comments from Andrew.
 - Add missing part
 - Address Andrew's comments
 - 8267356: AArch64: Vector API SVE codegen support
   
   This is the integration of current SVE work done in
   panama-vector/vectorIntrinscs, which includes:
   
   1. Code generation for Vector API c2 IR nodes with SVE.
   2. Non-max vector size support with SVE, e.g. using *128Vector APIs on
      256-bit SVE environment could also generate optimized SVE
      instructions with predicate feature.
   3. Some more SVE assemblers (and tests) used by the codegen part.
   
   Note: VectorMask<E> is still represented in vector register, a further
   improvement to map mask to predicate register is under development at
   https://github.com/openjdk/panama-vector/tree/vectorIntrinsics+mask
   
   Test: tier1-3 with vector api test cases passed on 512-bit SVE hardware
   with MaxVectorSize=16/32/64.

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

Changes: https://git.openjdk.java.net/jdk/pull/4122/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4122&range=06
  Stats: 5761 lines in 13 files changed: 4576 ins; 195 del; 990 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4122.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4122/head:pull/4122

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


More information about the hotspot-compiler-dev mailing list