[vectorIntrinsics] RFR: 8284459: Add x86 back-end implementation for LEADING and TRAILING ZEROS COUNT operations [v4]

Jatin Bhateja jbhateja at openjdk.java.net
Wed Apr 20 21:27:37 UTC 2022


> Summary of changes:
> - Patch extends auto-vectorize to vectorize following Java SE APIs.
>      1) Integer.numberOfLeadingZeros()
>      2) Long.numberOfLeadingZeros()
>      3) Integer.numberOfTrailingZeros()
>      4) Long.numberOfTrailingZeros()
> 
> - Adds optimized X86 backend implementation for VectorOperations.LEADING_ZERO_COUNT and VectorOperations.TRAILING_ZEROS_COUNT for AVX512 and legacy targets.
> 
> Kindly review and share your feedback.
> 
> Best Regards,
> Jatin

Jatin Bhateja has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains six commits:

 - 8284459: Review comments resolution.
 - Merge branch 'vectorIntrinsics' of http://github.com/openjdk/panama-vector into JDK-8284459
 - 8284459: Adding auto-vectorizer and x86 backend support for TRAILING_ZERO_COUNT, also some code re-organization.
 - 8284459: Adding an exponent based leading zero count algorithm for integer vectors, its showing around 10-15% gain.
 - Merge branch 'vectorIntrinsics' of http://github.com/openjdk/panama-vector into JDK-8284459
 - 8284459: Add x86 back-end implementation for LEADING_ZERO_COUNT operation

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

Changes: https://git.openjdk.java.net/panama-vector/pull/189/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-vector&pr=189&range=03
  Stats: 665 lines in 14 files changed: 600 ins; 24 del; 41 mod
  Patch: https://git.openjdk.java.net/panama-vector/pull/189.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-vector pull/189/head:pull/189

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


More information about the panama-dev mailing list