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 19-1 Summary of A64 SIMD scalar instructions

Mnemonic Brief description See
ABS (scalar) Absolute value (vector) ABS (scalar)
ADD (scalar) Add (vector) ADD (scalar)
ADDP (scalar) Add Pair of elements (scalar) ADDP (scalar)
CMEQ (scalar, register) Compare bitwise Equal (vector) CMEQ (scalar, register)
CMEQ (scalar, zero) Compare bitwise Equal to zero (vector) CMEQ (scalar, zero)
CMGE (scalar, register) Compare signed Greater than or Equal (vector) CMGE (scalar, register)
CMGE (scalar, zero) Compare signed Greater than or Equal to zero (vector) CMGE (scalar, zero)
CMGT (scalar, register) Compare signed Greater than (vector) CMGT (scalar, register)
CMGT (scalar, zero) Compare signed Greater than zero (vector) CMGT (scalar, zero)
CMHI (scalar, register) Compare unsigned Higher (vector) CMHI (scalar, register)
CMHS (scalar, register) Compare unsigned Higher or Same (vector) CMHS (scalar, register)
CMLE (scalar, zero) Compare signed Less than or Equal to zero (vector) CMLE (scalar, zero)
CMLT (scalar, zero) Compare signed Less than zero (vector) CMLT (scalar, zero)
CMTST (scalar) Compare bitwise Test bits nonzero (vector) CMTST (scalar)
DUP (scalar, element) Duplicate vector element to scalar DUP (scalar, element)
FABD (scalar) Floating-point Absolute Difference (vector) FABD (scalar)
FACGE (scalar) Floating-point Absolute Compare Greater than or Equal (vector) FACGE (scalar)
FACGT (scalar) Floating-point Absolute Compare Greater than (vector) FACGT (scalar)
FADDP (scalar) Floating-point Add Pair of elements (scalar) FADDP (scalar)
FCMEQ (scalar, register) Floating-point Compare Equal (vector) FCMEQ (scalar, register)
FCMEQ (scalar, zero) Floating-point Compare Equal to zero (vector) FCMEQ (scalar, zero)
FCMGE (scalar, register) Floating-point Compare Greater than or Equal (vector) FCMGE (scalar, register)
FCMGE (scalar, zero) Floating-point Compare Greater than or Equal to zero (vector) FCMGE (scalar, zero)
FCMGT (scalar, register) Floating-point Compare Greater than (vector) FCMGT (scalar, register)
FCMGT (scalar, zero) Floating-point Compare Greater than zero (vector) FCMGT (scalar, zero)
FCMLA (scalar, by element) Floating-point Complex Multiply Accumulate (by element) FCMLA (scalar, by element)
FCMLE (scalar, zero) Floating-point Compare Less than or Equal to zero (vector) FCMLE (scalar, zero)
FCMLT (scalar, zero) Floating-point Compare Less than zero (vector) FCMLT (scalar, zero)
FCVTAS (scalar) Floating-point Convert to Signed integer, rounding to nearest with ties to Away (vector) FCVTAS (scalar)
FCVTAU (scalar) Floating-point Convert to Unsigned integer, rounding to nearest with ties to Away (vector) FCVTAU (scalar)
FCVTMS (scalar) Floating-point Convert to Signed integer, rounding toward Minus infinity (vector) FCVTMS (scalar)
FCVTMU (scalar) Floating-point Convert to Unsigned integer, rounding toward Minus infinity (vector) FCVTMU (scalar)
FCVTNS (scalar) Floating-point Convert to Signed integer, rounding to nearest with ties to even (vector) FCVTNS (scalar)
FCVTNU (scalar) Floating-point Convert to Unsigned integer, rounding to nearest with ties to even (vector) FCVTNU (scalar)
FCVTPS (scalar) Floating-point Convert to Signed integer, rounding toward Plus infinity (vector) FCVTPS (scalar)
FCVTPU (scalar) Floating-point Convert to Unsigned integer, rounding toward Plus infinity (vector) FCVTPU (scalar)
FCVTXN (scalar) Floating-point Convert to lower precision Narrow, rounding to odd (vector) FCVTXN (scalar)
FCVTZS (scalar, fixed-point) Floating-point Convert to Signed fixed-point, rounding toward Zero (vector) FCVTZS (scalar, fixed-point)
FCVTZS (scalar, integer) Floating-point Convert to Signed integer, rounding toward Zero (vector) FCVTZS (scalar, integer)
FCVTZU (scalar, fixed-point) Floating-point Convert to Unsigned fixed-point, rounding toward Zero (vector) FCVTZU (scalar, fixed-point)
FCVTZU (scalar, integer) Floating-point Convert to Unsigned integer, rounding toward Zero (vector) FCVTZU (scalar, integer)
FMAXNMP (scalar) Floating-point Maximum Number of Pair of elements (scalar) FMAXNMP (scalar)
FMAXP (scalar) Floating-point Maximum of Pair of elements (scalar) FMAXP (scalar)
FMINNMP (scalar) Floating-point Minimum Number of Pair of elements (scalar) FMINNMP (scalar)
FMINP (scalar) Floating-point Minimum of Pair of elements (scalar) FMINP (scalar)
FMLA (scalar, by element) Floating-point fused Multiply-Add to accumulator (by element) FMLA (scalar, by element)
FMLAL, (scalar, by element) Floating-point fused Multiply-Add Long to accumulator (by element) FMLAL, (scalar, by element)
FMLS (scalar, by element) Floating-point fused Multiply-Subtract from accumulator (by element) FMLS (scalar, by element)
FMLSL, (scalar, by element) Floating-point fused Multiply-Subtract Long from accumulator (by element) FMLSL, (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)
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 (vector) NEG (scalar)
SCVTF (scalar, fixed-point) Signed fixed-point Convert to Floating-point (vector) SCVTF (scalar, fixed-point)
SCVTF (scalar, integer) Signed integer Convert to Floating-point (vector) 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)
SQRDMLAH (scalar, by element) Signed Saturating Rounding Doubling Multiply Accumulate returning High Half (by element) SQRDMLAH (scalar, by element)
SQRDMLAH (scalar) Signed Saturating Rounding Doubling Multiply Accumulate returning High Half (vector) SQRDMLAH (scalar)
SQRDMLSH (scalar, by element) Signed Saturating Rounding Doubling Multiply Subtract returning High Half (by element) SQRDMLSH (scalar, by element)
SQRDMLSH (scalar) Signed Saturating Rounding Doubling Multiply Subtract returning High Half (vector) SQRDMLSH (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 (vector) SUB (scalar)
SUQADD (scalar) Signed saturating Accumulate of Unsigned value SUQADD (scalar)
UCVTF (scalar, fixed-point) Unsigned fixed-point Convert to Floating-point (vector) UCVTF (scalar, fixed-point)
UCVTF (scalar, integer) Unsigned integer Convert to Floating-point (vector) 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