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

[vector] Correctly implement masked load and store operations

    Details

      Description

      Certain masked load and store operations are implemented incorrectly or are not implemented:

      - masked fromByteBuffer is not implemented correctly when any one or more masked lanes are unset. The bounds checks look incorrect and the access ignores the mask. If the load is intrinsified it could result in access beyond the end of the buffer region.
      (see masked fromArray as a template to copy from)

      - masked intoByteBuffer throws an assertion error (stating unimplemented) if any masked lane is unset and the store covers the end of the buffer region.
      (see masked intoArray as a template to copy from)

      - masked intoArray and fromArray using an indexMap (scatter/gather)

      Aim to provide a functional but non-optimal implementation when there are unset bits in the mask, and/or if the set bits are out of bounds.

      Negative tests are required to ensure out-of-bounds exceptions are thrown, with and without intrinsification (see JDK-8221816 for possible test templates)

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                psandoz Paul Sandoz
                Reporter:
                psandoz Paul Sandoz
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: