RFR: 8284960: Integration of JEP 426: Vector API (Fourth Incubator) [v2]
Jatin Bhateja
jbhateja at openjdk.java.net
Thu May 5 16:09:20 UTC 2022
On Thu, 5 May 2022 05:47:47 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>> Hi All,
>>
>> Patch adds the planned support for new vector operations and APIs targeted for [JEP 426: Vector API (Fourth Incubator).](https://bugs.openjdk.java.net/browse/JDK-8280173)
>>
>> Following is the brief summary of changes:-
>>
>> 1) Extends the scope of existing lanewise API for following new vector operations.
>> - VectorOperations.BIT_COUNT: counts the number of one-bits
>> - VectorOperations.LEADING_ZEROS_COUNT: counts the number of leading zero bits
>> - VectorOperations.TRAILING_ZEROS_COUNT: counts the number of trailing zero bits
>> - VectorOperations.REVERSE: reversing the order of bits
>> - VectorOperations.REVERSE_BYTES: reversing the order of bytes
>> - compress and expand bits: Semantics are based on Hacker's Delight section 7-4 Compress, or Generalized Extract.
>>
>> 2) Adds following new APIs to perform cross lane vector compress and expansion operations under the influence of a mask.
>> - Vector.compress
>> - Vector.expand
>> - VectorMask.compress
>>
>> 3) Adds predicated and non-predicated versions of following new APIs to load and store the contents of vector from foreign MemorySegments.
>> - Vector.fromMemorySegment
>> - Vector.intoMemorySegment
>>
>> 4) C2 Compiler IR enhancements and optimized X86 and AARCH64 backend support for each newly added operation.
>>
>>
>> Patch has been regressed over AARCH64 and X86 targets different AVX levels.
>>
>> 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 10 commits:
>
> - 8284960: Correcting a typo.
> - 8284960: Integrating changes from panama-vector (Add @since 19 tags).
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - 8284960: AARCH64 backend changes.
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - Merge branch 'master' of http://github.com/openjdk/jdk into JDK-8284960
> - 8284960: Integration of JEP 426: Vector API (Fourth Incubator)
Hi @vnkozlov , It will be helpful if you can kindly review the changes.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8425
More information about the hotspot-compiler-dev
mailing list