Re: RISC-V Vector Extension post-public review updates
>>>>> On Tue, 16 Nov 2021 17:15:28 +0000, Bill Huffman <huffman@...> said:
| From: Grigorios Magklis <grigorios.magklis@...>
| Sent: Tuesday, November 16, 2021 12:03 PM
| What is the thinking for when we go to >32-bit encodings with respect
| to vtype and masks? I assume that the longer encoding could encode SEW
| (and LMUL?) as an override of vtype. What about masks though? If we
| enable more than one masks (m0…mN) in 48-bit/64-bit encodings, and we
| want to mix 32-bit and 48-bit /64-bit instructions in the same code,
| do we still specify that e.g. m0==v0 or do we need to explicitly copy
| v0 to e.g. m0 before it can be used with 48-bit/ 64-bit instructions
| (and vice versa when switching from 48-bit/64-bit instructions to
| 32-bit instructions)? It would be nice if we could reclaim v0
| (actually v0 through v7 for LMUL=8) from being a mask to being able to
| hold data, *and* not to have to force the whole code/loop body to use 48-bit/64-bit instructions in order to do this.
My thinking for longer encoding is we would not add different mask registers, but instead possibly expand set of architectural vector registers.
Does that mean continuing to assume fusing a mask move with an instruction where desired?
| I don’t think there’s any agreement at this point on what goes into a
| longer instruction, but there are a number of candidates, including at least:
| ● LMUL
| ● SEW
| ● VMA and VTA bits
| ● Register specifier for the mask register
| ● Additional registers – perhaps 128 instead of 32
| ● Possibly a fourth register specifier (not counting mask).
| If I’m counting correctly, that’s already 28 additional bits. That’s
| in the range of the maximum that can be put into a 64-bit instruction
| set. There are probably more candidates and discussion about which
| ones to include will certainly be needed. 😊
Right, even 64 bits will seem tight if all wishes are considered.
Some more experience with actual code and compilers is needed to help tune future extensions.