[vectorIntrinsics] RFR: 8285013: AArch64: [vectorapi] Backend support of ExpandV for SVE2
    Eric Liu 
    eliu at openjdk.java.net
       
    Thu Apr 28 03:16:34 UTC 2022
    
    
  
This patch adds the backend for Vector.expand(mask).
The basic idea is to use TBL which can shuffle the elements in the given
vector flexibly. HISTCNT is used to generate the second source input for
TBL whose value is used to select the indexed element from src vector.
The final code for an int vector is generated as below:
   mov z17.s, #0
   histcnt z17.s, p0/z, z17.s, z17.s
   sub z17.s, z17.s, #1
   tbl z17.s, {z16.s}, z17.s
As the HISTCNT instruction only supports element in size of 32/64 bits,
expanding of subword type is missing now.
-------------
Commit messages:
 - 8285013: AArch64: [vectorapi] Backend support of ExpandV for SVE2
Changes: https://git.openjdk.java.net/panama-vector/pull/198/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=198&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8285013
  Stats: 198 lines in 6 files changed: 91 ins; 0 del; 107 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/198.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/198/head:pull/198
PR: https://git.openjdk.java.net/panama-vector/pull/198
    
    
More information about the panama-dev
mailing list