Re: Issue categorization - #460
On 2020-06-29 10:36 a.m., Krste Asanovic wrote:
Can you focus on what would not be possible if we ratified current proposal.
It is a planned extension, that even if not implemented as currently proposed it will likely consume at least 2 bits in vtype.
Do you envision a possibility that it will consume no vtype bits?
The reality is that the 32bit encoding is highly dependent upon
vtype to reduce opcode space by providing common fields
Of course, the ideal candidates for vtype inclusion are modifiers that will remain constant over many vector instructions.
vlmul and vsew fit the requirements.
We don't know yet if vma and vta are going to be sufficiently variable and sufficiently constant over op sequences to be useful in vtype.
But there they are using up 2 bits for an anticipated performance (and in my mind "software precision/accuracy") benefit.
I agree that their inclusion in V1.0 was necessary for their inclusion into the full ecosystem.
However, they are an example of how quickly bits can be consumed by anticipated vs proven need.
Post V1.0 we will be more cautious in inclusion into vtype.
Fortunately, the custom space will allow explicit testing of the relative merit of various extensions vying for inclusion in vsetvli.
However, the fewer bits available in the base vsetvli the more likely we will have to reject equally useful opcode extensions from concurrent use and the most efficient code sequences.
I expect it will be useful for encoding parameters that do not require lmul, e.g. one related to mask ops.
But even trying to think of an potential use for ops that don't use lmul (or always a default lmul value of say 8) is challenging.
So, one might be temped to think that it would then be useful as an extension flag.
However, the very ubiquitous nature of lmul would mean that the
extension would also encode lmul using 3 bits.
Thus the benefit is lost; For an alternate encoding that provides n more bit (such as #460 that provides 6) the net increase is only n-2 bits.
Not a winning solution in the anticipated "lmul is required" encoding space.