Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8284502

X86: Backend support for all the newly proposed VectorOperations (Incubation4)

XMLWordPrintable

    • x86_64
    • generic

      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.

            jbhateja Jatin Bhateja
            jbhateja Jatin Bhateja
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: