### 16.6.4. Advanced SIMD integer shift instructions

Table 16.20 shows the operation of the Advanced SIMD integer shift instructions.

Table 16.20. Advanced SIMD integer shift instructions

InstructionRegister formatCyclesSource1Source2Source3Source4Result1Result2

`VSHR`

`VSHL`

`Dd,Dm,#IMM`

1`Dm:N1`---`Dd:N3`-
`Qd,Qm,#IMM`1`QmLo:N1`

`QmHi:N1`

--

`QdLo:N3`

`QdHi:N3`

`VQSHL`

`VRSHR`

`Dd,Dm,#IMM`

1`Dm:N1`---`Dd:N4`-
`Qd,Qm,#IMM`1`QmLo:N1``QmHi:N1`--`QdLo:N4``QdHi:N4`

`VSHR`

`Dd,Qm,#IMM`

(narrow)

1`QmLo:N1``QmHi:N1`--`Dd:N3`-

`VQSHR`

`VQMOV`

`VRSHR`

`VQRSHR`

`Dd,Qm,#IMM`

(narrow)

1`QmLo:N1``QmHi:N1`--`Dd:N4`-

`VSHL`[1]

`VMVH`

`Qd,Dm,[#IMM]`

(long, wide)

`Dm:N1`---`QdLo:N3``QdHi:N3`

`VSLI`

`VSRI`

`Dd,Dm,#IMM`

1`Dm:N1``Dd:N1`--`Dd:N3`-
`Qd,Qm,#IMM`

1

2

`QmLo:N1`

`QmHi:N1`

`QdLo:N1`

`QdHi:N1`

-

-

-

-

`QdLo:N3`

`QdHi:N3`

-

-

`VSHL``Dd,Dm,Dn`1`Dm:N1``Dn:N1`--`Dn:N1`-
`Qd,Qm,Qn`

1

2

`QmLo:N1`

`QmHi:N1`

`QnLo:N1`

`QnHi:N1`

-

-

-

-

`QdLo:N3`

`QdHi:N3`

-

-

`VQSHL`

`VRSHL`

`VQRSHL`

`Dd,Dm,Dn`1`Dm:N1``Dn:N1`--`Dd:N4`-
`Qd,Qm,Qn`

1

2

`QmLo:N1`

`QmLo:N1`

`QnLo:N1`

`QnHi:N1`

-

-

-

-

`QdLo:N4`

`QdHi:N4`

-

-

`VSRA`

`VRSRA`

`Dd,Dm,#IMM`1`Dm:N1`-`Dd:N3`-`Dd:N6`-
`Qd,Qm,#IMM`1`QmLo:N1``QmHi:N1``QdLo:N3``QdHi:N3``QdLo:N6``QdHi:N6`

[1] Only `VSHL` has the #IMM parameter.