Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

There are two different syntaxes for mask register. #301

Closed
JerryShih opened this issue Oct 5, 2019 · 4 comments
Closed

There are two different syntaxes for mask register. #301

JerryShih opened this issue Oct 5, 2019 · 4 comments
Assignees

Comments

@JerryShih
Copy link
Contributor

@aswaterman
Why we have two different usage for mask?
Here are the example:

  1. vfsgnjn.vf vd, vs2, rs1, v0.t
  2. vmerge.vxm vd, vs2, rs1, v0
@hanna-kruppe
Copy link
Contributor

hanna-kruppe commented Oct 5, 2019

IIRC the rationale in the meeting where this was decided was:

  • v0.t syntax should be reserved for when the mask controls writeback, i.e., destination elements are undisturbed where the mask has 0s
  • For vmerge, the mask register is not used in that way, instead all destination elements (up to vl) are written unconditionally (only which values are written depends on the mask bits)

@hanna-kruppe
Copy link
Contributor

See also discussion in #189

@aswaterman
Copy link
Member

Sounds like a good explanation to me.

@JerryShih
Copy link
Contributor Author

@rkruppe
Thank you.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants