You copied the Doc URL to your clipboard.

SIMD scalar instructions in alphabetical order

summary of the A64 SIMD scalar instructions that are supported.

Table 20-1 Summary of A64 SIMD scalar instructions

Mnemonic Brief description See
ABS (scalar) Absolute value ABS (scalar)
ADD (scalar) Add ADD (scalar)
ADDP (scalar) Add pair of elements ADDP (scalar)
CMEQ (scalar, register) Compare bitwise equal, setting destination vector element to all ones if the condition holds, else zero CMEQ (scalar, register)
CMEQ (scalar, zero) Compare bitwise equal to zero, setting destination vector element to all ones if the condition holds, else zero CMEQ (scalar, zero)
CMGE (scalar, register) Compare signed greater than or equal CMGE (scalar, register)
CMGE (scalar, zero) Compare signed greater than or equal to zero, setting destination vector element to all ones if the condition holds, else zero CMGE (scalar, zero)
CMGT (scalar, register) Compare signed greater than, setting destination vector element to all ones if the condition holds, else zero CMGT (scalar, register)
CMGT (scalar, zero) Compare signed greater than zero, setting destination vector element to all ones if the condition holds, else zero CMGT (scalar, zero)
CMHI (scalar, register) Compare unsigned higher, setting destination vector element to all ones if the condition holds, else zero CMHI (scalar, register)
CMHS (scalar, register) Compare unsigned higher or same, setting destination vector element to all ones if the condition holds, else zero CMHS (scalar, register)
CMLE (scalar, zero) Compare signed less than or equal to zero, setting destination vector element to all ones if the condition holds, else zero CMLE (scalar, zero)
CMLT (scalar, zero) Compare signed less than zero, setting destination vector element to all ones if the condition holds, else zero CMLT (scalar, zero)
CMTST (scalar) Compare bitwise test bits nonzero, setting destination vector element to all ones if the condition holds, else zero CMTST (scalar)
DUP (scalar, element) Duplicate vector element to scalar DUP (scalar, element)
FABD (scalar) Floating-point absolute difference FABD (scalar)
FACGE (scalar) Floating-point absolute compare greater than or equal FACGE (scalar)
FACGT (scalar) Floating-point absolute compare greater than FACGT (scalar)
FADDP (scalar) Floating-point add pair of elements FADDP (scalar)
FCMEQ (scalar, register) Floating-point compare equal, setting destination vector element to all ones if the condition holds, else zero FCMEQ (scalar, register)
FCMEQ (scalar, zero) Floating-point compare equal to zero, setting destination vector element to all ones if the condition holds, else zero FCMEQ (scalar, zero)
FCMGE (scalar, register) Floating-point compare greater than or equal, setting destination vector element to all ones if the condition holds, else zero FCMGE (scalar, register)
FCMGE (scalar, zero) Floating-point compare greater than or equal to zero, setting destination vector element to all ones if the condition holds, else zero FCMGE (scalar, zero)
FCMGT (scalar, register) Floating-point compare greater than, setting destination vector element to all ones if the condition holds, else zero FCMGT (scalar, register)
FCMGT (scalar, zero) Floating-point compare greater than zero, setting destination vector element to all ones if the condition holds, else zero FCMGT (scalar, zero)
FCMLE (scalar, zero) Floating-point compare less than or equal to zero, setting destination vector element to all ones if the condition holds, else zero FCMLE (scalar, zero)
FCMLT (scalar, zero) Floating-point compare less than zero, setting destination vector element to all ones if the condition holds, else zero FCMLT (scalar, zero)
FCVTAS (scalar) Floating-point convert to signed integer, rounding to nearest with ties to away FCVTAS (scalar)
FCVTAU (scalar) Floating-point convert to unsigned integer, rounding to nearest with ties to away FCVTAU (scalar)
FCVTMS (scalar) Floating-point convert to signed integer, rounding toward minus infinity FCVTMS (scalar)
FCVTMU (scalar) Floating-point convert to unsigned integer, rounding toward minus infinity FCVTMU (scalar)
FCVTNS (scalar) Floating-point convert to signed integer, rounding to nearest with ties to even FCVTNS (scalar)
FCVTNU (scalar) Floating-point convert to unsigned integer, rounding to nearest with ties to even FCVTNU (scalar)
FCVTPS (scalar) Floating-point convert to signed integer, rounding toward positive infinity FCVTPS (scalar)
FCVTPU (scalar) Floating-point convert to unsigned integer, rounding toward positive infinity FCVTPU (scalar)
FCVTXN (scalar) Floating-point convert to lower precision narrow, rounding to odd FCVTXN (scalar)
FCVTZS (scalar, fixed-point) Floating-point convert to signed fixed-point, rounding toward zero FCVTZS (scalar, fixed-point)
FCVTZS (scalar, integer) Floating-point convert to signed integer, rounding toward zero FCVTZS (scalar, integer)
FCVTZU (scalar, fixed-point) Floating-point convert to unsigned fixed-point, rounding toward zero FCVTZU (scalar, fixed-point)
FCVTZU (scalar, integer) Floating-point convert to unsigned integer, rounding toward zero FCVTZU (scalar, integer)
FMAXNMP (scalar) Floating-point maximum number of pair of elements FMAXNMP (scalar)
FMAXP (scalar) Floating-point maximum of pair of elements FMAXP (scalar)
FMINNMP (scalar) Floating-point minimum number of pair of elements FMINNMP (scalar)
FMINP (scalar) Floating-point minimum of pair of elements FMINP (scalar)
FMLA (scalar, by element) Floating-point fused multiply-add to accumulator (by element) FMLA (scalar, by element)
FMLS (scalar, by element) Floating-point fused multiply-subtract from accumulator (by element) FMLS (scalar, by element)
FMUL (scalar, by element) Floating-point multiply (by element) FMUL (scalar, by element)
FMULX (scalar, by element) Floating-point multiply extended (by element) FMULX (scalar, by element)
FMULX (scalar) Floating-point multiply extended FMULX (scalar)
FRECPE (scalar) Floating-point reciprocal estimate FRECPE (scalar)
FRECPS (scalar) Floating-point reciprocal step FRECPS (scalar)
FRECPX (scalar) Floating-point reciprocal exponent FRECPX (scalar)
FRSQRTE (scalar) Floating-point reciprocal square root estimate FRSQRTE (scalar)
FRSQRTS (scalar) Floating-point reciprocal square root step FRSQRTS (scalar)
MOV (scalar) Move vector element to scalar MOV (scalar)
NEG (scalar) Negate NEG (scalar)
SCVTF (scalar, fixed-point) Signed fixed-point convert to floating-point SCVTF (scalar, fixed-point)
SCVTF (scalar, integer) Signed integer convert to floating-point SCVTF (scalar, integer)
SHL (scalar) Shift left (immediate) SHL (scalar)
SLI (scalar) Shift left and insert (immediate) SLI (scalar)
SQABS (scalar) Signed saturating absolute value SQABS (scalar)
SQADD (scalar) Signed saturating add SQADD (scalar)
SQDMLAL (scalar, by element) Signed saturating doubling multiply-add long (by element) SQDMLAL (scalar, by element)
SQDMLAL (scalar) Signed saturating doubling multiply-add long SQDMLAL (scalar)
SQDMLSL (scalar, by element) Signed saturating doubling multiply-subtract long (by element) SQDMLSL (scalar, by element)
SQDMLSL (scalar) Signed saturating doubling multiply-subtract long SQDMLSL (scalar)
SQDMULH (scalar, by element) Signed saturating doubling multiply returning high half (by element) SQDMULH (scalar, by element)
SQDMULH (scalar) Signed saturating doubling multiply returning high half SQDMULH (scalar)
SQDMULL (scalar, by element) Signed saturating doubling multiply long (by element) SQDMULL (scalar, by element)
SQDMULL (scalar) Signed saturating doubling multiply long SQDMULL (scalar)
SQNEG (scalar) Signed saturating negate SQNEG (scalar)
SQRDMULH (scalar, by element) Signed saturating rounding doubling multiply returning high half (by element) SQRDMULH (scalar, by element)
SQRDMULH (scalar) Signed saturating rounding doubling multiply returning high half SQRDMULH (scalar)
SQRSHL (scalar) Signed saturating rounding shift left (register) SQRSHL (scalar)
SQRSHRN (scalar) Signed saturating rounded shift right narrow (immediate) SQRSHRN (scalar)
SQRSHRUN (scalar) Signed saturating rounded shift right unsigned narrow (immediate) SQRSHRUN (scalar)
SQSHL (scalar, immediate) Signed saturating shift left (immediate) SQSHL (scalar, immediate)
SQSHL (scalar, register) Signed saturating shift left (register) SQSHL (scalar, register)
SQSHLU (scalar) Signed saturating shift left unsigned (immediate) SQSHLU (scalar)
SQSHRN (scalar) Signed saturating shift right narrow (immediate) SQSHRN (scalar)
SQSHRUN (scalar) Signed saturating shift right unsigned narrow (immediate) SQSHRUN (scalar)
SQSUB (scalar) Signed saturating subtract SQSUB (scalar)
SQXTN (scalar) Signed saturating extract narrow SQXTN (scalar)
SQXTUN (scalar) Signed saturating extract unsigned narrow SQXTUN (scalar)
SRI (scalar) Shift right and insert (immediate) SRI (scalar)
SRSHL (scalar) Signed rounding shift left (register) SRSHL (scalar)
SRSHR (scalar) Signed rounding shift right (immediate) SRSHR (scalar)
SRSRA (scalar) Signed rounding shift right and accumulate (immediate) SRSRA (scalar)
SSHL (scalar) Signed shift left (register) SSHL (scalar)
SSHR (scalar) Signed shift right (immediate) SSHR (scalar)
SSRA (scalar) Signed shift right and accumulate (immediate) SSRA (scalar)
SUB (scalar) Subtract SUB (scalar)
SUQADD (scalar) Signed saturating accumulate of unsigned value SUQADD (scalar)
UCVTF (scalar, fixed-point) Unsigned fixed-point convert to floating-point UCVTF (scalar, fixed-point)
UCVTF (scalar, integer) Unsigned integer convert to floating-point UCVTF (scalar, integer)
UQADD (scalar) Unsigned saturating add UQADD (scalar)
UQRSHL (scalar) Unsigned saturating rounding shift left (register) UQRSHL (scalar)
UQRSHRN (scalar) Unsigned saturating rounded shift right narrow (immediate) UQRSHRN (scalar)
UQSHL (scalar, immediate) Unsigned saturating shift left (immediate) UQSHL (scalar, immediate)
UQSHL (scalar, register) Unsigned saturating shift left (register) UQSHL (scalar, register)
UQSHRN (scalar) Unsigned saturating shift right narrow (immediate) UQSHRN (scalar)
UQSUB (scalar) Unsigned saturating subtract UQSUB (scalar)
UQXTN (scalar) Unsigned saturating extract narrow UQXTN (scalar)
URSHL (scalar) Unsigned rounding shift left (register) URSHL (scalar)
URSHR (scalar) Unsigned rounding shift right (immediate) URSHR (scalar)
URSRA (scalar) Unsigned rounding shift right and accumulate (immediate) URSRA (scalar)
USHL (scalar) Unsigned shift left (register) USHL (scalar)
USHR (scalar) Unsigned shift right (immediate) USHR (scalar)
USQADD (scalar) Unsigned saturating accumulate of signed value USQADD (scalar)
USRA (scalar) Unsigned shift right and accumulate (immediate) USRA (scalar)
Was this page helpful? Yes No