projects
/
libreriscv.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
6a158bc20b9637778ab7fa569448263436e4f2d6
[libreriscv.git]
/
openpower
/
isa
/
simplev.mdwn
1
# setvl
2
3
SVL-Form
4
5
* setvl RT, RA, SVi, vs, ms
6
7
Pseudo-code:
8
9
VLimm <- SVi + 1
10
11
if vs = 1 then
12
if RA = 0 then
13
VL <- (RA)
14
else
15
VL <- VLimm
16
else
17
VL <- SVSTATE[7:13]
18
19
if ms = 1 then
20
MVL <- VLimm
21
else
22
MVL <- SVSTATE[0:6]
23
24
if VL > MVL then
25
VL = MVL
26
27
SVSTATE[0:6] = MVL
28
SVSTATE[7:13] = VL
29
30
if RT != 0 then
31
RT <- VL
32
33
Special Registers Altered:
34
35
CR0 (if Rc=1)
36