35.3.3.5. INTEGER SHIFTS/ROTATES ON POWER PC
0..5 opcode1
6..10 S
11..15 A
16..20 SH
21..30 opcode2
31 Rc
Rc opcode
slw rA,rS,rB 0 31.24 Shift Left Word
slw. rA,rS,rB 1
rA <- ROTL(rS,rB[27-31])
sraw rA,rS,rB 0 31.792 Shift Right Algebraic Word
sraw. rA,rS,rB 1
rA <- ROTL(rS,32- rB[27-31])
srw rA,rS,rB 0 31.536 Shift Right Word
srw. rA,rS,rB 1
rA <- ROTL(rS,32-rB[27-31])
0..5 opcode1
6..10 S
11..15 A
16..20 SH
21..30 opcode2
31 Rc
srawi rA,rS,SH 0 31.824
srawi. rA,rS,SH 1
rA <- ROTL(rS,32-SH)
Note: Exist complex Rotates with Mask Insert:
rlwimi/rlwimi. - Rotate Left Word Immediate then Mask Insert
rlwinm/rlwinm. - Rotate Left Word Immediate then AND with Mask
rlwnm/rlwnm. - Rotate Left Word then AND with Mask
// ----------------------------------------------------------------------
Index Prev Next