-
Notifications
You must be signed in to change notification settings - Fork 270
Are the elements past vl guaranteed to survive after reconfiguration? #221
Comments
I'm not sure I understand what you mean by "reconfiguration" in the title (writes to
So the answer is clearly "leave it as is" in all three cases you mention. We could add a note making the second point explicit, it probably just didn't occur to anyone before. |
I meant the use-case when one is going to rely on the content of elements that were temporarily past vl but not zeroed/destroyed as a destination group. in this case:
is the upper part of v3 guaranteed (or not) to be correct on any possible architecture? |
Thanks for the example. Yes, for reasons outlined in my previous comment, the result must be that elements 4...7 of |
I think it needs an explicit note unlil #157 is resolved, since knowing "zero past vl" rule that slightly favours renamed architectures, it is counter intuitive to rely on such elements. |
The general policy in the spec is to assume nothing is modified in machine state unless explicitly listed in an instruction's definition. Adding notes that an instruction doesn't affect some state would require we went through and did this for every instruction that didn't modify other registers, otherwise we'd have consistency complaints. i.e., adding an explicit note here would cause more confusion than it would remove. |
Regarding issues raised in #157
In current spec we have 3 possible scenarios when data is not zeroed past vl:
vl
== 0vsetvl
to a smaller length unless register is targeted as destinationvstart
>=vl
The current spec is not clear about this matter so we are probably going to see 2 possible disciplines:
A: Simply leave it as is.
B: Zero it (probably at SLEN granurality) to eg. free up resources for other SMT threads or provide better overprovision-less renaming.
I think it falls into the concerns pointed by Andrew and also commits to potential security holes.
The text was updated successfully, but these errors were encountered: