[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