You copied the Doc URL to your clipboard.

VQSHL and VQSHLU (by immediate)

Vector Saturating Shift Left.

Syntax

VQSHL{U}{cond}.datatype {Qd}, Qm, #imm

VQSHL{U}{cond}.datatype {Dd}, Dm, #imm

where:

U

only permitted if Q is also present. Indicates that the results are unsigned even though the operands are signed.

cond

is an optional condition code.

datatype

must be one of :

S8, S16, S32, S64

for VQSHL or VQSHLU.

U8, U16, U32, U64

for VQSHL only.

Qd, Qm

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

Dd, Dm

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

imm

is the immediate value specifying the size of the shift, in the range 0 to (size(datatype) – 1). The ranges are shown in the following table:

Table 14-11 Available immediate ranges in VQSHL and VQSHLU (by immediate)

datatype imm range
S8 or U8 0 to 7
S16 or U16 0 to 15
S32 or U32 0 to 31
S64 or U64 0 to 63

Operation

VQSHL and VQSHLU instructions take each element in a vector of integers, left shift them by an immediate value, and place the results in the destination vector.

The sticky QC flag (FPSCR bit[27]) is set if saturation occurs.

Related reference
Was this page helpful? Yes No