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

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

Commit messages:
 - 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)

Changes: https://git.openjdk.java.net/jdk/pull/8425/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=8425&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8284960
  Stats: 37837 lines in 214 files changed: 16462 ins; 16923 del; 4452 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8425.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8425/head:pull/8425

PR: https://git.openjdk.java.net/jdk/pull/8425

Reply via email to