[vectorIntrinsics] Withdrawn: 8285281: [x86] Add C2 mid-end and back-end implementation for COMPRESS_BITS and EXPAND_BITS operations

Jatin Bhateja jbhateja at openjdk.java.net
Wed Jun 1 17:03:18 UTC 2022


On Thu, 21 Apr 2022 13:15:59 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

> 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

This pull request has been closed without being integrated.

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

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


More information about the panama-dev mailing list