[vectorIntrinsics] RFR: 8284459: Add x86 back-end implementation for LEADING and TRAILING ZEROS COUNT operations [v3]
Quan Anh Mai
duke at openjdk.java.net
Tue Apr 19 05:02:52 UTC 2022
On Fri, 15 Apr 2022 21:44:53 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> 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 incrementally with one additional commit since the last revision:
>
> 8284459: Adding auto-vectorizer and x86 backend support for TRAILING_ZERO_COUNT, also some code re-organization.
src/hotspot/cpu/x86/c2_MacroAssembler_x86.cpp line 4786:
> 4784: void C2_MacroAssembler::vector_count_leading_zeros_byte_avx(XMMRegister dst, XMMRegister src, XMMRegister xtmp1,
> 4785: XMMRegister xtmp2, XMMRegister xtmp3, Register rtmp, int vec_enc) {
> 4786: vmovdqu(xtmp1, ExternalAddress(StubRoutines::x86::vector_count_leading_zeros_lut()));
Please pass `rtmp` here, thanks.
-------------
PR: https://git.openjdk.java.net/panama-vector/pull/189
More information about the panama-dev
mailing list