JDK-8284502 : X86: Backend support for all the newly proposed VectorOperations (Incubation4)
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-panama
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: x86_64
  • Submitted: 2022-04-07
  • Updated: 2022-04-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
repo-panamaUnresolved
Related Reports
Relates :  
Relates :  
Relates :  
Description
A) Extend C2 compile X86 backend to emit optimized instruction sequence for following newly proposed VectorOperations and APIs.

1) Vector.compress, Vector.expand and VectorMask.compress APIs.
   - Cross lane vector compress and expansion operations which works under the influence of an explicit mask. 
  -  Mask flavor of the API clubs together all the set bits/ lanes of mask.  
  
2)  VectorOperations.BIT_COUNT:
   - counting the number of one-bits
3)  VectorOperations.LEADING_ZEROS_COUNT:
  - counting the number of leading zero bits
4) VectorOperations.TRAILING_ZEROS_COUNT:
  - counting the number of trailing zero bits
5) VectorOperations.REVERSE:
  - reversing the order of bits
6) VectorOperations.REVERSE_BYTES:
 - reversing the order of bytes
7) compress and expand bits
 -  Semantics are based on Hacker's Delight section 7-4 Compress, or Generalized Extract.

B) Enhance SLP Vectorizer to auto-vectorize already existing Java SE scalar equivalents of newly proposed vector operations.