JDK-8284983 : AArch64: Backend support for VectorAPI 4th incubation
  • Type: Task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 19
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • OS: generic
  • CPU: aarch64
  • Submitted: 2022-04-19
  • Updated: 2022-04-20
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 :  
Relates :  
Relates :  
Relates :  
Description
Implement AArch64 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.
Comments
Vector.expand is not friendly to AArch64. No instruction maps to it directly.
19-04-2022