Skip to content
This repository was archived by the owner on Dec 22, 2021. It is now read-only.
This repository was archived by the owner on Dec 22, 2021. It is now read-only.

Naming shuffle instructions #78

Closed
Closed

Description

@tlively

#71 added a new shuffle instruction but was explicitly merged without consensus on the name of the new instruction or the instruction that PR renamed to v8x16.shuffle2_imm (previously v8x16.shuffle). Now that the instruction is merged into the proposal, we should return to the bikeshed of the names.

In the previous PR I held an informal vote for different parts of the naming schemes: #71 (comment)

At time of writing, these are the results:

  • 3 votes for using permute* and shuffle* as the base names
  • 1 vote for using shuffle1* and shuffle2* as the base names
  • 0 votes for using _dyn as a suffix marking dynamic indices
  • 1 vote for using _vec as a suffix marking dynamic indices
  • 3 votes for not having a suffix to mark dynamic indices

If we went with the most popular results, our two instructions would be named v8x16.permute and v8x16.shuffle_imm. What does everyone think of that?

Activity

  1. tlively commented on Jun 18, 2019

    @tlively
    MemberAuthor

    Bump! With our new stage 2 status and @Honry about to start writing spec tests, it would be good to get the naming squared away. Please give me at least a quick 👍 if you would be fine with v8x16.permute and v8x16.shuffle_imm and a 😕 if you prefer something else.

  2. gnzlbg commented on Jun 18, 2019

    @gnzlbg
    Contributor

    The whole point of the names, as opposed to the binary encoding, is clarity. I still find it misleading that v8x16.permute does not perform a permutation. Something like v8x16.shuffle1 and v8x16.shuffle2_imm feel more accurate to me.

  3. tlively commented on Jul 3, 2019

    @tlively
    MemberAuthor

    We talked about this at the last meeting, and reached a general consensus in the room that swizzle would be a good name for the single-argument version and shuffle for the two-argument version. @gnzlbg does that sound acceptable to you?

  4. gnzlbg commented on Jul 4, 2019

    @gnzlbg
    Contributor

    Sounds good, swizzle operations take one argument, allow repetition, and is a technical term in computer graphics.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions