You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.
As a consequence, when vl=0, no elements are updated in the destination vector
register group, regardless of vstart.
This only talks about destination vector registers. What is the correct behavior if the destination register is a scalar (non-vector) register? For example, vmv.x.s, vfmv.f.s, vpopc.m, vfirst.m instructions?
The text was updated successfully, but these errors were encountered:
By being silent on the matter, the spec implies that the scalar destination register is always written. We should add a note to that effect (but there's no need for additional normative text).
This definition simplifies designs with scalar register renaming, and seems to be neutral for designs without.
The value written is unambiguous: vmv.x.s and vfmv.f.s copy element 0 (regardless of vl), and for the mask ops, there are no active elements, so e.g. vfirst.m returns -1 and vpopc.m returns 0.
In section 3.3, a note states that
This only talks about destination vector registers. What is the correct behavior if the destination register is a scalar (non-vector) register? For example, vmv.x.s, vfmv.f.s, vpopc.m, vfirst.m instructions?
The text was updated successfully, but these errors were encountered: