[Libre-soc-isa] [Bug 535] setvl/setvli encoding & future reg file expansion

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Tue Dec 1 17:01:52 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=535

--- Comment #5 from Jacob Lifshay <programmerjake at gmail.com> ---
I would expect that the final encoding efficiently support the 2 most common
usecases:
1. set VL to a constant
mvl = immed1
vl = immed1

2. set VL to a variable
mvl = immed1
vl = min(RA, mvl)
RT = vl

We don't generally need the option to not set mvl or not set vl, since that's
only relevant in very obscure usecases (can't think of any at the moment). I'm
assuming you can just use a mfspr to read vl. Honestly, if vl can only be set
using setvl[i], we can just get rid of mvl entirely, since no other
instructions can increase VL (some can decrease it). If mvl is not visible,
then using `setvl 0, ra, 64` is sufficient to set vl to any supported value for
context switching.

mtspr could be entirely equivalent to `setvl 0, ra, 64` or just not supported
(always traps no matter privilege mode) for writing VL.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Libre-SOC-ISA mailing list