[vectorIntrinsics] RFR: 8285281: [x86] Add C2 mid-end and back-end implementation for COMPRESS_BITS and EXPAND_BITS operations [v3]
Jatin Bhateja
jbhateja at openjdk.java.net
Tue Apr 26 10:46:59 UTC 2022
> Summary of changes:
> - Patch intrinsifies following newly added Java SE APIs
> 1. Integer.compress
> 2. Integer.expand
> 3. Long.compress
> 4. Long.expand
> - Adds C2 IR nodes and corresponding ideal transformations for new operations.
> - Inline expansion of new vector operations COMPRESS_BITS and EXPAND_BITS are performed using their scalar counterparts and lane insertion/extraction operations.
> - Performance of JIT sequence generated using above approach vs directly vectorizing scalar algorithm using existing vector APIs is within in +/-%10 range depending on the width of the operation, since X86 offers direct instructions PEXT/PDEP for parallel bit extraction and deposition operations hence performance of scalar loop is always superior to corresponding vector operations.
> - Adds an IR framework based test to validate newly introduced IR transformations.
>
> Kindly review and share your feedback.
>
> Best Regards,
> Jatin
Jatin Bhateja has updated the pull request incrementally with one additional commit since the last revision:
8285281: Review comments resolved.
-------------
Changes:
- all: https://git.openjdk.java.net/panama-vector/pull/195/files
- new: https://git.openjdk.java.net/panama-vector/pull/195/files/4106ff80..3fd0291c
Webrevs:
- full: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=195&range=02
- incr: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=195&range=01-02
Stats: 19 lines in 3 files changed: 2 ins; 8 del; 9 mod
Patch: https://git.openjdk.java.net/panama-vector/pull/195.diff
Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/195/head:pull/195
PR: https://git.openjdk.java.net/panama-vector/pull/195
More information about the panama-dev
mailing list