VQRSHRN and VQRSHRUN (by immediate)
Vector Saturating Shift Right, Narrow, by immediate value, with Rounding.
Syntax
VQRSHR
{U
}N
{
}.cond
datatype
, Dd
,
#Qm
imm
where:
U
if present, indicates that the results are unsigned, although the operands are signed. Otherwise, the results are the same type as the operands.
cond
is an optional condition code.
datatype
must be one of:
I16, I32, I64
for
VQRSHRN
orVQRSHRUN
. Only a#0
immediate is permitted with these datatypes.S16, S32, S64
for
VQRSHRN
orVQRSHRUN
.U16, U32, U64
for
VQRSHRN
only.
Dd
,Qm
are the destination vector and the operand vector.
imm
is the immediate value specifying the size of the shift. The ranges are shown in the following table:
Table 14-10 Available immediate ranges in VQRSHRN and VQRSHRUN (by immediate)
datatype imm range or U16 0 to 8 S32 or U32 0 to 16 S64 or U64 0 to 32
Operation
VQRSHR{U}N
takes each element in a quadword vector of integers, right
shifts them by an immediate value, and places the results in a doubleword vector.
The sticky QC flag (FPSCR bit[27]) is set if saturation occurs.
Results are rounded.