7 RA <- (RS) & ([0]*48 || UI)
9 Special Registers Altered:
19 RA <- (RS) | ([0]*48 || UI)
21 Special Registers Altered:
25 # AND Immediate Shifted
31 RA <- (RS) & ([0]*32 || UI || [0]*16)
33 Special Registers Altered:
37 # OR Immediate Shifted
43 RA <- (RS) | ([0]*32 || UI || [0]*16)
45 Special Registers Altered:
49 # XOR Immediate Shifted
55 RA <- (RS) ^ ([0]*32 || UI || [0]*16)
57 Special Registers Altered:
67 RA <- (RS) XOR ([0]*48 || UI)
69 Special Registers Altered:
78 * and. RA,RS,RB (Rc=1)
82 Special Registers Altered:
95 Special Registers Altered:
103 * xor RA,RS,RB (Rc=0)
104 * xor. RA,RS,RB (Rc=1)
108 Special Registers Altered:
116 * nand RA,RS,RB (Rc=0)
117 * nand. RA,RS,RB (Rc=1)
121 Special Registers Altered:
129 * nor RA,RS,RB (Rc=0)
130 * nor. RA,RS,RB (Rc=1)
134 Special Registers Altered:
142 * eqv RA,RS,RB (Rc=0)
143 * eqv. RA,RS,RB (Rc=1)
147 Special Registers Altered:
151 # AND with Complement
155 * andc RA,RS,RB (Rc=0)
156 * andc. RA,RS,RB (Rc=1)
160 Special Registers Altered:
168 * orc RA,RS,RB (Rc=0)
169 * orc. RA,RS,RB (Rc=1)
173 Special Registers Altered:
182 * extsb. RA,RS (Rc=1)
185 RA[56:63] <- (RS)[56:63]
188 Special Registers Altered:
192 # Extend Sign Halfword
197 * extsh. RA,RS (Rc=1)
200 RA[48:63] <- (RS)[48:63]
203 Special Registers Altered:
207 # Count Leading Zeros Word
211 * cntlzw RA,RS (Rc=0)
212 * cntlzw. RA,RS (Rc=1)
221 Special Registers Altered:
225 # Count Trailing Zeros Word
229 * cnttzw RA,RS (Rc=0)
230 * cnttzw. RA,RS (Rc=1)
234 if (RS)[63-n=] = 0b1 then
239 Special Registers Altered:
250 if RS[8*n:8* n+7] = (RB)[8*n:8*n+7] then
251 RA[8*n:8* n+7] <- [1]*8
253 RA[8*n:8* n+7] <- [0]*8
255 Special Registers Altered:
259 # Population Count Bytes
268 if (RS)[(i*8)+j] = 1 then
270 RA[(i*8):(i*8)+7] <- n
272 Special Registers Altered:
276 # Population Count Words
285 if (RS)[(i*32)+j] = 1 then
287 RA[(i*32):(i*32)+31] <- n
289 Special Registers Altered:
304 Special Registers Altered:
320 RA[0:31] <- [0]*31 || s
321 RA[32:63] <- [0]*31 || t
323 Special Registers Altered:
332 * extsw. RA,RS (Rc=1)
335 RA[32:63] <- (RS)[32:63]
338 Special Registers Altered:
342 # Population Count Doubleword
354 Special Registers Altered:
358 # Count Leading Zeros Doubleword
362 * cntlzd RA,RS (Rc=0)
363 * cntlzd. RA,RS (Rc=1)
372 Special Registers Altered:
376 # Count Trailing Zeros Doubleword
380 * cnttzd RA,RS (Rc=0)
381 * cnttzd. RA,RS (Rc=1)
385 if (RS)[63-n] = 0b1 then
390 Special Registers Altered:
394 # Bit Permute Doubleword
402 index <- (RS)[8*i:8*i+7]
404 perm[i] <- (RB)[index]
407 RA <- [0]*56 || perm[0:7]
409 Special Registers Altered: