9 RA <- (RS) & ([0]*48 || UI)
11 Special Registers Altered:
23 RA <- (RS) | ([0]*48 || UI)
25 Special Registers Altered:
29 # AND Immediate Shifted
37 RA <- (RS) & ([0]*32 || UI || [0]*16)
39 Special Registers Altered:
43 # OR Immediate Shifted
51 RA <- (RS) | ([0]*32 || UI || [0]*16)
53 Special Registers Altered:
57 # XOR Immediate Shifted
65 RA <- (RS) ^ ([0]*32 || UI || [0]*16)
67 Special Registers Altered:
79 RA <- (RS) ^ ([0]*48 || UI)
81 Special Registers Altered:
90 * and. RA,RS,RB (Rc=1)
96 Special Registers Altered:
105 * or. RA,RS,RB (Rc=1)
111 Special Registers Altered:
119 * xor RA,RS,RB (Rc=0)
120 * xor. RA,RS,RB (Rc=1)
126 Special Registers Altered:
134 * nand RA,RS,RB (Rc=0)
135 * nand. RA,RS,RB (Rc=1)
141 Special Registers Altered:
149 * nor RA,RS,RB (Rc=0)
150 * nor. RA,RS,RB (Rc=1)
156 Special Registers Altered:
164 * eqv RA,RS,RB (Rc=0)
165 * eqv. RA,RS,RB (Rc=1)
171 Special Registers Altered:
175 # AND with Complement
179 * andc RA,RS,RB (Rc=0)
180 * andc. RA,RS,RB (Rc=1)
186 Special Registers Altered:
194 * orc RA,RS,RB (Rc=0)
195 * orc. RA,RS,RB (Rc=1)
201 Special Registers Altered:
210 * extsb. RA,RS (Rc=1)
215 RA[56:63] <- (RS)[56:63]
218 Special Registers Altered:
222 # Extend Sign Halfword
227 * extsh. RA,RS (Rc=1)
232 RA[48:63] <- (RS)[48:63]
235 Special Registers Altered:
239 # Count Leading Zeros Word
243 * cntlzw RA,RS (Rc=0)
244 * cntlzw. RA,RS (Rc=1)
255 Special Registers Altered:
259 # Count Trailing Zeros Word
263 * cnttzw RA,RS (Rc=0)
264 * cnttzw. RA,RS (Rc=1)
270 if (RS)[63-n] = 0b1 then
275 Special Registers Altered:
288 if RS[8*n:8* n+7] = (RB)[8*n:8*n+7] then
289 RA[8*n:8* n+7] <- [1]*8
291 RA[8*n:8* n+7] <- [0]*8
293 Special Registers Altered:
297 # Population Count Bytes
308 if (RS)[(i*8)+j] = 1 then
310 RA[(i*8):(i*8)+7] <- n
312 Special Registers Altered:
316 # Population Count Words
327 if (RS)[(i*32)+j] = 1 then
329 RA[(i*32):(i*32)+31] <- n
331 Special Registers Altered:
348 Special Registers Altered:
366 RA[0:31] <- [0]*31 || s
367 RA[32:63] <- [0]*31 || t
369 Special Registers Altered:
378 * extsw. RA,RS (Rc=1)
383 RA[32:63] <- (RS)[32:63]
386 Special Registers Altered:
390 # Population Count Doubleword
404 Special Registers Altered:
408 # Count Leading Zeros Doubleword
412 * cntlzd RA,RS (Rc=0)
413 * cntlzd. RA,RS (Rc=1)
424 Special Registers Altered:
428 # Count Trailing Zeros Doubleword
432 * cnttzd RA,RS (Rc=0)
433 * cnttzd. RA,RS (Rc=1)
439 if (RS)[63-n] = 0b1 then
444 Special Registers Altered:
448 # Bit Permute Doubleword
458 index <- (RS)[8*i:8*i+7]
460 perm[i] <- (RB)[index]
463 RA <- [0]*56 || perm[0:7]
465 Special Registers Altered: