12.109 VSHL (by immediate)

Vector Shift Left by immediate.


VSHL{cond}.datatype {Qd}, Qm, #imm

VSHL{cond}.datatype {Dd}, Dm, #imm



is an optional condition code.


must be one of I8, I16, I32, or I64.

Qd, Qm

are the destination and operand vectors, for a quadword operation.

Dd, Dm

are the destination and operand vectors, for a doubleword operation.


is the immediate value specifying the size of the shift. The ranges are shown in the following table:

Table 12-20 Available immediate ranges in VSHL (by immediate)

datatype imm range
I8 0 to 7
I16 0 to 15
I32 0 to 31
I64 0 to 63


VSHL takes each element in a vector of integers, left shifts them by an immediate value, and places the results in the destination vector.

Bits shifted out of the left of each element are lost.

The following figure shows the operation of VSHL with two elements and a shift value of one. The least significant bit in each element in the destination vector is set to zero.

Figure 12-6 Operation of quadword VSHL.I64 Qd, Qm, #1
To view this graphic, your browser must support the SVG format. Either install a browser with native support, or install an appropriate plugin such as Adobe SVG Viewer.

Non-ConfidentialPDF file icon PDF versionARM DUI0473M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.