[vectorIntrinsics+mask] RFR: 8266287: Basic mask IR implementation for the Vector API masking feature support
Xiaohong Gong
xgong at openjdk.java.net
Thu May 6 10:18:31 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
-------------
Commit messages:
- 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=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8266287
Stats: 500 lines in 13 files changed: 416 ins; 44 del; 40 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