You copied the Doc URL to your clipboard.

A64 SIMD scalar instructions in alphabetical order

A summary of the A64 SIMD scalar instructions that are supported.

Table 19-1 Summary of A64 SIMD scalar instructions

Mnemonic Brief description See
ABS (scalar) Absolute value 19.2 ABS (scalar)
ADD (scalar) Add 19.3 ADD (scalar)
ADDP (scalar) Add pair of elements 19.4 ADDP (scalar)
CMEQ (scalar, register) Compare bitwise equal, setting destination vector element to all ones if the condition holds, else zero 19.5 CMEQ (scalar, register)
CMEQ (scalar, zero) Compare bitwise equal to zero, setting destination vector element to all ones if the condition holds, else zero 19.6 CMEQ (scalar, zero)
CMGE (scalar, register) Compare signed greater than or equal 19.7 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 19.8 CMGE (scalar, zero)
CMGT (scalar, register) Compare signed greater than, setting destination vector element to all ones if the condition holds, else zero 19.9 CMGT (scalar, register)
CMGT (scalar, zero) Compare signed greater than zero, setting destination vector element to all ones if the condition holds, else zero 19.10 CMGT (scalar, zero)
CMHI (scalar, register) Compare unsigned higher, setting destination vector element to all ones if the condition holds, else zero 19.11 CMHI (scalar, register)
CMHS (scalar, register) Compare unsigned higher or same, setting destination vector element to all ones if the condition holds, else zero 19.12 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 19.13 CMLE (scalar, zero)
CMLT (scalar, zero) Compare signed less than zero, setting destination vector element to all ones if the condition holds, else zero 19.14 CMLT (scalar, zero)
CMTST (scalar) Compare bitwise test bits nonzero, setting destination vector element to all ones if the condition holds, else zero 19.15 CMTST (scalar)
DUP (scalar, element) Duplicate vector element to scalar 19.16 DUP (scalar, element)
FABD (scalar) Floating-point absolute difference 19.17 FABD (scalar)
FACGE (scalar) Floating-point absolute compare greater than or equal 19.18 FACGE (scalar)
FACGT (scalar) Floating-point absolute compare greater than 19.19 FACGT (scalar)
FADDP (scalar) Floating-point add pair of elements 19.20 FADDP (scalar)
FCMEQ (scalar, register) Floating-point compare equal, setting destination vector element to all ones if the condition holds, else zero 19.21 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 19.22 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 19.23 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 19.24 FCMGE (scalar, zero)
FCMGT (scalar, register) Floating-point compare greater than, setting destination vector element to all ones if the condition holds, else zero 19.25 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 19.26 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 19.27 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 19.28 FCMLT (scalar, zero)
FCVTAS (scalar) Floating-point convert to signed integer, rounding to nearest with ties to away 19.29 FCVTAS (scalar)
FCVTAU (scalar) Floating-point convert to unsigned integer, rounding to nearest with ties to away 19.30 FCVTAU (scalar)
FCVTMS (scalar) Floating-point convert to signed integer, rounding toward minus infinity 19.31 FCVTMS (scalar)
FCVTMU (scalar) Floating-point convert to unsigned integer, rounding toward minus infinity 19.32 FCVTMU (scalar)
FCVTNS (scalar) Floating-point convert to signed integer, rounding to nearest with ties to even 19.33 FCVTNS (scalar)
FCVTNU (scalar) Floating-point convert to unsigned integer, rounding to nearest with ties to even 19.34 FCVTNU (scalar)
FCVTPS (scalar) Floating-point convert to signed integer, rounding toward positive infinity 19.35 FCVTPS (scalar)
FCVTPU (scalar) Floating-point convert to unsigned integer, rounding toward positive infinity 19.36 FCVTPU (scalar)
FCVTXN (scalar) Floating-point convert to lower precision narrow, rounding to odd 19.37 FCVTXN (scalar)
FCVTZS (scalar, fixed-point) Floating-point convert to signed fixed-point, rounding toward zero 19.38 FCVTZS (scalar, fixed-point)
FCVTZS (scalar, integer) Floating-point convert to signed integer, rounding toward zero 19.39 FCVTZS (scalar, integer)
FCVTZU (scalar, fixed-point) Floating-point convert to unsigned fixed-point, rounding toward zero 19.40 FCVTZU (scalar, fixed-point)
FCVTZU (scalar, integer) Floating-point convert to unsigned integer, rounding toward zero 19.41 FCVTZU (scalar, integer)
FMAXNMP (scalar) Floating-point maximum number of pair of elements 19.42 FMAXNMP (scalar)
FMAXP (scalar) Floating-point maximum of pair of elements 19.43 FMAXP (scalar)
FMINNMP (scalar) Floating-point minimum number of pair of elements 19.44 FMINNMP (scalar)
FMINP (scalar) Floating-point minimum of pair of elements 19.45 FMINP (scalar)
FMLA (scalar, by element) Floating-point fused multiply-add to accumulator (by element) 19.46 FMLA (scalar, by element)
FMLS (scalar, by element) Floating-point fused multiply-subtract from accumulator (by element) 19.47 FMLS (scalar, by element)
FMUL (scalar, by element) Floating-point multiply (by element) 19.48 FMUL (scalar, by element)
FMULX (scalar, by element) Floating-point multiply extended (by element) 19.49 FMULX (scalar, by element)
FMULX (scalar) Floating-point multiply extended 19.50 FMULX (scalar)
FRECPE (scalar) Floating-point reciprocal estimate 19.51 FRECPE (scalar)
FRECPS (scalar) Floating-point reciprocal step 19.52 FRECPS (scalar)
FRECPX (scalar) Floating-point reciprocal exponent 19.53 FRECPX (scalar)
FRSQRTE (scalar) Floating-point reciprocal square root estimate 19.54 FRSQRTE (scalar)
FRSQRTS (scalar) Floating-point reciprocal square root step 19.55 FRSQRTS (scalar)
MOV (scalar) Move vector element to scalar 19.56 MOV (scalar)
NEG (scalar) Negate 19.57 NEG (scalar)
SCVTF (scalar, fixed-point) Signed fixed-point convert to floating-point 19.58 SCVTF (scalar, fixed-point)
SCVTF (scalar, integer) Signed integer convert to floating-point 19.59 SCVTF (scalar, integer)
SHL (scalar) Shift left (immediate) 19.60 SHL (scalar)
SLI (scalar) Shift left and insert (immediate) 19.61 SLI (scalar)
SQABS (scalar) Signed saturating absolute value 19.62 SQABS (scalar)
SQADD (scalar) Signed saturating add 19.63 SQADD (scalar)
SQDMLAL (scalar, by element) Signed saturating doubling multiply-add long (by element) 19.64 SQDMLAL (scalar, by element)
SQDMLAL (scalar) Signed saturating doubling multiply-add long 19.65 SQDMLAL (scalar)
SQDMLSL (scalar, by element) Signed saturating doubling multiply-subtract long (by element) 19.66 SQDMLSL (scalar, by element)
SQDMLSL (scalar) Signed saturating doubling multiply-subtract long 19.67 SQDMLSL (scalar)
SQDMULH (scalar, by element) Signed saturating doubling multiply returning high half (by element) 19.68 SQDMULH (scalar, by element)
SQDMULH (scalar) Signed saturating doubling multiply returning high half 19.69 SQDMULH (scalar)
SQDMULL (scalar, by element) Signed saturating doubling multiply long (by element) 19.70 SQDMULL (scalar, by element)
SQDMULL (scalar) Signed saturating doubling multiply long 19.71 SQDMULL (scalar)
SQNEG (scalar) Signed saturating negate 19.72 SQNEG (scalar)
SQRDMULH (scalar, by element) Signed saturating rounding doubling multiply returning high half (by element) 19.73 SQRDMULH (scalar, by element)
SQRDMULH (scalar) Signed saturating rounding doubling multiply returning high half 19.74 SQRDMULH (scalar)
SQRSHL (scalar) Signed saturating rounding shift left (register) 19.75 SQRSHL (scalar)
SQRSHRN (scalar) Signed saturating rounded shift right narrow (immediate) 19.76 SQRSHRN (scalar)
SQRSHRUN (scalar) Signed saturating rounded shift right unsigned narrow (immediate) 19.77 SQRSHRUN (scalar)
SQSHL (scalar, immediate) Signed saturating shift left (immediate) 19.78 SQSHL (scalar, immediate)
SQSHL (scalar, register) Signed saturating shift left (register) 19.79 SQSHL (scalar, register)
SQSHLU (scalar) Signed saturating shift left unsigned (immediate) 19.80 SQSHLU (scalar)
SQSHRN (scalar) Signed saturating shift right narrow (immediate) 19.81 SQSHRN (scalar)
SQSHRUN (scalar) Signed saturating shift right unsigned narrow (immediate) 19.82 SQSHRUN (scalar)
SQSUB (scalar) Signed saturating subtract 19.83 SQSUB (scalar)
SQXTN (scalar) Signed saturating extract narrow 19.84 SQXTN (scalar)
SQXTUN (scalar) Signed saturating extract unsigned narrow 19.85 SQXTUN (scalar)
SRI (scalar) Shift right and insert (immediate) 19.86 SRI (scalar)
SRSHL (scalar) Signed rounding shift left (register) 19.87 SRSHL (scalar)
SRSHR (scalar) Signed rounding shift right (immediate) 19.88 SRSHR (scalar)
SRSRA (scalar) Signed rounding shift right and accumulate (immediate) 19.89 SRSRA (scalar)
SSHL (scalar) Signed shift left (register) 19.90 SSHL (scalar)
SSHR (scalar) Signed shift right (immediate) 19.91 SSHR (scalar)
SSRA (scalar) Signed shift right and accumulate (immediate) 19.92 SSRA (scalar)
SUB (scalar) Subtract 19.93 SUB (scalar)
SUQADD (scalar) Signed saturating accumulate of unsigned value 19.94 SUQADD (scalar)
UCVTF (scalar, fixed-point) Unsigned fixed-point convert to floating-point 19.95 UCVTF (scalar, fixed-point)
UCVTF (scalar, integer) Unsigned integer convert to floating-point 19.96 UCVTF (scalar, integer)
UQADD (scalar) Unsigned saturating add 19.97 UQADD (scalar)
UQRSHL (scalar) Unsigned saturating rounding shift left (register) 19.98 UQRSHL (scalar)
UQRSHRN (scalar) Unsigned saturating rounded shift right narrow (immediate) 19.99 UQRSHRN (scalar)
UQSHL (scalar, immediate) Unsigned saturating shift left (immediate) 19.100 UQSHL (scalar, immediate)
UQSHL (scalar, register) Unsigned saturating shift left (register) 19.101 UQSHL (scalar, register)
UQSHRN (scalar) Unsigned saturating shift right narrow (immediate) 19.102 UQSHRN (scalar)
UQSUB (scalar) Unsigned saturating subtract 19.103 UQSUB (scalar)
UQXTN (scalar) Unsigned saturating extract narrow 19.104 UQXTN (scalar)
URSHL (scalar) Unsigned rounding shift left (register) 19.105 URSHL (scalar)
URSHR (scalar) Unsigned rounding shift right (immediate) 19.106 URSHR (scalar)
URSRA (scalar) Unsigned rounding shift right and accumulate (immediate) 19.107 URSRA (scalar)
USHL (scalar) Unsigned shift left (register) 19.108 USHL (scalar)
USHR (scalar) Unsigned shift right (immediate) 19.109 USHR (scalar)
USQADD (scalar) Unsigned saturating accumulate of signed value 19.110 USQADD (scalar)
USRA (scalar) Unsigned shift right and accumulate (immediate) 19.111 USRA (scalar)
Was this page helpful? Yes No