5 A64 INSTRUCTION SET
5.7 Advanced SIMD
5.7.14 Vector Shift (immediate)
USHRVd.<T>, Vn.<T>, #shift
Unsigned integer shift right (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SSHRVd.<T>, Vn.<T>, #shift
Signed integer shift right (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
URSHRVd.<T>, Vn.<T>, #shift
Unsigned integer rounding shift right (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SRSHRVd.<T>, Vn.<T>, #shift
Signed integer rounding shift right (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
USRAVd.<T>, Vn.<T>, #shift
Unsigned integer shift right and accumulate (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SSRAVd.<T>, Vn.<T>, #shift
Signed integer shift right and accumulate (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
URSRAVd.<T>, Vn.<T>, #shift
Unsigned integer rounding shift right and accumulate (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SRSRAVd.<T>, Vn.<T>, #shift
Signed integer rounding shift right and accumulate (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SRIVd.<T>, Vn.<T>, #shift
Integer shift right and insert (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 1 to elsize(<T>).
SHRNVd.<Td>, Vn.<Ts>, #shift
Integer shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
SHRN2 Vd.<Td>, Vn.<Ts>, #shift
Integer shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
UQSHRNVd.<Td>, Vn.<Ts>, #shift
Unsigned integer saturating shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
UQSHRN2Vd.<Td>, Vn.<Ts>, #shift
Unsigned integer saturating shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
SQSHRN Vd.<Td>, Vn.<Ts>, #shift
Signed integer saturating shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
SQSHRN2Vd.<Td>, Vn.<Ts>, #shift
Signed integer saturating shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
RSHRNVd.<Td>, Vn.<Ts>, #shift
Integer rounding shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
RSHRN2Vd.<Td>, Vn.<Ts>, #shift
Integer rounding shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
UQRSHRNVd.<Td>, Vn.<Ts>, #shift
Unsigned integer saturating rounding shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
UQRSHRN2Vd.<Td>, Vn.<Ts>, #shift
Unsigned integer saturating rounding shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
SQRSHRNVd.<Td>, Vn.<Ts>, #shift
Signed integer saturating rounding shift right narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
SQRSHRN2Vd.<Td>, Vn.<Ts>, #shift
Signed integer saturating rounding shift right narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
SQSHRUNVd.<Td>, Vn.<Ts>, #shift
Signed integer saturating shift right unsigned narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
SQSHRUN2Vd.<Td>, Vn.<Ts>, #shift
Signed integer saturating shift right unsigned narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
SQRSHRUNVd.<Td>, Vn.<Ts>, #shift
Signed integer saturating rounding shift right unsigned narrow (vector). Where <Td>/<Ts> is 8B/8H, 4H/4S, or 2S/2D; and shift is in the range 1 to elsize(<Td>).
SQRSHRUN2Vd.<Td>, Vn.<Ts>, #shift
Signed integer saturating rounding shift right unsigned narrow (vector, second part). Where <Td>/<Ts> is 16B/8H, 8H/4S, or 4S/2D; and shift is in the range 1 to elsize(<Td>).
SHL Vd.<T>, Vn.<T>, #shift
Unsigned integer shift left (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 0 to elsize(<T>)-1.
UQSHLVd.<T>, Vn.<T>, #shift
Unsigned integer saturating shift left (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 0 to elsize(<T>)-1.
SQSHLVd.<T>, Vn.<T>, #shift
Signed integer saturating shift left (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 0 to elsize(<T>)-1.
SQSHLU Vd.<T>, Vn.<T>, #shift
Signed integer saturating shift left unsigned (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 0 to elsize(<T>)-1.
SLIVd.<T>, Vn.<T>, #shift
Integer shift left and insert (vector). Where <T> is 8B, 16B, 4H, 8H, 2S, 4S or 2D; and shift is in the range 0 to elsize(<T>)-1.
USHLLVd.<Td>, Vn.<Ts>, #shift
Unsigned integer shift left long (vector). Where <Td>/<Ts> is 8H/8B, 4S/4H, or 2D/2S; and shift is in the range 0 to elsize(<Ts>)-1.
USHLL2Vd.<Td>, Vn.<Ts>, #shift
Unsigned integer shift left long (vector, second part). Where <Td>/<Ts> is 8H/16B, 4S/8H, or 2D/4S; and shift is in the range 0 to elsize(<Ts>)-1.
UXTLVd.<Td>, Vn.<Ts>
Unsigned integer lengthen (vector). Where <Td>/<Ts> is 8H/8B, 4S/4H, or 2D/2S. Alias for USHLL Vd.<Td>,Vn.<Ts>,#0.
UXTL2Vd.<Td>, Vn.<Ts>
Unsigned integer lengthen (vector, second part). Where <Td>/<Ts> is 8H/16B, 4S/8H, or 2D/4S. Alias for USHLL2 Vd.<Td>,Vn.<Ts>,#0.
SSHLLVd.<Td>, Vn.<Ts>, #shift
Signed integer shift left long (vector). Where <Td>/<Ts> is 8H/8B, 4S/4H, or 2D/2S; and shift is in the range 0 to elsize(<Ts>)-1.
SSHLL2Vd.<Td>, Vn.<Ts>, #shift
Signed integer shift left long (vector, second part). Where <Td>/<Ts> is 8H/16B, 4S/8H, or 2D/4S; and shift is in the range 0 to elsize(<Ts>)-1.
SXTLVd.<Td>, Vn.<Ts>
Signed integer lengthen (vector). Where <Td>/<Ts> is 8H/8B, 4S/4H, or 2D/2S. Alias for SSHLL Vd.<Td>,Vn.<Ts>,#0.
SXTL2Vd.<Td>, Vn.<Ts>
Signed integer lengthen (vector, second part). Where <Td>/<Ts> is 8H/16B, 4S/8H, or 2D/4S. Alias for SSHLL2 Vd.<Td>,Vn.<Ts>,#0.