[vectorIntrinsics] Integrated: 8285013: AArch64: [vectorapi] Backend support of ExpandV for SVE2

Eric Liu eliu at openjdk.java.net
Thu Apr 28 07:04:07 UTC 2022


On Thu, 28 Apr 2022 03:09:25 GMT, Eric Liu <eliu at openjdk.org> wrote:

> 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.

This pull request has now been integrated.

Changeset: 35d92ab6
Author:    Eric Liu <eliu at openjdk.org>
URL:       https://git.openjdk.java.net/panama-vector/commit/35d92ab6b57cf633d6fcd97afb57f31ae890fb0d
Stats:     198 lines in 6 files changed: 91 ins; 0 del; 107 mod

8285013: AArch64: [vectorapi] Backend support of ExpandV for SVE2

Reviewed-by: njian

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

PR: https://git.openjdk.java.net/panama-vector/pull/198


More information about the panama-dev mailing list