(no commit message)
[libreriscv.git] / openpower / isa / fixedtrap.mdwn
1 # Trap Word Immediate
2
3 D-Form
4
5 * twi TO,RA,SI
6
7 Pseudo-code:
8
9 a <- EXTS((RA)[32:63])
10 if (a < EXTS(SI)) & TO[0] then TRAP
11 if (a > EXTS(SI)) & TO[1] then TRAP
12 if (a = EXTS(SI)) & TO[2] then TRAP
13 if (a <u EXTS(SI)) & TO[3] then TRAP
14 if (a >u EXTS(SI)) & TO[4] then TRAP
15
16 Special Registers Altered:
17
18 None
19
20 # Trap Word
21
22 X-Form
23
24 * tw TO,RA,RB
25
26 Pseudo-code:
27
28 a <- EXTS((RA)[32:63])
29 b <- EXTS((RB)[32:63])
30 if (a < b) & TO[0] then TRAP
31 if (a > b) & TO[1] then TRAP
32 if (a = b) & TO[2] then TRAP
33 if (a <u b) & TO[3] then TRAP
34 if (a >u b) & TO[4] then TRAP
35
36 Special Registers Altered:
37
38 None
39
40 # Trap Doubleword Immediate
41
42 D-Form
43
44 * tdi TO,RA,SI
45
46 Pseudo-code:
47
48 a <- (RA)
49 b <- EXTS(SI)
50 if (a < b) & TO[0] then TRAP
51 if (a > b) & TO[1] then TRAP
52 if (a = b) & TO[2] then TRAP
53 if (a <u b) & TO[3] then TRAP
54 if (a >u b) & TO[4] then TRAP
55
56 Special Registers Altered:
57
58 None
59
60 # Trap Doubleword
61
62 X-Form
63
64 * td TO,RA,RB
65
66 Pseudo-code:
67
68 a <- (RA)
69 b <- (RB)
70 if (a < b) & TO[0] then TRAP
71 if (a > b) & TO[1] then TRAP
72 if (a = b) & TO[2] then TRAP
73 if (a <u b) & TO[3] then TRAP
74 if (a >u b) & TO[4] then TRAP
75
76 Special Registers Altered:
77
78 None
79
80 # Integer Select
81
82 A-Form
83
84 * isel RT,RA,RB,BC
85
86 Pseudo-code:
87
88 if CR[BC+32]=1 then RT <- (RA|0)
89 else RT <- (RB)
90
91 Special Registers Altered:
92
93 None
94