• No results found

Vector Shift (immediate)

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.