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

Support two vector selectFrom API

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 24
    • 24
    • hotspot
    • b20
    • x86_64
    • generic
    • Fix failed

      Support following new vector permutation API:-

      Declaration:-
          Vector<E>.selectFrom(Vector<E> v1, Vector<E> v2)

      Semantics:-
          Using index values stored in the lanes of this vector, assemble values stored in first (v1) and second (v2) vector arguments. Thus, first and second vector serves as a table, whose elements are selected by indexes in the current vector. API is applicable to all integral and floating-point types. The result of this operation is semantically equivalent to expression v1.rearrange(this.toShuffle(), v2). Values held in index vector lanes must lie within valid two vector index range [0, 2*VLEN) else API throws an IndexOutOfBoundException.

      Add necessary Java side implementation, C2 compiler IR and inline expander, in absence of direct two vector permutation instruction in target ISA, a lowering transformation dismantles new IR into constituent IR supported by target platforms.

      Optimized x86 backend implementation for AVX512 and legacy targets.

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

              Created:
              Updated:
              Resolved: