sort out sv_analysys.py moving to openpower-isa
[openpower-isa.git] / openpower / isa / simplev.mdwn
1 <!-- This defines instructions described in PowerISA Version 3.0 B Book 1 -->
2
3 <!-- These are not described in book 1 -->
4
5 # setvl
6
7 SVL-Form
8
9 * setvl RT, RA, SVi, vs, ms
10 * setvl. RT, RA, SVi, vs, ms
11
12 Pseudo-code:
13
14 VLimm <- SVi + 1
15 if vs = 1 then
16 if _RA != 0 then
17 VL <- (RA|0)[57:63]
18 else
19 VL <- VLimm[1:7]
20 else
21 VL <- SVSTATE[7:13]
22 if ms = 1 then
23 MVL <- VLimm[1:7]
24 else
25 MVL <- SVSTATE[0:6]
26 if VL > MVL then
27 VL = MVL
28 SVSTATE[0:6] <- MVL
29 SVSTATE[7:13] <- VL
30 RT <- [0]*57 || VL
31
32 Special Registers Altered:
33
34 CR0 (if Rc=1)
35