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