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

[vector] No suitable species for indexMap of Gather/Scatter VectorAPI

    Details

      Description

      Currently MaxVector supports SVE well in VectorAPI, which is runtime detected.
      The size is hardware implementation defined multiple of 128 bits, up to maximum of 2048 bits.

      In current gather/scatter API implementation, there's an "int" vector used as index map.
      Therefore for IntMaxVector/FloatMaxVector, index map could be vectorized by the same Vector size.
      However, for DoubleMaxVecot/LongMaxVector, index map's size is half of vector size.
      E.g. For a SVE maximum vector size of 384, the index map's size for Double/LongMaxVector should be 192.
      But there's no existing species of vector for 192 bits.

      I would suggest to introduce mask to represent this.
      In Double/LongMaxVector's gather/scatter API, we always use IntMaxSpecies for indexMap vectorization and half data is masked.

        Attachments

          Activity

            People

            • Assignee:
              yzhang Yang Zhang
              Reporter:
              jzhu Joshua Zhu
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated: