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
orVQSHLU
.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(
) - 1). The ranges are shown in the following table:datatype
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.