35.3.3.9. INTEGER SHIFTS/ROTATES ON IA64
Format I5, I7
-----------
40..37 7
36 Za
35..34 X2a
33 Zb
32 Ve
31..30 X2c Opcode: 7.Za.Zb.Ve.X2a.X2b.X2c
29..28 X2b
27 --
26..20 r3
19..13 r2
12..6 r1
5..0 qp
------------
Format I10
------------
40..37 5
36 --
35..34 X2
33 X
32..27 count6d Opcode: 5.x2.x.
26..20 r3
19..13 r2
12..6 r1
5..0 qp
------------
shr r1=r3,r2 I5 7.1.1.0.0.2.0 Shift Right Signed
shr.u r1=r3,r2 I5 7.1.1.0.0.0.0 Shift Right Unsigned
shl r1=r2,r3 I7 7.1.1.0.0.0.1 Shift Left
shrp r1=r2,r3,count6 I10 5.3.0 Shift Right Pair
Note: For Smaller Size shifts use next instructions
PSHR2/PSHR2.U/PSHL2 r1=r3,r2 r1=r3,count5
PSHR4/PSHR4.U/PSHL4 r1=r3,r2 r1=r3,count5
Note: For complex operations possibly usage of more complex ops:
EXTR/EXTR/U r1=r3,pos6,len6 Extract
DEP.Z r1=r2,pos6,len6 Zero and Deposit
r1=imm8,pos6,len6
DEP r1=imm1,r3,pos6,len6 Deposite
r1=r2,r3,pos6,len4
// ----------------------------------------------------------------------
Index Prev Next