19.1 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 (vector) 19.2 ABS (scalar)
ADD (scalar) Add (vector) 19.3 ADD (scalar)
ADDP (scalar) Add Pair of elements (scalar) 19.4 ADDP (scalar)
CMEQ (scalar, register) Compare bitwise Equal (vector) 19.5 CMEQ (scalar, register)
CMEQ (scalar, zero) Compare bitwise Equal to zero (vector) 19.6 CMEQ (scalar, zero)
CMGE (scalar, register) Compare signed Greater than or Equal (vector) 19.7 CMGE (scalar, register)
CMGE (scalar, zero) Compare signed Greater than or Equal to zero (vector) 19.8 CMGE (scalar, zero)
CMGT (scalar, register) Compare signed Greater than (vector) 19.9 CMGT (scalar, register)
CMGT (scalar, zero) Compare signed Greater than zero (vector) 19.10 CMGT (scalar, zero)
CMHI (scalar, register) Compare unsigned Higher (vector) 19.11 CMHI (scalar, register)
CMHS (scalar, register) Compare unsigned Higher or Same (vector) 19.12 CMHS (scalar, register)
CMLE (scalar, zero) Compare signed Less than or Equal to zero (vector) 19.13 CMLE (scalar, zero)
CMLT (scalar, zero) Compare signed Less than zero (vector) 19.14 CMLT (scalar, zero)
CMTST (scalar) Compare bitwise Test bits nonzero (vector) 19.15 CMTST (scalar)
DUP (scalar, element) Duplicate vector element to scalar 19.16 DUP (scalar, element)
FABD (scalar) Floating-point Absolute Difference (vector) 19.17 FABD (scalar)
FACGE (scalar) Floating-point Absolute Compare Greater than or Equal (vector) 19.18 FACGE (scalar)
FACGT (scalar) Floating-point Absolute Compare Greater than (vector) 19.19 FACGT (scalar)
FADDP (scalar) Floating-point Add Pair of elements (scalar) 19.20 FADDP (scalar)
FCMEQ (scalar, register) Floating-point Compare Equal (vector) 19.21 FCMEQ (scalar, register)
FCMEQ (scalar, zero) Floating-point Compare Equal to zero (vector) 19.22 FCMEQ (scalar, zero)
FCMGE (scalar, register) Floating-point Compare Greater than or Equal (vector) 19.23 FCMGE (scalar, register)
FCMGE (scalar, zero) Floating-point Compare Greater than or Equal to zero (vector) 19.24 FCMGE (scalar, zero)
FCMGT (scalar, register) Floating-point Compare Greater than (vector) 19.25 FCMGT (scalar, register)
FCMGT (scalar, zero) Floating-point Compare Greater than zero (vector) 19.26 FCMGT (scalar, zero)
FCMLA (scalar, by element) Floating-point Complex Multiply Accumulate (by element) 19.27 FCMLA (scalar, by element)
FCMLE (scalar, zero) Floating-point Compare Less than or Equal to zero (vector) 19.28 FCMLE (scalar, zero)
FCMLT (scalar, zero) Floating-point Compare Less than zero (vector) 19.29 FCMLT (scalar, zero)
FCVTAS (scalar) Floating-point Convert to Signed integer, rounding to nearest with ties to Away (vector) 19.30 FCVTAS (scalar)
FCVTAU (scalar) Floating-point Convert to Unsigned integer, rounding to nearest with ties to Away (vector) 19.31 FCVTAU (scalar)
FCVTMS (scalar) Floating-point Convert to Signed integer, rounding toward Minus infinity (vector) 19.32 FCVTMS (scalar)
FCVTMU (scalar) Floating-point Convert to Unsigned integer, rounding toward Minus infinity (vector) 19.33 FCVTMU (scalar)
FCVTNS (scalar) Floating-point Convert to Signed integer, rounding to nearest with ties to even (vector) 19.34 FCVTNS (scalar)
FCVTNU (scalar) Floating-point Convert to Unsigned integer, rounding to nearest with ties to even (vector) 19.35 FCVTNU (scalar)
FCVTPS (scalar) Floating-point Convert to Signed integer, rounding toward Plus infinity (vector) 19.36 FCVTPS (scalar)
FCVTPU (scalar) Floating-point Convert to Unsigned integer, rounding toward Plus infinity (vector) 19.37 FCVTPU (scalar)
FCVTXN (scalar) Floating-point Convert to lower precision Narrow, rounding to odd (vector) 19.38 FCVTXN (scalar)
FCVTZS (scalar, fixed-point) Floating-point Convert to Signed fixed-point, rounding toward Zero (vector) 19.39 FCVTZS (scalar, fixed-point)
FCVTZS (scalar, integer) Floating-point Convert to Signed integer, rounding toward Zero (vector) 19.40 FCVTZS (scalar, integer)
FCVTZU (scalar, fixed-point) Floating-point Convert to Unsigned fixed-point, rounding toward Zero (vector) 19.41 FCVTZU (scalar, fixed-point)
FCVTZU (scalar, integer) Floating-point Convert to Unsigned integer, rounding toward Zero (vector) 19.42 FCVTZU (scalar, integer)
FMAXNMP (scalar) Floating-point Maximum Number of Pair of elements (scalar) 19.43 FMAXNMP (scalar)
FMAXP (scalar) Floating-point Maximum of Pair of elements (scalar) 19.44 FMAXP (scalar)
FMINNMP (scalar) Floating-point Minimum Number of Pair of elements (scalar) 19.45 FMINNMP (scalar)
FMINP (scalar) Floating-point Minimum of Pair of elements (scalar) 19.46 FMINP (scalar)
FMLA (scalar, by element) Floating-point fused Multiply-Add to accumulator (by element) 19.47 FMLA (scalar, by element)
FMLS (scalar, by element) Floating-point fused Multiply-Subtract from accumulator (by element) 19.48 FMLS (scalar, by element)
FMUL (scalar, by element) Floating-point Multiply (by element) 19.49 FMUL (scalar, by element)
FMULX (scalar, by element) Floating-point Multiply extended (by element) 19.50 FMULX (scalar, by element)
FMULX (scalar) Floating-point Multiply extended 19.51 FMULX (scalar)
FRECPE (scalar) Floating-point Reciprocal Estimate 19.52 FRECPE (scalar)
FRECPS (scalar) Floating-point Reciprocal Step 19.53 FRECPS (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 (vector) 19.57 NEG (scalar)
SCVTF (scalar, fixed-point) Signed fixed-point Convert to Floating-point (vector) 19.58 SCVTF (scalar, fixed-point)
SCVTF (scalar, integer) Signed integer Convert to Floating-point (vector) 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)
SQRDMLAH (scalar, by element) Signed Saturating Rounding Doubling Multiply Accumulate returning High Half (by element) 19.73 SQRDMLAH (scalar, by element)
SQRDMLAH (scalar) Signed Saturating Rounding Doubling Multiply Accumulate returning High Half (vector) 19.74 SQRDMLAH (scalar)
SQRDMLSH (scalar, by element) Signed Saturating Rounding Doubling Multiply Subtract returning High Half (by element) 19.75 SQRDMLSH (scalar, by element)
SQRDMLSH (scalar) Signed Saturating Rounding Doubling Multiply Subtract returning High Half (vector) 19.76 SQRDMLSH (scalar)
SQRDMULH (scalar, by element) Signed saturating Rounding Doubling Multiply returning High half (by element) 19.77 SQRDMULH (scalar, by element)
SQRDMULH (scalar) Signed saturating Rounding Doubling Multiply returning High half 19.78 SQRDMULH (scalar)
SQRSHL (scalar) Signed saturating Rounding Shift Left (register) 19.79 SQRSHL (scalar)
SQRSHRN (scalar) Signed saturating Rounded Shift Right Narrow (immediate) 19.80 SQRSHRN (scalar)
SQRSHRUN (scalar) Signed saturating Rounded Shift Right Unsigned Narrow (immediate) 19.81 SQRSHRUN (scalar)
SQSHL (scalar, immediate) Signed saturating Shift Left (immediate) 19.82 SQSHL (scalar, immediate)
SQSHL (scalar, register) Signed saturating Shift Left (register) 19.83 SQSHL (scalar, register)
SQSHLU (scalar) Signed saturating Shift Left Unsigned (immediate) 19.84 SQSHLU (scalar)
SQSHRN (scalar) Signed saturating Shift Right Narrow (immediate) 19.85 SQSHRN (scalar)
SQSHRUN (scalar) Signed saturating Shift Right Unsigned Narrow (immediate) 19.86 SQSHRUN (scalar)
SQSUB (scalar) Signed saturating Subtract 19.87 SQSUB (scalar)
SQXTN (scalar) Signed saturating extract Narrow 19.88 SQXTN (scalar)
SQXTUN (scalar) Signed saturating extract Unsigned Narrow 19.89 SQXTUN (scalar)
SRI (scalar) Shift Right and Insert (immediate) 19.90 SRI (scalar)
SRSHL (scalar) Signed Rounding Shift Left (register) 19.91 SRSHL (scalar)
SRSHR (scalar) Signed Rounding Shift Right (immediate) 19.92 SRSHR (scalar)
SRSRA (scalar) Signed Rounding Shift Right and Accumulate (immediate) 19.93 SRSRA (scalar)
SSHL (scalar) Signed Shift Left (register) 19.94 SSHL (scalar)
SSHR (scalar) Signed Shift Right (immediate) 19.95 SSHR (scalar)
SSRA (scalar) Signed Shift Right and Accumulate (immediate) 19.96 SSRA (scalar)
SUB (scalar) Subtract (vector) 19.97 SUB (scalar)
SUQADD (scalar) Signed saturating Accumulate of Unsigned value 19.98 SUQADD (scalar)
UCVTF (scalar, fixed-point) Unsigned fixed-point Convert to Floating-point (vector) 19.99 UCVTF (scalar, fixed-point)
UCVTF (scalar, integer) Unsigned integer Convert to Floating-point (vector) 19.100 UCVTF (scalar, integer)
UQADD (scalar) Unsigned saturating Add 19.101 UQADD (scalar)
UQRSHL (scalar) Unsigned saturating Rounding Shift Left (register) 19.102 UQRSHL (scalar)
UQRSHRN (scalar) Unsigned saturating Rounded Shift Right Narrow (immediate) 19.103 UQRSHRN (scalar)
UQSHL (scalar, immediate) Unsigned saturating Shift Left (immediate) 19.104 UQSHL (scalar, immediate)
UQSHL (scalar, register) Unsigned saturating Shift Left (register) 19.105 UQSHL (scalar, register)
UQSHRN (scalar) Unsigned saturating Shift Right Narrow (immediate) 19.106 UQSHRN (scalar)
UQSUB (scalar) Unsigned saturating Subtract 19.107 UQSUB (scalar)
UQXTN (scalar) Unsigned saturating extract Narrow 19.108 UQXTN (scalar)
URSHL (scalar) Unsigned Rounding Shift Left (register) 19.109 URSHL (scalar)
URSHR (scalar) Unsigned Rounding Shift Right (immediate) 19.110 URSHR (scalar)
URSRA (scalar) Unsigned Rounding Shift Right and Accumulate (immediate) 19.111 URSRA (scalar)
USHL (scalar) Unsigned Shift Left (register) 19.112 USHL (scalar)
USHR (scalar) Unsigned Shift Right (immediate) 19.113 USHR (scalar)
USQADD (scalar) Unsigned saturating Accumulate of Signed value 19.114 USQADD (scalar)
USRA (scalar) Unsigned Shift Right and Accumulate (immediate) 19.115 USRA (scalar)
Non-ConfidentialPDF file icon PDF versionARM 100069_0608_00_en
Copyright © 2014–2017 ARM Limited or its affiliates. All rights reserved.