[vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support [v2]

Xiaohong Gong xgong at openjdk.java.net
Mon May 24 07:56:38 UTC 2021

> Based on [1], this patch adds the C2 compiler mid-end changes for the masking feature support. It mainly contains:
>  1) Generation of the mask IRs for vector mask, including:
>     - Mask generations, e.g. load/compare/maskAll
>     - Mask operations, e.g. and/or/xor
>  2) Conversions between vector and mask after loading mask values from memory and before storing mask values into memory
>  3) Generation of the vector IRs which need the mask value as the control
>     - The mask value is appended to the original vector node's input list
> With this change, the bottom type of the vector mask will be set to `"TypeVectMask"` if the platform supports the masking feature and the backend implementations are added.
> Note that this patch only contains the compiler mid-end changes. The backend implementations for SVE/AVX-512 will be in the
> followed-up patches.
> [1] https://github.com/openjdk/panama-vector/pull/57

Xiaohong Gong has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains three commits:

 - Use "Flag_is_predicated_vector" for masked vector nodes
 - Merge branch 'vectorIntrinsics+mask'
 - 8266287: Basic mask IR implementation for the Vector API masking feature support


Changes: https://git.openjdk.java.net/panama-vector/pull/78/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=78&range=01
  Stats: 509 lines in 13 files changed: 424 ins; 43 del; 42 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/78.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/78/head:pull/78

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

More information about the panama-dev mailing list