ARMv8 base instructions

MnemonicBrief
ABSAbsolute value (predicated)
ABSAbsolute value
ABSAbsolute value (vector)
ADCAdd with carry
ADCLBAdd with carry long (bottom)
ADCLTAdd with carry long (top)
ADCSAdd with carry, setting flags
ADD (array accumulators)Add multi-vector to ZA array vector accumulators
ADD (array results, multiple and single vector)Add replicated single vector to multi-vector with ZA array vector results
ADD (array results, multiple vectors)Add multi-vector to multi-vector with ZA array vector results
ADD (extended register)Add extended and scaled register
ADD (immediate)Add immediate value
ADD (immediate)Add immediate (unpredicated)
ADD (shifted register)Add optionally-shifted register
ADD (to vector)Add replicated single vector to multi-vector with multi-vector result
ADD (vector)Add (vector)
ADD (vectors, predicated)Add vectors (predicated)
ADD (vectors, unpredicated)Add vectors (unpredicated)
ADDGAdd with tag
ADDHAAdd horizontally vector elements to ZA tile
ADDHN, ADDHN2Add returning high narrow
ADDHNBAdd narrow high part (bottom)
ADDHNTAdd narrow high part (top)
ADDPAdd pairwise
ADDP (scalar)Add pair of elements (scalar)
ADDP (vector)Add pairwise (vector)
ADDPLAdd multiple of predicate register size to scalar register
ADDPTAdd checked pointer
ADDPT (predicated)Add checked pointer vectors (predicated)
ADDPT (unpredicated)Add checked pointer vectors (unpredicated)
ADDQVAdd reduction of quadword vector segments
ADDS (extended register)Add extended and scaled register, setting flags
ADDS (immediate)Add immediate value, setting flags
ADDS (shifted register)Add optionally-shifted register, setting flags
ADDSPLAdd multiple of Streaming SVE predicate register size to scalar register
ADDSVLAdd multiple of Streaming SVE vector register size to scalar register
ADDVAdd across vector
ADDVAAdd vertically vector elements to ZA tile
ADDVLAdd multiple of vector register size to scalar register
ADRForm PC-relative address
ADRCompute vector address
ADRPForm PC-relative address to 4KB page
AESDAES single round decryption
AESD (indexed)Multi-vector AES single round decryption
AESD (vectors)AES single round decryption
AESDIMCMulti-vector AES single round decryption and inverse mix columns
AESEAES single round encryption
AESE (indexed)Multi-vector AES single round encryption
AESE (vectors)AES single round encryption
AESEMCMulti-vector AES single round encryption and mix columns
AESIMCAES inverse mix columns
AESIMCAES inverse mix columns
AESMCAES mix columns
AESMCAES mix columns
AND (immediate)Bitwise AND with immediate (unpredicated)
AND (immediate)Bitwise AND (immediate)
AND (predicates)Bitwise AND predicates
AND (shifted register)Bitwise AND (shifted register)
AND (vector)Bitwise AND (vector)
AND (vectors, predicated)Bitwise AND vectors (predicated)
AND (vectors, unpredicated)Bitwise AND vectors (unpredicated)
ANDQVBitwise AND reduction of quadword vector segments
ANDSBitwise AND predicates, setting the condition flags
ANDS (immediate)Bitwise AND (immediate), setting flags
ANDS (shifted register)Bitwise AND (shifted register), setting flags
ANDVBitwise AND reduction to scalar
APASAssociate physical address space
ASR (immediate)Arithmetic shift right (immediate)
ASR (immediate, predicated)Arithmetic shift right by immediate (predicated)
ASR (immediate, unpredicated)Arithmetic shift right by immediate (unpredicated)
ASR (register)Arithmetic shift right (register)
ASR (vectors)Arithmetic shift right by vector (predicated)
ASR (wide elements, predicated)Arithmetic shift right by 64-bit wide elements (predicated)
ASR (wide elements, unpredicated)Arithmetic shift right by 64-bit wide elements (unpredicated)
ASRDArithmetic shift right for divide by immediate (predicated)
ASRRReversed arithmetic shift right by vector (predicated)
ASRVArithmetic shift right variable
ATAddress translate
AUTDA, AUTDZAAuthenticate data address, using key A
AUTDB, AUTDZBAuthenticate data address, using key B
AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZAAuthenticate instruction address, using key A
AUTIA171615Authenticate instruction address, using key A
AUTIASPPCAuthenticate return address using key A, using an immediate offset
AUTIASPPCRAuthenticate return address using key A, using a register
AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZBAuthenticate instruction address, using key B
AUTIB171615Authenticate instruction address, using key B
AUTIBSPPCAuthenticate return address using key B, using an immediate offset
AUTIBSPPCRAuthenticate return address using key B, using a register
AXFLAGConvert floating-point condition flags from Arm to external format
BBranch
B.condBranch conditionally
BC.condBranch consistent conditionally
BCAXBit clear and exclusive-OR
BCAXBitwise clear and exclusive-OR
BDEPScatter lower bits into positions selected by bitmask
BEXTGather lower bits from positions selected by bitmask
BF1CVT, BF2CVTMulti-vector convert from 8-bit floating-point to BFloat16 (in-order)
BF1CVT, BF2CVT8-bit floating-point convert to BFloat16
BF1CVTL, BF1CVTL2, BF2CVTL, BF2CVTL28-bit floating-point convert to BFloat16 (vector)
BF1CVTL, BF2CVTLMulti-vector convert from 8-bit floating-point to deinterleaved BFloat16
BF1CVTLT, BF2CVTLT8-bit floating-point convert to BFloat16 (top)
BFADDBFloat16 add multi-vector to ZA array vector accumulators
BFADD (predicated)BFloat16 add vectors (predicated)
BFADD (unpredicated)BFloat16 add vectors (unpredicated)
BFCBitfield clear
BFCLAMPMulti-vector BFloat16 clamp to minimum/maximum number
BFCLAMPBFloat16 clamp to minimum/maximum number
BFCVTSingle-precision down convert to BFloat16 format (predicated)
BFCVTFloating-point convert from single-precision to BFloat16 format (scalar)
BFCVT (BFloat16 to 8-bit floating-point)Multi-vector convert from BFloat16 to packed 8-bit floating-point format
BFCVT (single-precision to BFloat16)Multi-vector convert from single-precision to packed BFloat16 format
BFCVTNMulti-vector convert from single-precision to interleaved BFloat16 format
BFCVTNBFloat16 convert, narrow and interleave to 8-bit floating-point
BFCVTN, BFCVTN2Floating-point convert from single-precision to BFloat16 format (vector)
BFCVTNTSingle-precision down convert and narrow to BFloat16 (top, predicated)
BFDOT (by element)BFloat16 floating-point dot product (vector, by element)
BFDOT (indexed)BFloat16 indexed dot product to single-precision
BFDOT (multiple and indexed vector)Multi-vector BFloat16 dot-product by indexed element
BFDOT (multiple and single vector)Multi-vector BFloat16 dot-product by vector
BFDOT (multiple vectors)Multi-vector BFloat16 dot-product
BFDOT (vector)BFloat16 floating-point dot product (vector)
BFDOT (vectors)BFloat16 dot product to single-precision
BFIBitfield insert
BFMBitfield move
BFMAXBFloat16 maximum (predicated)
BFMAX (multiple and single vector)Multi-vector BFloat16 maximum by vector
BFMAX (multiple vectors)Multi-vector BFloat16 maximum
BFMAXNMBFloat16 maximum number (predicated)
BFMAXNM (multiple and single vector)Multi-vector BFloat16 maximum number by vector
BFMAXNM (multiple vectors)Multi-vector BFloat16 maximum number
BFMINBFloat16 minimum (predicated)
BFMIN (multiple and single vector)Multi-vector BFloat16 minimum by vector
BFMIN (multiple vectors)Multi-vector BFloat16 minimum
BFMINNMBFloat16 minimum number (predicated)
BFMINNM (multiple and single vector)Multi-vector BFloat16 minimum number by vector
BFMINNM (multiple vectors)Multi-vector BFloat16 minimum number
BFMLA (indexed)BFloat16 fused multiply-add vectors by indexed elements
BFMLA (multiple and indexed vector)Multi-vector BFloat16 fused multiply-add by indexed element
BFMLA (multiple and single vector)Multi-vector BFloat16 fused multiply-add by vector
BFMLA (multiple vectors)Multi-vector BFloat16 fused multiply-add
BFMLA (vectors)BFloat16 fused multiply-add vectors
BFMLAL (multiple and indexed vector)Multi-vector BFloat16 multiply-add long by indexed element
BFMLAL (multiple and single vector)Multi-vector BFloat16 multiply-add long by vector
BFMLAL (multiple vectors)Multi-vector BFloat16 multiply-add long
BFMLALB (indexed)BFloat16 multiply-add long to single-precision (bottom, indexed)
BFMLALB (vectors)BFloat16 multiply-add long to single-precision (bottom)
BFMLALB, BFMLALT (by element)BFloat16 floating-point widening multiply-add long (by element)
BFMLALB, BFMLALT (vector)BFloat16 floating-point widening multiply-add long (vector)
BFMLALT (indexed)BFloat16 multiply-add long to single-precision (top, indexed)
BFMLALT (vectors)BFloat16 multiply-add long to single-precision (top)
BFMLS (indexed)BFloat16 fused multiply-subtract vectors by indexed elements
BFMLS (multiple and indexed vector)Multi-vector BFloat16 fused multiply-subtract by indexed element
BFMLS (multiple and single vector)Multi-vector BFloat16 fused multiply-subtract by vector
BFMLS (multiple vectors)Multi-vector BFloat16 fused multiply-subtract
BFMLS (vectors)BFloat16 fused multiply-subtract vectors
BFMLSL (multiple and indexed vector)Multi-vector BFloat16 multiply-subtract long by indexed element
BFMLSL (multiple and single vector)Multi-vector BFloat16 multiply-subtract long by vector
BFMLSL (multiple vectors)Multi-vector BFloat16 multiply-subtract long
BFMLSLB (indexed)BFloat16 multiply-subtract long from single-precision (bottom, indexed)
BFMLSLB (vectors)BFloat16 multiply-subtract long from single-precision (bottom)
BFMLSLT (indexed)BFloat16 multiply-subtract long from single-precision (top, indexed)
BFMLSLT (vectors)BFloat16 multiply-subtract long from single-precision (top)
BFMMLA (widening)BFloat16 matrix multiply-accumulate to single-precision
BFMMLA (widening)BFloat16 matrix multiply-accumulate to single-precision
BFMOP4A (non-widening)BFloat16 quarter-tile outer products, accumulating
BFMOP4A (widening)BFloat16 quarter-tile sums of two outer products, accumulating
BFMOP4S (non-widening)BFloat16 quarter-tile outer products, subtracting
BFMOP4S (widening)BFloat16 quarter-tile sums of two outer products, subtracting
BFMOPA (non-widening)BFloat16 outer product and accumulate
BFMOPA (widening)BFloat16 sum of outer products and accumulate
BFMOPS (non-widening)BFloat16 outer product and subtract
BFMOPS (widening)BFloat16 sum of outer products and subtract
BFMUL (indexed)BFloat16 multiply vectors by indexed elements
BFMUL (multiple and single vector)Multi-vector BFloat16 multiply by vector
BFMUL (multiple vectors)Multi-vector BFloat16 multiply
BFMUL (vectors, predicated)BFloat16 multiply vectors (predicated)
BFMUL (vectors, unpredicated)BFloat16 multiply vectors (unpredicated)
BFSCALEBFloat16 adjust exponent by vector (predicated)
BFSCALE (multiple and single vector)Multi-vector BFloat16 adjust exponent by vector
BFSCALE (multiple vectors)Multi-vector BFloat16 adjust exponent
BFSUBBFloat16 subtract multi-vector from ZA array vector accumulators
BFSUB (predicated)BFloat16 subtract vectors (predicated)
BFSUB (unpredicated)BFloat16 subtract vectors (unpredicated)
BFTMOPA (non-widening)BFloat16 sparse outer product, accumulating
BFTMOPA (widening)BFloat16 sparse sum of two outer products, accumulating
BFVDOTMulti-vector BFloat16 vertical dot-product by indexed element
BFXILBitfield extract and insert at low end
BGRPGroup bits to right or left as selected by bitmask
BIC (immediate)Bitwise clear bits using immediate (unpredicated)
BIC (predicates)Bitwise clear predicates
BIC (shifted register)Bitwise bit clear (shifted register)
BIC (vector, immediate)Bitwise bit clear (vector, immediate)
BIC (vector, register)Bitwise bit clear (vector, register)
BIC (vectors, predicated)Bitwise clear vectors (predicated)
BIC (vectors, unpredicated)Bitwise clear vectors (unpredicated)
BICSBitwise clear predicates, setting the condition flags
BICS (shifted register)Bitwise bit clear (shifted register), setting flags
BIFBitwise insert if false
BITBitwise insert if true
BLBranch with link
BLRBranch with link to register
BLRAA, BLRAAZ, BLRAB, BLRABZBranch with link to register, with pointer authentication
BMOPABitwise exclusive NOR population count outer product and accumulate
BMOPSBitwise exclusive NOR population count outer product and subtract
BRBranch to register
BRAA, BRAAZ, BRAB, BRABZBranch to register, with pointer authentication
BRBBranch record buffer
BRKBreakpoint instruction
BRKABreak after first true condition
BRKASBreak after first true condition, setting the condition flags
BRKBBreak before first true condition
BRKBSBreak before first true condition, setting the condition flags
BRKNPropagate break to next partition
BRKNSPropagate break to next partition, setting the condition flags
BRKPABreak after first true condition, propagating from previous partition
BRKPASBreak after first true condition, propagating from previous partition and setting the condition flags
BRKPBBreak before first true condition, propagating from previous partition
BRKPBSBreak before first true condition, propagating from previous partition and setting the condition flags
BSLBitwise select
BSLBitwise select
BSL1NBitwise select with first input inverted
BSL2NBitwise select with second input inverted
BTIBranch target identification
CADDComplex integer add with rotate
CAS, CASA, CASAL, CASLCompare and swap word or doubleword in memory
CASB, CASAB, CASALB, CASLBCompare and swap byte in memory
CASH, CASAH, CASALH, CASLHCompare and swap halfword in memory
CASP, CASPA, CASPAL, CASPLCompare and swap pair of words or doublewords in memory
CASPT, CASPAT, CASPALT, CASPLTCompare and swap pair unprivileged
CAST, CASAT, CASALT, CASLTCompare and swap unprivileged
CB (immediate)Compare register with immediate and branch
CB (register)Compare registers and branch
CBBCompare bytes and branch
CBBLECompare signed less than or equal bytes and branch
CBBLOCompare unsigned lower than bytes and branch
CBBLSCompare unsigned lower than or equal bytes and branch
CBBLTCompare signed less than bytes and branch
CBGE (immediate)Compare signed greater than or equal immediate and branch
CBHCompare halfwords and branch
CBHLECompare signed less than or equal halfwords and branch
CBHLOCompare unsigned lower than halfwords and branch
CBHLSCompare unsigned lower than or equal halfwords and branch
CBHLTCompare signed less than halfwords and branch
CBHS (immediate)Compare unsigned greater than or equal immediate and branch
CBLE (immediate)Compare signed less than or equal immediate and branch
CBLE (register)Compare signed less than or equal register and branch
CBLO (register)Compare unsigned lower than register and branch
CBLS (immediate)Compare unsigned lower than or equal immediate and branch
CBLS (register)Compare unsigned lower than or equal register and branch
CBLT (register)Compare signed less than register and branch
CBNZCompare and branch on nonzero
CBZCompare and branch on zero
CCMN (immediate)Conditional compare negative (immediate)
CCMN (register)Conditional compare negative (register)
CCMP (immediate)Conditional compare (immediate)
CCMP (register)Conditional compare (register)
CDOT (indexed)Complex integer dot product (indexed)
CDOT (vectors)Complex integer dot product
CFINVInvert carry flag
CFPControl flow prediction restriction by context
CHKFEATCheck feature status
CINCConditional increment
CINVConditional invert
CLASTA (scalar)Conditionally extract element after last to general-purpose register
CLASTA (SIMD&FP scalar)Conditionally extract element after last to SIMD&FP scalar register
CLASTA (vectors)Conditionally extract element after last to vector register
CLASTB (scalar)Conditionally extract last element to general-purpose register
CLASTB (SIMD&FP scalar)Conditionally extract last element to SIMD&FP scalar register
CLASTB (vectors)Conditionally extract last element to vector register
CLRBHBClear branch history
CLREXClear exclusive
CLSCount leading sign bits (predicated)
CLSCount leading sign bits
CLS (vector)Count leading sign bits (vector)
CLZCount leading zero bits (predicated)
CLZCount leading zeros
CLZ (vector)Count leading zero bits (vector)
CMEQ (register)Compare bitwise equal (vector)
CMEQ (zero)Compare bitwise equal to zero (vector)
CMGE (register)Compare signed greater than or equal (vector)
CMGE (zero)Compare signed greater than or equal to zero (vector)
CMGT (register)Compare signed greater than (vector)
CMGT (zero)Compare signed greater than zero (vector)
CMHI (register)Compare unsigned higher (vector)
CMHS (register)Compare unsigned higher or same (vector)
CMLA (indexed)Complex integer multiply-add with rotate (indexed)
CMLA (vectors)Complex integer multiply-add with rotate
CMLE (zero)Compare signed less than or equal to zero (vector)
CMLT (zero)Compare signed less than zero (vector)
CMN (extended register)Compare negative (extended register)
CMN (immediate)Compare negative (immediate)
CMN (shifted register)Compare negative (shifted register)
CMP (extended register)Compare (extended register)
CMP (immediate)Compare (immediate)
CMP (shifted register)Compare (shifted register)
CMP (immediate)Compare vector to immediate
CMP (vectors)Compare vectors
CMP (wide elements)Compare vector to 64-bit wide elements
CMPLE (vectors)Compare signed less than or equal to vector, setting the condition flags
CMPLO (vectors)Compare unsigned lower than vector, setting the condition flags
CMPLS (vectors)Compare unsigned lower or same as vector, setting the condition flags
CMPLT (vectors)Compare signed less than vector, setting the condition flags
CMPPCompare with tag
CMTSTCompare bitwise test bits nonzero (vector)
CNEGConditional negate
CNOTLogically invert boolean condition in vector (predicated)
CNTPopulation count per byte
CNTCount non-zero bits (predicated)
CNTCount bits
CNTB, CNTD, CNTH, CNTWSet scalar to multiple of predicate constraint element count
CNTP (predicate as counter)Set scalar to count from predicate-as-counter
CNTP (predicate)Set scalar to count of true predicate elements
COMPACTCopy active vector elements to lower-numbered elements
COSPClear other speculative prediction restriction by context
CPPCache prefetch prediction restriction by context
CPY (immediate, merging)Copy signed integer immediate to vector elements (merging)
CPY (immediate, zeroing)Copy signed integer immediate to vector elements (zeroing)
CPY (scalar)Copy general-purpose register to vector elements (predicated)
CPY (SIMD&FP scalar)Copy SIMD&FP scalar register to vector elements (predicated)
CPYFP, CPYFM, CPYFEMemory copy forward-only
CPYFPN, CPYFMN, CPYFENMemory copy forward-only, reads and writes non-temporal
CPYFPRN, CPYFMRN, CPYFERNMemory copy forward-only, reads non-temporal
CPYFPRT, CPYFMRT, CPYFERTMemory copy forward-only, reads unprivileged
CPYFPRTN, CPYFMRTN, CPYFERTNMemory copy forward-only, reads unprivileged, reads and writes non-temporal
CPYFPRTRN, CPYFMRTRN, CPYFERTRNMemory copy forward-only, reads unprivileged and non-temporal
CPYFPRTWN, CPYFMRTWN, CPYFERTWNMemory copy forward-only, reads unprivileged, writes non-temporal
CPYFPT, CPYFMT, CPYFETMemory copy forward-only, reads and writes unprivileged
CPYFPTN, CPYFMTN, CPYFETNMemory copy forward-only, reads and writes unprivileged and non-temporal
CPYFPTRN, CPYFMTRN, CPYFETRNMemory copy forward-only, reads and writes unprivileged, reads non-temporal
CPYFPTWN, CPYFMTWN, CPYFETWNMemory copy forward-only, reads and writes unprivileged, writes non-temporal
CPYFPWN, CPYFMWN, CPYFEWNMemory copy forward-only, writes non-temporal
CPYFPWT, CPYFMWT, CPYFEWTMemory copy forward-only, writes unprivileged
CPYFPWTN, CPYFMWTN, CPYFEWTNMemory copy forward-only, writes unprivileged, reads and writes non-temporal
CPYFPWTRN, CPYFMWTRN, CPYFEWTRNMemory copy forward-only, writes unprivileged, reads non-temporal
CPYFPWTWN, CPYFMWTWN, CPYFEWTWNMemory copy forward-only, writes unprivileged and non-temporal
CPYP, CPYM, CPYEMemory copy
CPYPN, CPYMN, CPYENMemory copy, reads and writes non-temporal
CPYPRN, CPYMRN, CPYERNMemory copy, reads non-temporal
CPYPRT, CPYMRT, CPYERTMemory copy, reads unprivileged
CPYPRTN, CPYMRTN, CPYERTNMemory copy, reads unprivileged, reads and writes non-temporal
CPYPRTRN, CPYMRTRN, CPYERTRNMemory copy, reads unprivileged and non-temporal
CPYPRTWN, CPYMRTWN, CPYERTWNMemory copy, reads unprivileged, writes non-temporal
CPYPT, CPYMT, CPYETMemory copy, reads and writes unprivileged
CPYPTN, CPYMTN, CPYETNMemory copy, reads and writes unprivileged and non-temporal
CPYPTRN, CPYMTRN, CPYETRNMemory copy, reads and writes unprivileged, reads non-temporal
CPYPTWN, CPYMTWN, CPYETWNMemory copy, reads and writes unprivileged, writes non-temporal
CPYPWN, CPYMWN, CPYEWNMemory copy, writes non-temporal
CPYPWT, CPYMWT, CPYEWTMemory copy, writes unprivileged
CPYPWTN, CPYMWTN, CPYEWTNMemory copy, writes unprivileged, reads and writes non-temporal
CPYPWTRN, CPYMWTRN, CPYEWTRNMemory copy, writes unprivileged, reads non-temporal
CPYPWTWN, CPYMWTWN, CPYEWTWNMemory copy, writes unprivileged and non-temporal
CRC32B, CRC32H, CRC32W, CRC32XCRC32 checksum
CRC32CB, CRC32CH, CRC32CW, CRC32CXCRC32C checksum
CSDBConsumption of speculative data barrier
CSELConditional select
CSETConditional set
CSETMConditional set mask
CSINCConditional select increment
CSINVConditional select invert
CSNEGConditional select negation
CTERMEQ, CTERMNECompare and terminate loop
CTZCount trailing zeros
DCData cache operation
DCPS1Debug change PE state to EL1
DCPS2Debug change PE state to EL2
DCPS3Debug change PE state to EL3
DECB, DECD, DECH, DECW (scalar)Decrement scalar by multiple of predicate constraint element count
DECD, DECH, DECW (vector)Decrement vector by multiple of predicate constraint element count
DECP (scalar)Decrement scalar by count of true predicate elements
DECP (vector)Decrement vector by count of true predicate elements
DGHData gathering hint
DMBData memory barrier
DRPSDebug restore PE state
DSBData synchronization barrier
DUP (element)Duplicate vector element to vector or scalar
DUP (general)Duplicate general-purpose register to vector
DUP (immediate)Broadcast signed immediate to vector elements (unpredicated)
DUP (indexed)Broadcast indexed element to vector (unpredicated)
DUP (scalar)Broadcast general-purpose register to vector elements (unpredicated)
DUPMBroadcast logical bitmask immediate to vector (unpredicated)
DUPQBroadcast indexed element within each quadword vector segment (unpredicated)
DVPData value prediction restriction by context
EONBitwise exclusive-OR with inverted immediate (unpredicated)
EON (shifted register)Bitwise exclusive-OR NOT (shifted register)
EOR (immediate)Bitwise exclusive-OR (immediate)
EOR (immediate)Bitwise exclusive-OR with immediate (unpredicated)
EOR (predicates)Bitwise exclusive-OR predicates
EOR (shifted register)Bitwise exclusive-OR (shifted register)
EOR (vector)Bitwise exclusive-OR (vector)
EOR (vectors, predicated)Bitwise exclusive-OR vectors (predicated)
EOR (vectors, unpredicated)Bitwise exclusive-OR vectors (unpredicated)
EOR3Bitwise exclusive-OR of three vectors
EOR3Three-way exclusive-OR
EORBTInterleaving exclusive-OR (bottom, top)
EORQVBitwise exclusive-OR reduction of quadword vector segments
EORSBitwise exclusive-OR predicates, setting the condition flags
EORTBInterleaving exclusive-OR (top, bottom)
EORVBitwise exclusive-OR reduction to scalar
ERETException return
ERETAA, ERETABException return, with pointer authentication
ESBError synchronization barrier
EXPANDCopy lower-numbered vector elements to active elements
EXTExtract vector from pair of vectors
EXTExtract vector from pair of vectors
EXTQExtract vector segment from each pair of quadword vector segments
EXTRExtract register
F1CVT, F2CVT8-bit floating-point convert to half-precision
F1CVT, F2CVTMulti-vector convert from 8-bit floating-point to half-precision (in-order)
F1CVTL, F1CVTL2, F2CVTL, F2CVTL28-bit floating-point convert to half-precision (vector)
F1CVTL, F2CVTLMulti-vector convert from 8-bit floating-point to deinterleaved half-precision
F1CVTLT, F2CVTLT8-bit floating-point convert to half-precision (top)
FABDFloating-point absolute difference (predicated)
FABDFloating-point absolute difference (vector)
FABSFloating-point absolute value (predicated)
FABS (scalar)Floating-point absolute value (scalar)
FABS (vector)Floating-point absolute value (vector)
FACFloating-point absolute compare vectors
FACGEFloating-point absolute compare greater than or equal (vector)
FACGTFloating-point absolute compare greater than (vector)
FACLEFloating-point absolute compare less than or equal
FACLTFloating-point absolute compare less than
FADDFloating-point add multi-vector to ZA array vector accumulators
FADD (immediate)Floating-point add immediate (predicated)
FADD (scalar)Floating-point add (scalar)
FADD (vector)Floating-point add (vector)
FADD (vectors, predicated)Floating-point add vector (predicated)
FADD (vectors, unpredicated)Floating-point add vector (unpredicated)
FADDAFloating-point add strictly-ordered reduction, accumulating in scalar
FADDPFloating-point add pairwise
FADDP (scalar)Floating-point add pair of elements (scalar)
FADDP (vector)Floating-point add pairwise (vector)
FADDQVFloating-point add recursive reduction of quadword vector segments
FADDVFloating-point add recursive reduction to scalar
FAMAXFloating-point absolute maximum (predicated)
FAMAXFloating-point absolute maximum
FAMAXMulti-vector floating-point absolute maximum
FAMINFloating-point absolute minimum
FAMINMulti-vector floating-point absolute minimum
FAMINFloating-point absolute minimum (predicated)
FCADDFloating-point complex add
FCADDFloating-point complex add with rotate (predicated)
FCCMPFloating-point conditional quiet compare (scalar)
FCCMPEFloating-point conditional signaling compare (scalar)
FCLAMPMulti-vector floating-point clamp to minimum/maximum number
FCLAMPFloating-point clamp to minimum/maximum number
FCM (vectors)Floating-point compare vectors
FCM (zero)Floating-point compare vector with zero
FCMEQ (register)Floating-point compare equal (vector)
FCMEQ (zero)Floating-point compare equal to zero (vector)
FCMGE (register)Floating-point compare greater than or equal (vector)
FCMGE (zero)Floating-point compare greater than or equal to zero (vector)
FCMGT (register)Floating-point compare greater than (vector)
FCMGT (zero)Floating-point compare greater than zero (vector)
FCMLAFloating-point complex multiply accumulate
FCMLA (by element)Floating-point complex multiply accumulate (by element)
FCMLA (indexed)Floating-point complex multiply-add by indexed values with rotate
FCMLA (vectors)Floating-point complex multiply-add with rotate (predicated)
FCMLE (vectors)Floating-point compare less than or equal to vector
FCMLE (zero)Floating-point compare less than or equal to zero (vector)
FCMLT (vectors)Floating-point compare less than vector
FCMLT (zero)Floating-point compare less than zero (vector)
FCMPFloating-point quiet compare (scalar)
FCMPEFloating-point signaling compare (scalar)
FCPYCopy 8-bit floating-point immediate to vector elements (predicated)
FCSELFloating-point conditional select (scalar)
FCVTFloating-point convert precision (predicated)
FCVTFloating-point convert precision (scalar)
FCVT (narrowing, FP16 to FP8)Multi-vector convert from half-precision to packed 8-bit floating-point format
FCVT (narrowing, FP32 to FP16)Multi-vector convert from single-precision to packed half-precision
FCVT (narrowing, FP32 to FP8)Multi-vector convert from single-precision to packed 8-bit floating-point format
FCVT (widening)Multi-vector convert from half-precision to single-precision (in-order)
FCVTAS (scalar SIMD&FP)Floating-point convert to signed integer, rounding to nearest with ties to away (scalar SIMD&FP)
FCVTAS (scalar)Floating-point convert to signed integer, rounding to nearest with ties to away (scalar)
FCVTAS (vector)Floating-point convert to signed integer, rounding to nearest with ties to away (vector)
FCVTAU (scalar SIMD&FP)Floating-point convert to unsigned integer, rounding to nearest with ties to away (scalar SIMD&FP)
FCVTAU (scalar)Floating-point convert to unsigned integer, rounding to nearest with ties to away (scalar)
FCVTAU (vector)Floating-point convert to unsigned integer, rounding to nearest with ties to away (vector)
FCVTLMulti-vector convert from half-precision to deinterleaved single-precision
FCVTL, FCVTL2Floating-point convert to higher precision long (vector)
FCVTLTFloating-point up convert long (top, predicated)
FCVTMS (scalar SIMD&FP)Floating-point convert to signed integer, rounding toward minus infinity (scalar SIMD&FP)
FCVTMS (scalar)Floating-point convert to signed integer, rounding toward minus infinity (scalar)
FCVTMS (vector)Floating-point convert to signed integer, rounding toward minus infinity (vector)
FCVTMU (scalar SIMD&FP)Floating-point convert to unsigned integer, rounding toward minus infinity (scalar SIMD&FP)
FCVTMU (scalar)Floating-point convert to unsigned integer, rounding toward minus infinity (scalar)
FCVTMU (vector)Floating-point convert to unsigned integer, rounding toward minus infinity (vector)
FCVTNHalf-precision convert, narrow and interleave to 8-bit floating-point
FCVTN (FP32 to FP16)Multi-vector convert from single-precision to interleaved half-precision
FCVTN (FP32 to FP8)Multi-vector convert from single-precision to interleaved 8-bit floating-point format
FCVTN (half-precision to 8-bit floating-point)Half-precision to 8-bit floating-point convert and narrow (vector)
FCVTN, FCVTN2 (double to single-precision, single to half-precision)Floating-point convert to lower precision narrow (vector)
FCVTN, FCVTN2 (single-precision to 8-bit floating-point)Single-precision to 8-bit floating-point convert and narrow (vector)
FCVTNBSingle-precision convert, narrow and interleave to 8-bit floating-point (bottom)
FCVTNS (scalar SIMD&FP)Floating-point convert to signed integer, rounding to nearest with ties to even (scalar SIMD&FP)
FCVTNS (scalar)Floating-point convert to signed integer, rounding to nearest with ties to even (scalar)
FCVTNS (vector)Floating-point convert to signed integer, rounding to nearest with ties to even (vector)
FCVTNT (predicated)Floating-point down convert and narrow (top, predicated)
FCVTNT (unpredicated)Single-precision convert, narrow and interleave to 8-bit floating-point (top)
FCVTNU (scalar SIMD&FP)Floating-point convert to unsigned integer, rounding to nearest with ties to even (scalar SIMD&FP)
FCVTNU (scalar)Floating-point convert to unsigned integer, rounding to nearest with ties to even (scalar)
FCVTNU (vector)Floating-point convert to unsigned integer, rounding to nearest with ties to even (vector)
FCVTPS (scalar SIMD&FP)Floating-point convert to signed integer, rounding toward plus infinity (scalar SIMD&FP)
FCVTPS (scalar)Floating-point convert to signed integer, rounding toward plus infinity (scalar)
FCVTPS (vector)Floating-point convert to signed integer, rounding toward plus infinity (vector)
FCVTPU (scalar SIMD&FP)Floating-point convert to unsigned integer, rounding toward plus infinity (scalar SIMD&FP)
FCVTPU (scalar)Floating-point convert to unsigned integer, rounding toward plus infinity (scalar)
FCVTPU (vector)Floating-point convert to unsigned integer, rounding toward plus infinity (vector)
FCVTXDouble-precision down convert to single-precision, rounding to odd (predicated)
FCVTXN, FCVTXN2Floating-point convert to lower precision narrow, rounding to odd (vector)
FCVTXNTDouble-precision down convert to single-precision, rounding to odd (top, predicated)
FCVTZSFloating-point convert to signed integer, rounding toward zero (predicated)
FCVTZSMulti-vector floating-point convert to signed integer, rounding toward zero
FCVTZS (scalar SIMD&FP)Floating-point convert to signed integer, rounding toward zero (scalar SIMD&FP)
FCVTZS (scalar, fixed-point)Floating-point convert to signed fixed-point, rounding toward zero (scalar)
FCVTZS (scalar, integer)Floating-point convert to signed integer, rounding toward zero (scalar)
FCVTZS (vector, fixed-point)Floating-point convert to signed fixed-point, rounding toward zero (vector)
FCVTZS (vector, integer)Floating-point convert to signed integer, rounding toward zero (vector)
FCVTZUFloating-point convert to unsigned integer, rounding toward zero (predicated)
FCVTZUMulti-vector floating-point convert to unsigned integer, rounding toward zero
FCVTZU (scalar SIMD&FP)Floating-point convert to unsigned integer, rounding toward zero (scalar SIMD&FP)
FCVTZU (scalar, fixed-point)Floating-point convert to unsigned fixed-point, rounding toward zero (scalar)
FCVTZU (scalar, integer)Floating-point convert to unsigned integer, rounding toward zero (scalar)
FCVTZU (vector, fixed-point)Floating-point convert to unsigned fixed-point, rounding toward zero (vector)
FCVTZU (vector, integer)Floating-point convert to unsigned integer, rounding toward zero (vector)
FDIVFloating-point divide by vector (predicated)
FDIV (scalar)Floating-point divide (scalar)
FDIV (vector)Floating-point divide (vector)
FDIVRFloating-point reversed divide by vector (predicated)
FDOT (2-way, indexed, FP16 to FP32)Half-precision indexed dot product to single-precision
FDOT (2-way, indexed, FP8 to FP16)8-bit floating-point indexed dot product to half-precision
FDOT (2-way, multiple and indexed vector, FP16 to FP32)Multi-vector half-precision dot-product by indexed element
FDOT (2-way, multiple and indexed vector, FP8 to FP16)Multi-vector 8-bit floating-point dot-product by indexed element to half-precision
FDOT (2-way, multiple and single vector, FP16 to FP32)Multi-vector half-precision dot-product by vector
FDOT (2-way, multiple and single vector, FP8 to FP16)Multi-vector 8-bit floating-point dot-product by vector to half-precision
FDOT (2-way, multiple vectors, FP16 to FP32)Multi-vector half-precision dot-product
FDOT (2-way, multiple vectors, FP8 to FP16)Multi-vector 8-bit floating-point dot-product to half-precision
FDOT (2-way, vectors, FP16 to FP32)Half-precision dot product to single-precision
FDOT (2-way, vectors, FP8 to FP16)8-bit floating-point dot product to half-precision
FDOT (4-way, indexed)8-bit floating-point indexed dot product to single-precision
FDOT (4-way, multiple and indexed vector)Multi-vector 8-bit floating-point dot-product by indexed element to single-precision
FDOT (4-way, multiple and single vector)Multi-vector 8-bit floating-point dot-product by vector to single-precision
FDOT (4-way, multiple vectors)Multi-vector 8-bit floating-point dot-product to single-precision
FDOT (4-way, vectors)8-bit floating-point dot product to single-precision
FDOT (8-bit floating-point to half-precision, by element)8-bit floating-point dot product to half-precision (vector, by element)
FDOT (8-bit floating-point to half-precision, vector)8-bit floating-point dot product to half-precision (vector)
FDOT (8-bit floating-point to single-precision, by element)8-bit floating-point dot product to single-precision (vector, by element)
FDOT (8-bit floating-point to single-precision, vector)8-bit floating-point dot product to single-precision (vector)
FDUPBroadcast 8-bit floating-point immediate to vector elements (unpredicated)
FEXPAFloating-point exponential accelerator
FIRSTPScalar index of first true predicate element (predicated)
FJCVTZSFloating-point Javascript convert to signed fixed-point, rounding toward zero
FLOGBFloating-point base 2 logarithm as integer
FMADFloating-point fused multiply-add vectors (predicated), writing multiplicand [Zdn = Za + Zdn * Zm]
FMADDFloating-point fused multiply-add (scalar)
FMAX (immediate)Floating-point maximum with immediate (predicated)
FMAX (multiple and single vector)Multi-vector floating-point maximum by vector
FMAX (multiple vectors)Multi-vector floating-point maximum
FMAX (scalar)Floating-point maximum (scalar)
FMAX (vector)Floating-point maximum (vector)
FMAX (vectors)Floating-point maximum (predicated)
FMAXNM (immediate)Floating-point maximum number with immediate (predicated)
FMAXNM (multiple and single vector)Multi-vector floating-point maximum number by vector
FMAXNM (multiple vectors)Multi-vector floating-point maximum number
FMAXNM (scalar)Floating-point maximum number (scalar)
FMAXNM (vector)Floating-point maximum number (vector)
FMAXNM (vectors)Floating-point maximum number (predicated)
FMAXNMPFloating-point maximum number pairwise
FMAXNMP (scalar)Floating-point maximum number of pair of elements (scalar)
FMAXNMP (vector)Floating-point maximum number pairwise (vector)
FMAXNMQVFloating-point maximum number recursive reduction of quadword vector segments
FMAXNMVFloating-point maximum number across vector
FMAXNMVFloating-point maximum number recursive reduction to scalar
FMAXPFloating-point maximum pairwise
FMAXP (scalar)Floating-point maximum of pair of elements (scalar)
FMAXP (vector)Floating-point maximum pairwise (vector)
FMAXQVFloating-point maximum reduction of quadword vector segments
FMAXVFloating-point maximum recursive reduction to scalar
FMAXVFloating-point maximum across vector
FMIN (immediate)Floating-point minimum with immediate (predicated)
FMIN (multiple and single vector)Multi-vector floating-point minimum by vector
FMIN (multiple vectors)Multi-vector floating-point minimum
FMIN (scalar)Floating-point minimum (scalar)
FMIN (vector)Floating-point minimum (vector)
FMIN (vectors)Floating-point minimum (predicated)
FMINNM (immediate)Floating-point minimum number with immediate (predicated)
FMINNM (multiple and single vector)Multi-vector floating-point minimum number by vector
FMINNM (multiple vectors)Multi-vector floating-point minimum number
FMINNM (scalar)Floating-point minimum number (scalar)
FMINNM (vector)Floating-point minimum number (vector)
FMINNM (vectors)Floating-point minimum number (predicated)
FMINNMPFloating-point minimum number pairwise
FMINNMP (scalar)Floating-point minimum number of pair of elements (scalar)
FMINNMP (vector)Floating-point minimum number pairwise (vector)
FMINNMQVFloating-point minimum number recursive reduction of quadword vector segments
FMINNMVFloating-point minimum number recursive reduction to scalar
FMINNMVFloating-point minimum number across vector
FMINPFloating-point minimum pairwise
FMINP (scalar)Floating-point minimum of pair of elements (scalar)
FMINP (vector)Floating-point minimum pairwise (vector)
FMINQVFloating-point minimum recursive reduction of quadword vector segments
FMINVFloating-point minimum across vector
FMINVFloating-point minimum recursive reduction to scalar
FMLA (by element)Floating-point fused multiply-add to accumulator (by element)
FMLA (indexed)Floating-point fused multiply-add by indexed elements (Zda = Zda + Zn * Zm[indexed])
FMLA (multiple and indexed vector)Multi-vector floating-point fused multiply-add by indexed element
FMLA (multiple and single vector)Multi-vector floating-point fused multiply-add by vector
FMLA (multiple vectors)Multi-vector floating-point fused multiply-add
FMLA (vector)Floating-point fused multiply-add to accumulator (vector)
FMLA (vectors)Floating-point fused multiply-add vectors (predicated), writing addend [Zda = Zda + Zn * Zm]
FMLAL (multiple and indexed vector, FP16 to FP32)Multi-vector floating-point multiply-add long by indexed element
FMLAL (multiple and indexed vector, FP8 to FP16)Multi-vector 8-bit floating-point multiply-add long by indexed element to half-precision
FMLAL (multiple and single vector, FP16 to FP32)Multi-vector floating-point multiply-add long by vector
FMLAL (multiple and single vector, FP8 to FP16)Multi-vector 8-bit floating-point multiply-add long by vector to half-precision
FMLAL (multiple vectors, FP16 to FP32)Multi-vector floating-point multiply-add long
FMLAL (multiple vectors, FP8 to FP16)Multi-vector 8-bit floating-point multiply-add long to half-precision
FMLAL, FMLAL2 (by element)Floating-point fused multiply-add long to accumulator (by element)
FMLAL, FMLAL2 (vector)Floating-point fused multiply-add long to accumulator (vector)
FMLALB (indexed, FP16 to FP32)Half-precision multiply-add long to single-precision (bottom, indexed)
FMLALB (indexed, FP8 to FP16)8-bit floating-point multiply-add long to half-precision (bottom, indexed)
FMLALB (vectors, FP16 to FP32)Half-precision multiply-add long to single-precision (bottom)
FMLALB (vectors, FP8 to FP16)8-bit floating-point multiply-add long to half-precision (bottom)
FMLALB, FMLALT (by element)8-bit floating-point multiply-add long to half-precision (vector, by element)
FMLALB, FMLALT (vector)8-bit floating-point multiply-add long to half-precision (vector)
FMLALL (multiple and indexed vector)Multi-vector 8-bit floating-point multiply-add long-long by indexed element to single-precision
FMLALL (multiple and single vector)Multi-vector 8-bit floating-point multiply-add long-long by vector to single-precision
FMLALL (multiple vectors)Multi-vector 8-bit floating-point multiply-add long-long to single-precision
FMLALLBB (indexed)8-bit floating-point multiply-add long long to single-precision (bottom bottom, indexed)
FMLALLBB (vectors)8-bit floating-point multiply-add long long to single-precision (bottom bottom)
FMLALLBB, FMLALLBT, FMLALLTB, FMLALLTT (by element)8-bit floating-point multiply-add long-long to single-precision (vector, by element)
FMLALLBB, FMLALLBT, FMLALLTB, FMLALLTT (vector)8-bit floating-point multiply-add long-long to single-precision (vector)
FMLALLBT (indexed)8-bit floating-point multiply-add long long to single-precision (bottom top, indexed)
FMLALLBT (vectors)8-bit floating-point multiply-add long long to single-precision (bottom top)
FMLALLTB (indexed)8-bit floating-point multiply-add long long to single-precision (top bottom, indexed)
FMLALLTB (vectors)8-bit floating-point multiply-add long long to single-precision (top bottom)
FMLALLTT (indexed)8-bit floating-point multiply-add long long to single-precision (top top, indexed)
FMLALLTT (vectors)8-bit floating-point multiply-add long long to single-precision (top top)
FMLALT (indexed, FP16 to FP32)Half-precision multiply-add long to single-precision (top, indexed)
FMLALT (indexed, FP8 to FP16)8-bit floating-point multiply-add long to half-precision (top, indexed)
FMLALT (vectors, FP16 to FP32)Half-precision multiply-add long to single-precision (top)
FMLALT (vectors, FP8 to FP16)8-bit floating-point multiply-add long to half-precision (top)
FMLS (by element)Floating-point fused multiply-subtract from accumulator (by element)
FMLS (indexed)Floating-point fused multiply-subtract by indexed elements (Zda = Zda + -Zn * Zm[indexed])
FMLS (multiple and indexed vector)Multi-vector floating-point fused multiply-subtract by indexed element
FMLS (multiple and single vector)Multi-vector floating-point fused multiply-subtract by vector
FMLS (multiple vectors)Multi-vector floating-point fused multiply-subtract
FMLS (vector)Floating-point fused multiply-subtract from accumulator (vector)
FMLS (vectors)Floating-point fused multiply-subtract vectors (predicated), writing addend [Zda = Zda + -Zn * Zm]
FMLSL (multiple and indexed vector)Multi-vector floating-point multiply-subtract long by indexed element
FMLSL (multiple and single vector)Multi-vector floating-point multiply-subtract long by vector
FMLSL (multiple vectors)Multi-vector floating-point multiply-subtract long
FMLSL, FMLSL2 (by element)Floating-point fused multiply-subtract long from accumulator (by element)
FMLSL, FMLSL2 (vector)Floating-point fused multiply-subtract long from accumulator (vector)
FMLSLB (indexed)Half-precision multiply-subtract long from single-precision (bottom, indexed)
FMLSLB (vectors)Half-precision multiply-subtract long from single-precision (bottom)
FMLSLT (indexed)Half-precision multiply-subtract long from single-precision (top, indexed)
FMLSLT (vectors)Half-precision multiply-subtract long from single-precision (top)
FMMLA (non-widening)Floating-point matrix multiply-accumulate
FMMLA (widening, 8-bit floating-point to half-precision)8-bit floating-point matrix multiply-accumulate to half-precision
FMMLA (widening, 8-bit floating-point to single-precision)8-bit floating-point matrix multiply-accumulate to single-precision
FMMLA (widening, FP16 to FP32)Half-precision matrix multiply-accumulate to single-precision
FMMLA (widening, FP8 to FP16)8-bit floating-point matrix multiply-accumulate to half-precision
FMMLA (widening, FP8 to FP32)8-bit floating-point matrix multiply-accumulate to single-precision
FMOP4A (non-widening)Floating-point quarter-tile outer products, accumulating
FMOP4A (widening, 2-way, FP16 to FP32)Half-precision quarter-tile sums of two outer products, accumulating
FMOP4A (widening, 2-way, FP8 to FP16)8-bit floating-point quarter-tile sums of two outer products, accumulating
FMOP4A (widening, 4-way)8-bit floating-point quarter-tile sums of four outer products, accumulating
FMOP4S (non-widening)Floating-point quarter-tile outer products, subtracting
FMOP4S (widening)Half-precision quarter-tile sums of two outer products, subtracting
FMOPA (non-widening)Floating-point outer product and accumulate
FMOPA (widening, 2-way, FP16 to FP32)Half-precision sum of outer products and accumulate
FMOPA (widening, 2-way, FP8 to FP16)8-bit floating-point sum of outer products and accumulate
FMOPA (widening, 4-way)8-bit floating-point sum of outer products and accumulate
FMOPS (non-widening)Floating-point outer product and subtract
FMOPS (widening)Half-precision sum of outer products and subtract
FMOV (general)Floating-point move to or from general-purpose register without conversion
FMOV (immediate, predicated)Move 8-bit floating-point immediate to vector elements (predicated)
FMOV (immediate, unpredicated)Move 8-bit floating-point immediate to vector elements (unpredicated)
FMOV (register)Floating-point move register without conversion
FMOV (scalar, immediate)Floating-point move immediate (scalar)
FMOV (vector, immediate)Floating-point move immediate (vector)
FMOV (zero, predicated)Move floating-point +0.0 to vector elements (predicated)
FMOV (zero, unpredicated)Move floating-point +0.0 to vector elements (unpredicated)
FMSBFloating-point fused multiply-subtract vectors (predicated), writing multiplicand [Zdn = Za + -Zdn * Zm]
FMSUBFloating-point fused multiply-subtract (scalar)
FMUL (by element)Floating-point multiply (by element)
FMUL (immediate)Floating-point multiply by immediate (predicated)
FMUL (indexed)Floating-point multiply by indexed elements
FMUL (multiple and single vector)Multi-vector floating-point multiply by vector
FMUL (multiple vectors)Multi-vector floating-point multiply
FMUL (scalar)Floating-point multiply (scalar)
FMUL (vector)Floating-point multiply (vector)
FMUL (vectors, predicated)Floating-point multiply vectors (predicated)
FMUL (vectors, unpredicated)Floating-point multiply vectors (unpredicated)
FMULXFloating-point multiply-extended vectors (predicated)
FMULXFloating-point multiply extended
FMULX (by element)Floating-point multiply extended (by element)
FNEGFloating-point negate (predicated)
FNEG (scalar)Floating-point negate (scalar)
FNEG (vector)Floating-point negate (vector)
FNMADFloating-point negated fused multiply-add vectors (predicated), writing multiplicand [Zdn = -Za + -Zdn * Zm]
FNMADDFloating-point negated fused multiply-add (scalar)
FNMLAFloating-point negated fused multiply-add vectors (predicated), writing addend [Zda = -Zda + -Zn * Zm]
FNMLSFloating-point negated fused multiply-subtract vectors (predicated), writing addend [Zda = -Zda + Zn * Zm]
FNMSBFloating-point negated fused multiply-subtract vectors (predicated), writing multiplicand [Zdn = -Za + Zdn * Zm]
FNMSUBFloating-point negated fused multiply-subtract (scalar)
FNMUL (scalar)Floating-point multiply-negate (scalar)
FRECPEFloating-point reciprocal estimate (unpredicated)
FRECPEFloating-point reciprocal estimate
FRECPSFloating-point reciprocal step (unpredicated)
FRECPSFloating-point reciprocal step
FRECPXFloating-point reciprocal exponent (scalar)
FRECPXFloating-point reciprocal exponent (predicated)
FRINT32XFloating-point round to 32-bit integer, using current rounding mode (predicated)
FRINT32X (scalar)Floating-point round to 32-bit integer, using current rounding mode (scalar)
FRINT32X (vector)Floating-point round to 32-bit integer, using current rounding mode (vector)
FRINT32ZFloating-point round to 32-bit integer, toward zero (predicated)
FRINT32Z (scalar)Floating-point round to 32-bit integer toward zero (scalar)
FRINT32Z (vector)Floating-point round to 32-bit integer toward zero (vector)
FRINT64XFloating-point round to 64-bit integer, using current rounding mode (predicated)
FRINT64X (scalar)Floating-point round to 64-bit integer, using current rounding mode (scalar)
FRINT64X (vector)Floating-point round to 64-bit integer, using current rounding mode (vector)
FRINT64ZFloating-point round to 64-bit integer, toward zero (predicated)
FRINT64Z (scalar)Floating-point round to 64-bit integer toward zero (scalar)
FRINT64Z (vector)Floating-point round to 64-bit integer toward zero (vector)
FRINTFloating-point round to integral value (predicated)
FRINTAMulti-vector floating-point round to integral value, to nearest with ties away from zero
FRINTA (scalar)Floating-point round to integral, to nearest with ties to away (scalar)
FRINTA (vector)Floating-point round to integral, to nearest with ties to away (vector)
FRINTI (scalar)Floating-point round to integral, using current rounding mode (scalar)
FRINTI (vector)Floating-point round to integral, using current rounding mode (vector)
FRINTMMulti-vector floating-point round to integral value, toward minus Infinity
FRINTM (scalar)Floating-point round to integral, toward minus infinity (scalar)
FRINTM (vector)Floating-point round to integral, toward minus infinity (vector)
FRINTNMulti-vector floating-point round to integral value, to nearest with ties to even
FRINTN (scalar)Floating-point round to integral, to nearest with ties to even (scalar)
FRINTN (vector)Floating-point round to integral, to nearest with ties to even (vector)
FRINTPMulti-vector floating-point round to integral value, toward plus Infinity
FRINTP (scalar)Floating-point round to integral, toward plus infinity (scalar)
FRINTP (vector)Floating-point round to integral, toward plus infinity (vector)
FRINTX (scalar)Floating-point round to integral exact, using current rounding mode (scalar)
FRINTX (vector)Floating-point round to integral exact, using current rounding mode (vector)
FRINTZ (scalar)Floating-point round to integral, toward zero (scalar)
FRINTZ (vector)Floating-point round to integral, toward zero (vector)
FRSQRTEFloating-point reciprocal square root estimate
FRSQRTEFloating-point reciprocal square root estimate (unpredicated)
FRSQRTSFloating-point reciprocal square root step
FRSQRTSFloating-point reciprocal square root step (unpredicated)
FSCALEFloating-point adjust exponent by vector (predicated)
FSCALEFloating-point adjust exponent by vector
FSCALE (multiple and single vector)Multi-vector floating-point adjust exponent by vector
FSCALE (multiple vectors)Multi-vector floating-point adjust exponent
FSQRTFloating-point square root (predicated)
FSQRT (scalar)Floating-point square root (scalar)
FSQRT (vector)Floating-point square root (vector)
FSUBFloating-point subtract multi-vector from ZA array vector accumulators
FSUB (immediate)Floating-point subtract immediate (predicated)
FSUB (scalar)Floating-point subtract (scalar)
FSUB (vector)Floating-point subtract (vector)
FSUB (vectors, predicated)Floating-point subtract vectors (predicated)
FSUB (vectors, unpredicated)Floating-point subtract vectors (unpredicated)
FSUBR (immediate)Floating-point reversed subtract from immediate (predicated)
FSUBR (vectors)Floating-point reversed subtract vectors (predicated)
FTMADFloating-point trigonometric multiply-add coefficient
FTMOPA (non-widening)Floating-point sparse outer product, accumulating
FTMOPA (widening, 2-way, FP16 to FP32)Half-precision sparse sum of two outer products, accumulating
FTMOPA (widening, 2-way, FP8 to FP16)8-bit floating-point sparse sum of two outer products, accumulating
FTMOPA (widening, 4-way)8-bit floating-point sparse sum of four outer products, accumulating
FTSMULFloating-point trigonometric starting value
FTSSELFloating-point trigonometric select coefficient
FVDOT (FP16 to FP32)Multi-vector half-precision vertical dot-product by indexed element
FVDOT (FP8 to FP16)Multi-vector 8-bit floating-point vertical dot-product by indexed element to half-precision
FVDOTBMulti-vector 8-bit floating-point vertical dot-product by indexed element to single-precision (bottom)
FVDOTTMulti-vector 8-bit floating-point vertical dot-product by indexed element to single-precision (top)
GCSBGuarded Control Stack barrier
GCSPOPCXGuarded Control Stack pop and compare exception return record
GCSPOPMGuarded Control Stack pop
GCSPOPXGuarded Control Stack pop exception return record
GCSPUSHMGuarded Control Stack push
GCSPUSHXGuarded Control Stack push exception return record
GCSSS1Guarded Control Stack switch stack 1
GCSSS2Guarded Control Stack switch stack 2
GCSSTRGuarded Control Stack store register
GCSSTTRGuarded Control Stack store register (unprivileged)
GMITag mask insert
HINTHint instruction
HISTCNTCount matching elements in vector
HISTSEGCount matching elements in vector segments
HLTHalt instruction
HVCHypervisor call
ICInstruction cache operation
INCB, INCD, INCH, INCW (scalar)Increment scalar by multiple of predicate constraint element count
INCD, INCH, INCW (vector)Increment vector by multiple of predicate constraint element count
INCP (scalar)Increment scalar by count of true predicate elements
INCP (vector)Increment vector by count of true predicate elements
INDEX (immediate, scalar)Create index starting from immediate and incremented by general-purpose register
INDEX (immediates)Create index starting from and incremented by immediate
INDEX (scalar, immediate)Create index starting from general-purpose register and incremented by immediate
INDEX (scalars)Create index starting from and incremented by general-purpose register
INS (element)Insert vector element from another vector element
INS (general)Insert vector element from general-purpose register
INSR (scalar)Insert general-purpose register in shifted vector
INSR (SIMD&FP scalar)Insert SIMD&FP scalar register in shifted vector
IRGInsert random tag
ISBInstruction synchronization barrier
LASTA (scalar)Extract element after last to general-purpose register
LASTA (SIMD&FP scalar)Extract element after last to SIMD&FP scalar register
LASTB (scalar)Extract last element to general-purpose register
LASTB (SIMD&FP scalar)Extract last element to SIMD&FP scalar register
LASTPScalar index of last true predicate element (predicated)
LD1 (multiple structures)Load multiple single-element structures to one, two, three, or four registers
LD1 (single structure)Load one single-element structure to one lane of one register
LD1B (scalar plus immediate, consecutive registers)Contiguous load of bytes to multiple consecutive vectors (immediate index)
LD1B (scalar plus immediate, single register)Contiguous load unsigned bytes to vector (immediate index)
LD1B (scalar plus immediate, strided registers)Contiguous load of bytes to multiple strided vectors (immediate index)
LD1B (scalar plus scalar, consecutive registers)Contiguous load of bytes to multiple consecutive vectors (scalar index)
LD1B (scalar plus scalar, single register)Contiguous load unsigned bytes to vector (scalar index)
LD1B (scalar plus scalar, strided registers)Contiguous load of bytes to multiple strided vectors (scalar index)
LD1B (scalar plus scalar, tile slice)Contiguous load of bytes to 8-bit element ZA tile slice
LD1B (scalar plus vector)Gather load unsigned bytes to vector (vector index)
LD1B (vector plus immediate)Gather load unsigned bytes to vector (immediate index)
LD1D (scalar plus immediate, consecutive registers)Contiguous load of doublewords to multiple consecutive vectors (immediate index)
LD1D (scalar plus immediate, single register)Contiguous load unsigned doublewords to vector (immediate index)
LD1D (scalar plus immediate, strided registers)Contiguous load of doublewords to multiple strided vectors (immediate index)
LD1D (scalar plus scalar, consecutive registers)Contiguous load of doublewords to multiple consecutive vectors (scalar index)
LD1D (scalar plus scalar, single register)Contiguous load unsigned doublewords to vector (scalar index)
LD1D (scalar plus scalar, strided registers)Contiguous load of doublewords to multiple strided vectors (scalar index)
LD1D (scalar plus scalar, tile slice)Contiguous load of doublewords to 64-bit element ZA tile slice
LD1D (scalar plus vector)Gather load doublewords to vector (vector index)
LD1D (vector plus immediate)Gather load doublewords to vector (immediate index)
LD1H (scalar plus immediate, consecutive registers)Contiguous load of halfwords to multiple consecutive vectors (immediate index)
LD1H (scalar plus immediate, single register)Contiguous load unsigned halfwords to vector (immediate index)
LD1H (scalar plus immediate, strided registers)Contiguous load of halfwords to multiple strided vectors (immediate index)
LD1H (scalar plus scalar, consecutive registers)Contiguous load of halfwords to multiple consecutive vectors (scalar index)
LD1H (scalar plus scalar, single register)Contiguous load unsigned halfwords to vector (scalar index)
LD1H (scalar plus scalar, strided registers)Contiguous load of halfwords to multiple strided vectors (scalar index)
LD1H (scalar plus scalar, tile slice)Contiguous load of halfwords to 16-bit element ZA tile slice
LD1H (scalar plus vector)Gather load unsigned halfwords to vector (vector index)
LD1H (vector plus immediate)Gather load unsigned halfwords to vector (immediate index)
LD1QContiguous load of quadwords to 128-bit element ZA tile slice
LD1QGather load quadwords
LD1RLoad one single-element structure and replicate to all lanes (of one register)
LD1RBLoad and broadcast unsigned byte to vector
LD1RDLoad and broadcast doubleword to vector
LD1RHLoad and broadcast unsigned halfword to vector
LD1ROB (scalar plus immediate)Contiguous load and replicate thirty-two bytes (immediate index)
LD1ROB (scalar plus scalar)Contiguous load and replicate thirty-two bytes (scalar index)
LD1ROD (scalar plus immediate)Contiguous load and replicate four doublewords (immediate index)
LD1ROD (scalar plus scalar)Contiguous load and replicate four doublewords (scalar index)
LD1ROH (scalar plus immediate)Contiguous load and replicate sixteen halfwords (immediate index)
LD1ROH (scalar plus scalar)Contiguous load and replicate sixteen halfwords (scalar index)
LD1ROW (scalar plus immediate)Contiguous load and replicate eight words (immediate index)
LD1ROW (scalar plus scalar)Contiguous load and replicate eight words (scalar index)
LD1RQB (scalar plus immediate)Contiguous load and replicate sixteen bytes (immediate index)
LD1RQB (scalar plus scalar)Contiguous load and replicate sixteen bytes (scalar index)
LD1RQD (scalar plus immediate)Contiguous load and replicate two doublewords (immediate index)
LD1RQD (scalar plus scalar)Contiguous load and replicate two doublewords (scalar index)
LD1RQH (scalar plus immediate)Contiguous load and replicate eight halfwords (immediate index)
LD1RQH (scalar plus scalar)Contiguous load and replicate eight halfwords (scalar index)
LD1RQW (scalar plus immediate)Contiguous load and replicate four words (immediate index)
LD1RQW (scalar plus scalar)Contiguous load and replicate four words (scalar index)
LD1RSBLoad and broadcast signed byte to vector
LD1RSHLoad and broadcast signed halfword to vector
LD1RSWLoad and broadcast signed word to vector
LD1RWLoad and broadcast unsigned word to vector
LD1SB (scalar plus immediate)Contiguous load signed bytes to vector (immediate index)
LD1SB (scalar plus scalar)Contiguous load signed bytes to vector (scalar index)
LD1SB (scalar plus vector)Gather load signed bytes to vector (vector index)
LD1SB (vector plus immediate)Gather load signed bytes to vector (immediate index)
LD1SH (scalar plus immediate)Contiguous load signed halfwords to vector (immediate index)
LD1SH (scalar plus scalar)Contiguous load signed halfwords to vector (scalar index)
LD1SH (scalar plus vector)Gather load signed halfwords to vector (vector index)
LD1SH (vector plus immediate)Gather load signed halfwords to vector (immediate index)
LD1SW (scalar plus immediate)Contiguous load signed words to vector (immediate index)
LD1SW (scalar plus scalar)Contiguous load signed words to vector (scalar index)
LD1SW (scalar plus vector)Gather load signed words to vector (vector index)
LD1SW (vector plus immediate)Gather load signed words to vector (immediate index)
LD1W (scalar plus immediate, consecutive registers)Contiguous load of words to multiple consecutive vectors (immediate index)
LD1W (scalar plus immediate, single register)Contiguous load unsigned words to vector (immediate index)
LD1W (scalar plus immediate, strided registers)Contiguous load of words to multiple strided vectors (immediate index)
LD1W (scalar plus scalar, consecutive registers)Contiguous load of words to multiple consecutive vectors (scalar index)
LD1W (scalar plus scalar, single register)Contiguous load unsigned words to vector (scalar index)
LD1W (scalar plus scalar, strided registers)Contiguous load of words to multiple strided vectors (scalar index)
LD1W (scalar plus scalar, tile slice)Contiguous load of words to 32-bit element ZA tile slice
LD1W (scalar plus vector)Gather load unsigned words to vector (vector index)
LD1W (vector plus immediate)Gather load unsigned words to vector (immediate index)
LD2 (multiple structures)Load multiple 2-element structures to two registers
LD2 (single structure)Load single 2-element structure to one lane of two registers
LD2B (scalar plus immediate)Contiguous load two-byte structures to two vectors (immediate index)
LD2B (scalar plus scalar)Contiguous load two-byte structures to two vectors (scalar index)
LD2D (scalar plus immediate)Contiguous load two-doubleword structures to two vectors (immediate index)
LD2D (scalar plus scalar)Contiguous load two-doubleword structures to two vectors (scalar index)
LD2H (scalar plus immediate)Contiguous load two-halfword structures to two vectors (immediate index)
LD2H (scalar plus scalar)Contiguous load two-halfword structures to two vectors (scalar index)
LD2Q (scalar plus immediate)Contiguous load two-quadword structures to two vectors (immediate index)
LD2Q (scalar plus scalar)Contiguous load two-quadword structures to two vectors (scalar index)
LD2RLoad single 2-element structure and replicate to all lanes of two registers
LD2W (scalar plus immediate)Contiguous load two-word structures to two vectors (immediate index)
LD2W (scalar plus scalar)Contiguous load two-word structures to two vectors (scalar index)
LD3 (multiple structures)Load multiple 3-element structures to three registers
LD3 (single structure)Load single 3-element structure to one lane of three registers
LD3B (scalar plus immediate)Contiguous load three-byte structures to three vectors (immediate index)
LD3B (scalar plus scalar)Contiguous load three-byte structures to three vectors (scalar index)
LD3D (scalar plus immediate)Contiguous load three-doubleword structures to three vectors (immediate index)
LD3D (scalar plus scalar)Contiguous load three-doubleword structures to three vectors (scalar index)
LD3H (scalar plus immediate)Contiguous load three-halfword structures to three vectors (immediate index)
LD3H (scalar plus scalar)Contiguous load three-halfword structures to three vectors (scalar index)
LD3Q (scalar plus immediate)Contiguous load three-quadword structures to three vectors (immediate index)
LD3Q (scalar plus scalar)Contiguous load three-quadword structures to three vectors (scalar index)
LD3RLoad single 3-element structure and replicate to all lanes of three registers
LD3W (scalar plus immediate)Contiguous load three-word structures to three vectors (immediate index)
LD3W (scalar plus scalar)Contiguous load three-word structures to three vectors (scalar index)
LD4 (multiple structures)Load multiple 4-element structures to four registers
LD4 (single structure)Load single 4-element structure to one lane of four registers
LD4B (scalar plus immediate)Contiguous load four-byte structures to four vectors (immediate index)
LD4B (scalar plus scalar)Contiguous load four-byte structures to four vectors (scalar index)
LD4D (scalar plus immediate)Contiguous load four-doubleword structures to four vectors (immediate index)
LD4D (scalar plus scalar)Contiguous load four-doubleword structures to four vectors (scalar index)
LD4H (scalar plus immediate)Contiguous load four-halfword structures to four vectors (immediate index)
LD4H (scalar plus scalar)Contiguous load four-halfword structures to four vectors (scalar index)
LD4Q (scalar plus immediate)Contiguous load four-quadword structures to four vectors (immediate index)
LD4Q (scalar plus scalar)Contiguous load four-quadword structures to four vectors (scalar index)
LD4RLoad single 4-element structure and replicate to all lanes of four registers
LD4W (scalar plus immediate)Contiguous load four-word structures to four vectors (immediate index)
LD4W (scalar plus scalar)Contiguous load four-word structures to four vectors (scalar index)
LD64BSingle-copy atomic 64-byte Load
LDADD, LDADDA, LDADDAL, LDADDLAtomic add on word or doubleword in memory
LDADDB, LDADDAB, LDADDALB, LDADDLBAtomic add on byte in memory
LDADDH, LDADDAH, LDADDALH, LDADDLHAtomic add on halfword in memory
LDAP1 (SIMD&FP)Load-acquire RCpc one single-element structure to one lane of one register
LDAPRLoad-acquire RCpc register
LDAPRBLoad-acquire RCpc register byte
LDAPRHLoad-acquire RCpc register halfword
LDAPURLoad-acquire RCpc register (unscaled)
LDAPUR (SIMD&FP)Load-acquire RCpc SIMD&FP register (unscaled offset)
LDAPURBLoad-acquire RCpc register byte (unscaled)
LDAPURHLoad-acquire RCpc register halfword (unscaled)
LDAPURSBLoad-acquire RCpc register signed byte (unscaled)
LDAPURSHLoad-acquire RCpc register signed halfword (unscaled)
LDAPURSWLoad-acquire RCpc register signed word (unscaled)
LDARLoad-acquire register
LDARBLoad-acquire register byte
LDARHLoad-acquire register halfword
LDATXRLoad-acquire unprivileged exclusive register
LDAXPLoad-acquire exclusive pair of registers
LDAXRLoad-acquire exclusive register
LDAXRBLoad-acquire exclusive register byte
LDAXRHLoad-acquire exclusive register halfword
LDBFADD, LDBFADDA, LDBFADDAL, LDBFADDLBFloat16 floating-point add in memory
LDBFMAX, LDBFMAXA, LDBFMAXAL, LDBFMAXLBFloat16 floating-point atomic maximum in memory
LDBFMAXNM, LDBFMAXNMA, LDBFMAXNMAL, LDBFMAXNMLBFloat16 floating-point atomic maximum number in memory
LDBFMIN, LDBFMINA, LDBFMINAL, LDBFMINLBFloat16 floating-point atomic minimum in memory
LDBFMINNM, LDBFMINNMA, LDBFMINNMAL, LDBFMINNMLBFloat16 floating-point atomic minimum number in memory
LDCLR, LDCLRA, LDCLRAL, LDCLRLAtomic bit clear on word or doubleword in memory
LDCLRB, LDCLRAB, LDCLRALB, LDCLRLBAtomic bit clear on byte in memory
LDCLRH, LDCLRAH, LDCLRALH, LDCLRLHAtomic bit clear on halfword in memory
LDCLRP, LDCLRPA, LDCLRPAL, LDCLRPLAtomic bit clear on quadword in memory
LDEOR, LDEORA, LDEORAL, LDEORLAtomic exclusive-OR on word or doubleword in memory
LDEORB, LDEORAB, LDEORALB, LDEORLBAtomic exclusive-OR on byte in memory
LDEORH, LDEORAH, LDEORALH, LDEORLHAtomic exclusive-OR on halfword in memory
LDFADD, LDFADDA, LDFADDAL, LDFADDLFloating-point atomic add in memory
LDFF1B (scalar plus scalar)Contiguous load first-fault unsigned bytes to vector (scalar index)
LDFF1B (scalar plus vector)Gather load first-fault unsigned bytes to vector (vector index)
LDFF1B (vector plus immediate)Gather load first-fault unsigned bytes to vector (immediate index)
LDFF1D (scalar plus scalar)Contiguous load first-fault doublewords to vector (scalar index)
LDFF1D (scalar plus vector)Gather load first-fault doublewords to vector (vector index)
LDFF1D (vector plus immediate)Gather load first-fault doublewords to vector (immediate index)
LDFF1H (scalar plus scalar)Contiguous load first-fault unsigned halfwords to vector (scalar index)
LDFF1H (scalar plus vector)Gather load first-fault unsigned halfwords to vector (vector index)
LDFF1H (vector plus immediate)Gather load first-fault unsigned halfwords to vector (immediate index)
LDFF1SB (scalar plus scalar)Contiguous load first-fault signed bytes to vector (scalar index)
LDFF1SB (scalar plus vector)Gather load first-fault signed bytes to vector (vector index)
LDFF1SB (vector plus immediate)Gather load first-fault signed bytes to vector (immediate index)
LDFF1SH (scalar plus scalar)Contiguous load first-fault signed halfwords to vector (scalar index)
LDFF1SH (scalar plus vector)Gather load first-fault signed halfwords to vector (vector index)
LDFF1SH (vector plus immediate)Gather load first-fault signed halfwords to vector (immediate index)
LDFF1SW (scalar plus scalar)Contiguous load first-fault signed words to vector (scalar index)
LDFF1SW (scalar plus vector)Gather load first-fault signed words to vector (vector index)
LDFF1SW (vector plus immediate)Gather load first-fault signed words to vector (immediate index)
LDFF1W (scalar plus scalar)Contiguous load first-fault unsigned words to vector (scalar index)
LDFF1W (scalar plus vector)Gather load first-fault unsigned words to vector (vector index)
LDFF1W (vector plus immediate)Gather load first-fault unsigned words to vector (immediate index)
LDFMAX, LDFMAXA, LDFMAXAL, LDFMAXLFloating-point atomic maximum in memory
LDFMAXNM, LDFMAXNMA, LDFMAXNMAL, LDFMAXNMLFloating-point atomic maximum number in memory
LDFMIN, LDFMINA, LDFMINAL, LDFMINLFloating-point atomic minimum in memory
LDFMINNM, LDFMINNMA, LDFMINNMAL, LDFMINNMLFloating-point atomic minimum number in memory
LDGLoad Allocation Tag
LDGMLoad tag multiple
LDIAPPLoad-Acquire RCpc ordered pair of registers
LDLARLoad LOAcquire register
LDLARBLoad LOAcquire register byte
LDLARHLoad LOAcquire register halfword
LDNF1BContiguous load non-fault unsigned bytes to vector (immediate index)
LDNF1DContiguous load non-fault doublewords to vector (immediate index)
LDNF1HContiguous load non-fault unsigned halfwords to vector (immediate index)
LDNF1SBContiguous load non-fault signed bytes to vector (immediate index)
LDNF1SHContiguous load non-fault signed halfwords to vector (immediate index)
LDNF1SWContiguous load non-fault signed words to vector (immediate index)
LDNF1WContiguous load non-fault unsigned words to vector (immediate index)
LDNPLoad pair of registers, with non-temporal hint
LDNP (SIMD&FP)Load pair of SIMD&FP registers, with non-temporal hint
LDNT1B (scalar plus immediate, consecutive registers)Contiguous load non-temporal of bytes to multiple consecutive vectors (immediate index)
LDNT1B (scalar plus immediate, single register)Contiguous load non-temporal bytes to vector (immediate index)
LDNT1B (scalar plus immediate, strided registers)Contiguous load non-temporal of bytes to multiple strided vectors (immediate index)
LDNT1B (scalar plus scalar, consecutive registers)Contiguous load non-temporal of bytes to multiple consecutive vectors (scalar index)
LDNT1B (scalar plus scalar, single register)Contiguous load non-temporal bytes to vector (scalar index)
LDNT1B (scalar plus scalar, strided registers)Contiguous load non-temporal of bytes to multiple strided vectors (scalar index)
LDNT1B (vector plus scalar)Gather load non-temporal unsigned bytes
LDNT1D (scalar plus immediate, consecutive registers)Contiguous load non-temporal of doublewords to multiple consecutive vectors (immediate index)
LDNT1D (scalar plus immediate, single register)Contiguous load non-temporal doublewords to vector (immediate index)
LDNT1D (scalar plus immediate, strided registers)Contiguous load non-temporal of doublewords to multiple strided vectors (immediate index)
LDNT1D (scalar plus scalar, consecutive registers)Contiguous load non-temporal of doublewords to multiple consecutive vectors (scalar index)
LDNT1D (scalar plus scalar, single register)Contiguous load non-temporal doublewords to vector (scalar index)
LDNT1D (scalar plus scalar, strided registers)Contiguous load non-temporal of doublewords to multiple strided vectors (scalar index)
LDNT1D (vector plus scalar)Gather load non-temporal unsigned doublewords
LDNT1H (scalar plus immediate, consecutive registers)Contiguous load non-temporal of halfwords to multiple consecutive vectors (immediate index)
LDNT1H (scalar plus immediate, single register)Contiguous load non-temporal halfwords to vector (immediate index)
LDNT1H (scalar plus immediate, strided registers)Contiguous load non-temporal of halfwords to multiple strided vectors (immediate index)
LDNT1H (scalar plus scalar, consecutive registers)Contiguous load non-temporal of halfwords to multiple consecutive vectors (scalar index)
LDNT1H (scalar plus scalar, single register)Contiguous load non-temporal halfwords to vector (scalar index)
LDNT1H (scalar plus scalar, strided registers)Contiguous load non-temporal of halfwords to multiple strided vectors (scalar index)
LDNT1H (vector plus scalar)Gather load non-temporal unsigned halfwords
LDNT1SBGather load non-temporal signed bytes
LDNT1SHGather load non-temporal signed halfwords
LDNT1SWGather load non-temporal signed words
LDNT1W (scalar plus immediate, consecutive registers)Contiguous load non-temporal of words to multiple consecutive vectors (immediate index)
LDNT1W (scalar plus immediate, single register)Contiguous load non-temporal words to vector (immediate index)
LDNT1W (scalar plus immediate, strided registers)Contiguous load non-temporal of words to multiple strided vectors (immediate index)
LDNT1W (scalar plus scalar, consecutive registers)Contiguous load non-temporal of words to multiple consecutive vectors (scalar index)
LDNT1W (scalar plus scalar, single register)Contiguous load non-temporal words to vector (scalar index)
LDNT1W (scalar plus scalar, strided registers)Contiguous load non-temporal of words to multiple strided vectors (scalar index)
LDNT1W (vector plus scalar)Gather load non-temporal unsigned words
LDPLoad pair of registers
LDP (SIMD&FP)Load pair of SIMD&FP registers
LDPSWLoad pair of registers signed word
LDR (array vector)Load ZA array vector
LDR (immediate)Load register (immediate)
LDR (immediate, SIMD&FP)Load SIMD&FP register (immediate offset)
LDR (literal)Load register (literal)
LDR (literal, SIMD&FP)Load SIMD&FP register (PC-relative literal)
LDR (predicate)Load predicate register
LDR (register)Load register (register)
LDR (register, SIMD&FP)Load SIMD&FP register (register offset)
LDR (table)Load ZT0 register
LDR (vector)Load vector register
LDRAA, LDRABLoad register, with pointer authentication
LDRB (immediate)Load register byte (immediate)
LDRB (register)Load register byte (register)
LDRH (immediate)Load register halfword (immediate)
LDRH (register)Load register halfword (register)
LDRSB (immediate)Load register signed byte (immediate)
LDRSB (register)Load register signed byte (register)
LDRSH (immediate)Load register signed halfword (immediate)
LDRSH (register)Load register signed halfword (register)
LDRSW (immediate)Load register signed word (immediate)
LDRSW (literal)Load register signed word (literal)
LDRSW (register)Load register signed word (register)
LDSET, LDSETA, LDSETAL, LDSETLAtomic bit set on word or doubleword in memory
LDSETB, LDSETAB, LDSETALB, LDSETLBAtomic bit set on byte in memory
LDSETH, LDSETAH, LDSETALH, LDSETLHAtomic bit set on halfword in memory
LDSETP, LDSETPA, LDSETPAL, LDSETPLAtomic bit set on quadword in memory
LDSMAX, LDSMAXA, LDSMAXAL, LDSMAXLAtomic signed maximum on word or doubleword in memory
LDSMAXB, LDSMAXAB, LDSMAXALB, LDSMAXLBAtomic signed maximum on byte in memory
LDSMAXH, LDSMAXAH, LDSMAXALH, LDSMAXLHAtomic signed maximum on halfword in memory
LDSMIN, LDSMINA, LDSMINAL, LDSMINLAtomic signed minimum on word or doubleword in memory
LDSMINB, LDSMINAB, LDSMINALB, LDSMINLBAtomic signed minimum on byte in memory
LDSMINH, LDSMINAH, LDSMINALH, LDSMINLHAtomic signed minimum on halfword in memory
LDTADD, LDTADDA, LDTADDAL, LDTADDLAtomic add unprivileged
LDTCLR, LDTCLRA, LDTCLRAL, LDTCLRLAtomic bit clear unprivileged
LDTNPLoad unprivileged pair of registers, with non-temporal hint
LDTNP (SIMD&FP)Load unprivileged pair of SIMD&FP registers, with non-temporal hint
LDTPLoad unprivileged pair of registers
LDTP (SIMD&FP)Load unprivileged pair of SIMD&FP registers
LDTRLoad register (unprivileged)
LDTRBLoad register byte (unprivileged)
LDTRHLoad register halfword (unprivileged)
LDTRSBLoad register signed byte (unprivileged)
LDTRSHLoad register signed halfword (unprivileged)
LDTRSWLoad register signed word (unprivileged)
LDTSET, LDTSETA, LDTSETAL, LDTSETLAtomic bit set unprivileged
LDTXRLoad unprivileged exclusive register
LDUMAX, LDUMAXA, LDUMAXAL, LDUMAXLAtomic unsigned maximum on word or doubleword in memory
LDUMAXB, LDUMAXAB, LDUMAXALB, LDUMAXLBAtomic unsigned maximum on byte in memory
LDUMAXH, LDUMAXAH, LDUMAXALH, LDUMAXLHAtomic unsigned maximum on halfword in memory
LDUMIN, LDUMINA, LDUMINAL, LDUMINLAtomic unsigned minimum on word or doubleword in memory
LDUMINB, LDUMINAB, LDUMINALB, LDUMINLBAtomic unsigned minimum on byte in memory
LDUMINH, LDUMINAH, LDUMINALH, LDUMINLHAtomic unsigned minimum on halfword in memory
LDURLoad register (unscaled)
LDUR (SIMD&FP)Load SIMD&FP register (unscaled offset)
LDURBLoad register byte (unscaled)
LDURHLoad register halfword (unscaled)
LDURSBLoad register signed byte (unscaled)
LDURSHLoad register signed halfword (unscaled)
LDURSWLoad register signed word (unscaled)
LDXPLoad exclusive pair of registers
LDXRLoad exclusive register
LDXRBLoad exclusive register byte
LDXRHLoad exclusive register halfword
LSL (immediate)Logical shift left (immediate)
LSL (immediate, predicated)Logical shift left by immediate (predicated)
LSL (immediate, unpredicated)Logical shift left by immediate (unpredicated)
LSL (register)Logical shift left (register)
LSL (vectors)Logical shift left by vector (predicated)
LSL (wide elements, predicated)Logical shift left by 64-bit wide elements (predicated)
LSL (wide elements, unpredicated)Logical shift left by 64-bit wide elements (unpredicated)
LSLRReversed logical shift left by vector (predicated)
LSLVLogical shift left variable
LSR (immediate)Logical shift right (immediate)
LSR (immediate, predicated)Logical shift right by immediate (predicated)
LSR (immediate, unpredicated)Logical shift right by immediate (unpredicated)
LSR (register)Logical shift right (register)
LSR (vectors)Logical shift right by vector (predicated)
LSR (wide elements, predicated)Logical shift right by 64-bit wide elements (predicated)
LSR (wide elements, unpredicated)Logical shift right by 64-bit wide elements (unpredicated)
LSRRReversed logical shift right by vector (predicated)
LSRVLogical shift right variable
LUTI2Lookup table read with 2-bit indices
LUTI2 (8-bit and 16-bit)Lookup table read with 2-bit indices (8-bit and 16-bit)
LUTI2 (four registers)Lookup table read with 2-bit indexes (four registers)
LUTI2 (single)Lookup table read with 2-bit indexes (single)
LUTI2 (two registers)Lookup table read with 2-bit indexes (two registers)
LUTI4Lookup table read with 4-bit indices
LUTI4 (8-bit and 16-bit)Lookup table read with 4-bit indicess (8-bit and 16-bit)
LUTI4 (four registers, 16-bit and 32-bit)Lookup table read with 4-bit indexes (four registers)
LUTI4 (four registers, 8-bit)Lookup table read with 4-bit indexes and 8-bit elements (four registers)
LUTI4 (single)Lookup table read with 4-bit indexes (single)
LUTI4 (two registers)Lookup table read with 4-bit indexes (two registers)
MADMultiply-add vectors (predicated), writing multiplicand [Zdn = Za + Zdn * Zm]
MADDMultiply-add
MADDPTMultiply-add checked pointer
MADPTMultiply-add checked pointer vectors, writing multiplicand [Zdn = Za + Zdn * Zm]
MATCHDetect any matching elements, setting the condition flags
MLA (by element)Multiply-add to accumulator (vector, by element)
MLA (indexed)Multiply-add to accumulator (indexed)
MLA (vector)Multiply-add to accumulator (vector)
MLA (vectors)Multiply-add vectors (predicated), writing addend [Zda = Zda + Zn * Zm]
MLAPTMultiply-add checked pointer vectors, writing addend [Zda = Zda + Zn * Zm]
MLS (by element)Multiply-subtract from accumulator (vector, by element)
MLS (indexed)Multiply-subtract from accumulator (indexed)
MLS (vector)Multiply-subtract from accumulator (vector)
MLS (vectors)Multiply-subtract vectors (predicated), writing addend [Zda = Zda - Zn * Zm]
MNEGMultiply-negate
MOVMove logical bitmask immediate to vector (unpredicated)
MOVMove predicate (unpredicated)
MOV (array to vector, four registers)Move four ZA single-vector groups to four vector registers
MOV (array to vector, two registers)Move two ZA single-vector groups to two vector registers
MOV (bitmask immediate)Move bitmask immediate value
MOV (element)Move vector element to another vector element
MOV (from general)Move general-purpose register to a vector element
MOV (immediate, merging)Move signed integer immediate to vector elements (merging)
MOV (immediate, unpredicated)Move signed immediate to vector elements (unpredicated)
MOV (immediate, zeroing)Move signed integer immediate to vector elements (zeroing)
MOV (inverted wide immediate)Move inverted wide immediate value
MOV (predicate, merging)Move predicates (merging)
MOV (predicate, zeroing)Move predicates (zeroing)
MOV (register)Move register value
MOV (scalar)Move vector element to scalar
MOV (scalar, predicated)Move general-purpose register to vector elements (predicated)
MOV (scalar, unpredicated)Move general-purpose register to vector elements (unpredicated)
MOV (SIMD&FP scalar, predicated)Move SIMD&FP scalar register to vector elements (predicated)
MOV (SIMD&FP scalar, unpredicated)Move indexed element or SIMD&FP scalar to vector (unpredicated)
MOV (tile to vector, four registers)Move four ZA tile slices to four vector registers
MOV (tile to vector, single)Move ZA tile slice to vector register
MOV (tile to vector, two registers)Move two ZA tile slices to two vector registers
MOV (to general)Move vector element to general-purpose register
MOV (to/from SP)Move register value to or from SP
MOV (vector to array, four registers)Move four vector registers to four ZA single-vector groups
MOV (vector to array, two registers)Move two vector registers to two ZA single-vector groups
MOV (vector to tile, four registers)Move four vector registers to four ZA tile slices
MOV (vector to tile, single)Move vector register to ZA tile slice
MOV (vector to tile, two registers)Move two vector registers to two ZA tile slices
MOV (vector)Move vector
MOV (vector, predicated)Move vector elements (predicated)
MOV (vector, unpredicated)Move vector register (unpredicated)
MOV (wide immediate)Move wide immediate value
MOVA (array to vector, four registers)Move four ZA single-vector groups to four vector registers
MOVA (array to vector, two registers)Move two ZA single-vector groups to two vector registers
MOVA (tile to vector, four registers)Move four ZA tile slices to four vector registers
MOVA (tile to vector, single)Move ZA tile slice to vector register
MOVA (tile to vector, two registers)Move two ZA tile slices to two vector registers
MOVA (vector to array, four registers)Move four vector registers to four ZA single-vector groups
MOVA (vector to array, two registers)Move two vector registers to two ZA single-vector groups
MOVA (vector to tile, four registers)Move four vector registers to four ZA tile slices
MOVA (vector to tile, single)Move vector register to ZA tile slice
MOVA (vector to tile, two registers)Move two vector registers to two ZA tile slices
MOVAZ (array to vector, four registers)Move and zero four ZA single-vector groups to vector registers
MOVAZ (array to vector, two registers)Move and zero two ZA single-vector groups to vector registers
MOVAZ (tile to vector, four registers)Move and zero four ZA tile slices to vector registers
MOVAZ (tile to vector, single)Move and zero ZA tile slice to vector register
MOVAZ (tile to vector, two registers)Move and zero two ZA tile slices to vector registers
MOVIMove immediate (vector)
MOVKMove wide with keep
MOVNMove wide with NOT
MOVPRFX (predicated)Move prefix (predicated)
MOVPRFX (unpredicated)Move prefix (unpredicated)
MOVS (predicated)Move predicates (zeroing), setting the condition flags
MOVS (unpredicated)Move predicate (unpredicated), setting the condition flags
MOVT (scalar to table)Move 8 bytes from general-purpose register to ZT0
MOVT (table to scalar)Move 8 bytes from ZT0 to general-purpose register
MOVT (vector to table)Move vector register to ZT0
MOVZMove wide with zero
MRRSMove System register to two adjacent general-purpose registers
MRSMove System register to general-purpose register
MSBMultiply-subtract vectors (predicated), writing multiplicand [Zdn = Za - Zdn * Zm]
MSR (immediate)Move immediate value to special register
MSR (register)Move general-purpose register to System register
MSRRMove two adjacent general-purpose registers to System register
MSUBMultiply-subtract
MSUBPTMultiply-subtract checked pointer
MULMultiply
MUL (by element)Multiply (vector, by element)
MUL (immediate)Multiply by immediate (unpredicated)
MUL (indexed)Multiply (indexed)
MUL (vector)Multiply (vector)
MUL (vectors, predicated)Multiply vectors (predicated)
MUL (vectors, unpredicated)Multiply vectors (unpredicated)
MVNBitwise NOT (vector)
MVNBitwise NOT
MVNIMove inverted immediate (vector)
NANDBitwise NAND predicates
NANDSBitwise NAND predicates, setting the condition flags
NBSLBitwise inverted select
NEGNegate (predicated)
NEG (shifted register)Negate (shifted register)
NEG (vector)Negate (vector)
NEGSNegate, setting flags
NGCNegate with carry
NGCSNegate with carry, setting flags
NMATCHDetect no matching elements, setting the condition flags
NOPNo operation
NORBitwise NOR predicates
NORSBitwise NOR predicates, setting the condition flags
NOTBitwise NOT (vector)
NOT (predicate)Bitwise invert predicate
NOT (vector)Bitwise invert vector (predicated)
NOTSBitwise invert predicate, setting the condition flags
ORN (immediate)Bitwise inclusive OR with inverted immediate (unpredicated)
ORN (predicates)Bitwise inclusive OR inverted predicate
ORN (shifted register)Bitwise OR NOT (shifted register)
ORN (vector)Bitwise inclusive OR NOT (vector)
ORNSBitwise inclusive OR inverted predicate, setting the condition flags
ORQVBitwise inclusive OR reduction of quadword vector segments
ORR (immediate)Bitwise OR (immediate)
ORR (immediate)Bitwise inclusive OR with immediate (unpredicated)
ORR (predicates)Bitwise inclusive OR predicates
ORR (shifted register)Bitwise OR (shifted register)
ORR (vector, immediate)Bitwise inclusive OR (vector, immediate)
ORR (vector, register)Bitwise inclusive OR (vector, register)
ORR (vectors, predicated)Bitwise inclusive OR vectors (predicated)
ORR (vectors, unpredicated)Bitwise inclusive OR vectors (unpredicated)
ORRSBitwise inclusive OR predicates, setting the condition flags
ORVBitwise inclusive OR reduction to scalar
PACDA, PACDZAPointer Authentication Code for data address, using key A
PACDB, PACDZBPointer Authentication Code for data address, using key B
PACGAPointer Authentication Code, using generic key
PACIA, PACIA1716, PACIASP, PACIAZ, PACIZAPointer Authentication Code for instruction address, using key A
PACIA171615Pointer Authentication Code for instruction address, using key A
PACIASPPCPointer Authentication Code for return address, using key A
PACIB, PACIB1716, PACIBSP, PACIBZ, PACIZBPointer Authentication Code for instruction address, using key B
PACIB171615Pointer Authentication Code for instruction address, using key B
PACIBSPPCPointer Authentication Code for return address, using key B
PACMPointer authentication modifier
PACNBIASPPCPointer Authentication Code for return address, using key A, not a branch target
PACNBIBSPPCPointer Authentication Code for return address, using key B, not a branch target
PEXT (predicate pair)Predicate extract pair from predicate-as-counter
PEXT (predicate)Predicate extract from predicate-as-counter
PFALSESet all predicate elements to false
PFIRSTSet the first active predicate element to true
PMLALMulti-vector polynomial multiply long and accumulate vectors
PMOV (to predicate)Move predicate from vector
PMOV (to vector)Move predicate to vector
PMULPolynomial multiply
PMULPolynomial multiply vectors (unpredicated)
PMULLMulti-vector polynomial multiply long
PMULL, PMULL2Polynomial multiply long
PMULLBPolynomial multiply long (bottom)
PMULLTPolynomial multiply long (top)
PNEXTFind next active predicate
PRFB (scalar plus immediate)Contiguous prefetch bytes (immediate index)
PRFB (scalar plus scalar)Contiguous prefetch bytes (scalar index)
PRFB (scalar plus vector)Gather prefetch bytes (scalar plus vector)
PRFB (vector plus immediate)Gather prefetch bytes (vector plus immediate)
PRFD (scalar plus immediate)Contiguous prefetch doublewords (immediate index)
PRFD (scalar plus scalar)Contiguous prefetch doublewords (scalar index)
PRFD (scalar plus vector)Gather prefetch doublewords (scalar plus vector)
PRFD (vector plus immediate)Gather prefetch doublewords (vector plus immediate)
PRFH (scalar plus immediate)Contiguous prefetch halfwords (immediate index)
PRFH (scalar plus scalar)Contiguous prefetch halfwords (scalar index)
PRFH (scalar plus vector)Gather prefetch halfwords (scalar plus vector)
PRFH (vector plus immediate)Gather prefetch halfwords (vector plus immediate)
PRFM (immediate)Prefetch memory (immediate)
PRFM (literal)Prefetch memory (literal)
PRFM (register)Prefetch memory (register)
PRFUMPrefetch memory (unscaled offset)
PRFW (scalar plus immediate)Contiguous prefetch words (immediate index)
PRFW (scalar plus scalar)Contiguous prefetch words (scalar index)
PRFW (scalar plus vector)Gather prefetch words (scalar plus vector)
PRFW (vector plus immediate)Gather prefetch words (vector plus immediate)
PSBProfiling synchronization barrier
PSELPredicate select between predicate register or all-false
PSSBBPhysical speculative store bypass barrier
PTESTSet condition flags for predicate
PTRUE (predicate as counter)Initialise predicate-as-counter to all active
PTRUE (predicate)Initialise predicate from named constraint
PTRUESInitialise predicate from named constraint and set the condition flags
PUNPKHI, PUNPKLOUnpack and widen half of predicate
RADDHN, RADDHN2Rounding add returning high narrow
RADDHNBRounding add narrow high part (bottom)
RADDHNTRounding add narrow high part (top)
RAX1Bitwise rotate left by 1 and exclusive-OR
RAX1Rotate and exclusive-OR
RBITReverse bits (predicated)
RBITReverse bits
RBIT (vector)Reverse bit order (vector)
RCWCAS, RCWCASA, RCWCASAL, RCWCASLRead check write compare and swap doubleword in memory
RCWCASP, RCWCASPA, RCWCASPAL, RCWCASPLRead check write compare and swap quadword in memory
RCWCLR, RCWCLRA, RCWCLRAL, RCWCLRLRead check write atomic bit clear on doubleword in memory
RCWCLRP, RCWCLRPA, RCWCLRPAL, RCWCLRPLRead check write atomic bit clear on quadword in memory
RCWSCAS, RCWSCASA, RCWSCASAL, RCWSCASLRead check write software compare and swap doubleword in memory
RCWSCASP, RCWSCASPA, RCWSCASPAL, RCWSCASPLRead check write software compare and swap quadword in memory
RCWSCLR, RCWSCLRA, RCWSCLRAL, RCWSCLRLRead check write software atomic bit clear on doubleword in memory
RCWSCLRP, RCWSCLRPA, RCWSCLRPAL, RCWSCLRPLRead check write software atomic bit clear on quadword in memory
RCWSET, RCWSETA, RCWSETAL, RCWSETLRead check write atomic bit set on doubleword in memory
RCWSETP, RCWSETPA, RCWSETPAL, RCWSETPLRead check write atomic bit set on quadword in memory
RCWSSET, RCWSSETA, RCWSSETAL, RCWSSETLRead check write software atomic bit set on doubleword in memory
RCWSSETP, RCWSSETPA, RCWSSETPAL, RCWSSETPLRead check write software atomic bit set on quadword in memory
RCWSSWP, RCWSSWPA, RCWSSWPAL, RCWSSWPLRead check write software swap doubleword in memory
RCWSSWPP, RCWSSWPPA, RCWSSWPPAL, RCWSSWPPLRead check write software swap quadword in memory
RCWSWP, RCWSWPA, RCWSWPAL, RCWSWPLRead check write swap doubleword in memory
RCWSWPP, RCWSWPPA, RCWSWPPAL, RCWSWPPLRead check write swap quadword in memory
RDFFR (predicated)Return predicate of succesfully loaded elements
RDFFR (unpredicated)Read the first-fault register
RDFFRSReturn predicate of succesfully loaded elements, setting the condition flags
RDSVLRead multiple of Streaming SVE vector register size to scalar register
RDVLRead multiple of vector register size to scalar register
RETReturn from subroutine
RETAA, RETABReturn from subroutine, with pointer authentication
RETAASPPC, RETABSPPCReturn from subroutine, with enhanced pointer authentication using an immediate offset
RETAASPPCR, RETABSPPCRReturn from subroutine, with enhanced pointer authentication using a register
REVReverse bytes
REV (predicate)Reverse all elements in a predicate
REV (vector)Reverse all elements in a vector (unpredicated)
REV16Reverse bytes in 16-bit halfwords
REV16 (vector)Reverse elements in 16-bit halfwords (vector)
REV32Reverse bytes in 32-bit words
REV32 (vector)Reverse elements in 32-bit words (vector)
REV64Reverse elements in 64-bit doublewords (vector)
REV64Reverse bytes
REVB, REVH, REVWReverse bytes / halfwords / words within elements (predicated)
REVDReverse 64-bit doublewords in elements (predicated)
RMIFRotate, mask insert flags
ROR (immediate)Rotate right (immediate)
ROR (register)Rotate right (register)
RORVRotate right variable
RPRFMRange prefetch memory
RSHRN, RSHRN2Rounding shift right narrow (immediate)
RSHRNBRounding shift right narrow by immediate (bottom)
RSHRNTRounding shift right narrow by immediate (top)
RSUBHN, RSUBHN2Rounding subtract returning high narrow
RSUBHNBRounding subtract narrow high part (bottom)
RSUBHNTRounding subtract narrow high part (top)
SABASigned absolute difference and accumulate
SABASigned absolute difference and accumulate
SABAL, SABAL2Signed absolute difference and accumulate long
SABALBSigned absolute difference and accumulate long (bottom)
SABALTSigned absolute difference and accumulate long (top)
SABDSigned absolute difference (predicated)
SABDSigned absolute difference
SABDL, SABDL2Signed absolute difference long
SABDLBSigned absolute difference long (bottom)
SABDLTSigned absolute difference long (top)
SADALPSigned add and accumulate long pairwise
SADALPSigned add and accumulate long pairwise
SADDL, SADDL2Signed add long (vector)
SADDLBSigned add long (bottom)
SADDLBTSigned add long (bottom + top)
SADDLPSigned add long pairwise
SADDLTSigned add long (top)
SADDLVSigned add long across vector
SADDVSigned add reduction to scalar
SADDW, SADDW2Signed add wide
SADDWBSigned add wide (bottom)
SADDWTSigned add wide (top)
SBSpeculation barrier
SBCSubtract with carry
SBCLBSubtract with carry long (bottom)
SBCLTSubtract with carry long (top)
SBCSSubtract with carry, setting flags
SBFIZSigned bitfield insert in zeros
SBFMSigned bitfield move
SBFXSigned bitfield extract
SCLAMPMulti-vector signed clamp to minimum/maximum vector
SCLAMPSigned clamp to minimum/maximum vector
SCVTFMulti-vector signed integer convert to floating-point
SCVTF (predicated)Signed integer convert to floating-point (predicated)
SCVTF (scalar SIMD&FP)Signed integer convert to floating-point (scalar SIMD&FP)
SCVTF (scalar, fixed-point)Signed fixed-point convert to floating-point (scalar)
SCVTF (scalar, integer)Signed integer convert to floating-point (scalar)
SCVTF (vector, fixed-point)Signed fixed-point convert to floating-point (vector)
SCVTF (vector, integer)Signed integer convert to floating-point (vector)
SDIVSigned divide (predicated)
SDIVSigned divide
SDIVRSigned reversed divide (predicated)
SDOT (2-way, indexed)Signed integer indexed dot product
SDOT (2-way, multiple and indexed vector)Multi-vector signed integer dot-product by indexed element
SDOT (2-way, multiple and single vector)Multi-vector signed integer dot-product by vector
SDOT (2-way, multiple vectors)Multi-vector signed integer dot-product
SDOT (2-way, vectors)Signed integer dot product
SDOT (4-way, indexed)Signed integer indexed dot product
SDOT (4-way, multiple and indexed vector)Multi-vector signed integer dot-product by indexed element
SDOT (4-way, multiple and single vector)Multi-vector signed integer dot-product by vector
SDOT (4-way, multiple vectors)Multi-vector signed integer dot-product
SDOT (4-way, vectors)Signed integer dot product
SDOT (by element)Dot product signed arithmetic (vector, by element)
SDOT (vector)Dot product signed arithmetic (vector)
SELMulti-vector conditionally select elements from two vectors
SEL (predicates)Conditionally select elements from two predicates
SEL (vectors)Conditionally select elements from two vectors
SETF8, SETF16Evaluation of 8-bit or 16-bit flag values
SETFFRInitialise the first-fault register to all true
SETGP, SETGM, SETGEMemory set with tag setting
SETGPN, SETGMN, SETGENMemory set with tag setting, non-temporal
SETGPT, SETGMT, SETGETMemory set with tag setting, unprivileged
SETGPTN, SETGMTN, SETGETNMemory set with tag setting, unprivileged and non-temporal
SETP, SETM, SETEMemory set
SETPN, SETMN, SETENMemory set, non-temporal
SETPT, SETMT, SETETMemory set, unprivileged
SETPTN, SETMTN, SETETNMemory set, unprivileged and non-temporal
SEVSend event
SEVLSend event local
SHA1CSHA1 hash update (choose)
SHA1HSHA1 fixed rotate
SHA1MSHA1 hash update (majority)
SHA1PSHA1 hash update (parity)
SHA1SU0SHA1 schedule update 0
SHA1SU1SHA1 schedule update 1
SHA256HSHA256 hash update (part 1)
SHA256H2SHA256 hash update (part 2)
SHA256SU0SHA256 schedule update 0
SHA256SU1SHA256 schedule update 1
SHA512HSHA512 hash update part 1
SHA512H2SHA512 hash update part 2
SHA512SU0SHA512 schedule update 0
SHA512SU1SHA512 schedule update 1
SHADDSigned halving add
SHADDSigned halving addition
Shared Pseudocode Functions
SHLShift left (immediate)
SHLL, SHLL2Shift left long (by element size)
SHRN, SHRN2Shift right narrow (immediate)
SHRNBShift right narrow by immediate (bottom)
SHRNTShift right narrow by immediate (top)
SHSUBSigned halving subtract
SHSUBSigned halving subtract
SHSUBRSigned halving subtract reversed vectors
SLIShift left and insert (immediate)
SLIShift left and insert (immediate)
SM3PARTW1SM3PARTW1
SM3PARTW2SM3PARTW2
SM3SS1SM3SS1
SM3TT1ASM3TT1A
SM3TT1BSM3TT1B
SM3TT2ASM3TT2A
SM3TT2BSM3TT2B
SM4ESM4 encode
SM4ESM4 encryption and decryption
SM4EKEYSM4 key
SM4EKEYSM4 key updates
SMADDLSigned multiply-add long
SMAXSigned maximum (vector)
SMAX (immediate)Signed maximum (immediate)
SMAX (immediate)Signed maximum with immediate (unpredicated)
SMAX (multiple and single vector)Multi-vector signed maximum by vector
SMAX (multiple vectors)Multi-vector signed maximum
SMAX (register)Signed maximum (register)
SMAX (vectors)Signed maximum vectors (predicated)
SMAXPSigned maximum pairwise
SMAXPSigned maximum pairwise
SMAXQVSigned maximum reduction of quadword vector segments
SMAXVSigned maximum across vector
SMAXVSigned maximum reduction to scalar
SMCSecure monitor call
SMINSigned minimum (vector)
SMIN (immediate)Signed minimum (immediate)
SMIN (immediate)Signed minimum with immediate (unpredicated)
SMIN (multiple and single vector)Multi-vector signed minimum by vector
SMIN (multiple vectors)Multi-vector signed minimum
SMIN (register)Signed minimum (register)
SMIN (vectors)Signed minimum vectors (predicated)
SMINPSigned minimum pairwise
SMINPSigned minimum pairwise
SMINQVSigned minimum reduction of quadword vector segments
SMINVSigned minimum reduction to scalar
SMINVSigned minimum across vector
SMLAL (multiple and indexed vector)Multi-vector signed integer multiply-add long by indexed element
SMLAL (multiple and single vector)Multi-vector signed integer multiply-add long by vector
SMLAL (multiple vectors)Multi-vector signed integer multiply-add long
SMLAL, SMLAL2 (by element)Signed multiply-add long (vector, by element)
SMLAL, SMLAL2 (vector)Signed multiply-add long (vector)
SMLALB (indexed)Signed multiply-add long to accumulator (bottom, indexed)
SMLALB (vectors)Signed multiply-add long to accumulator (bottom)
SMLALL (multiple and indexed vector)Multi-vector signed integer multiply-add long-long by indexed element
SMLALL (multiple and single vector)Multi-vector signed integer multiply-add long-long by vector
SMLALL (multiple vectors)Multi-vector signed integer multiply-add long-long
SMLALT (indexed)Signed multiply-add long to accumulator (top, indexed)
SMLALT (vectors)Signed multiply-add long to accumulator (top)
SMLSL (multiple and indexed vector)Multi-vector signed integer multiply-subtract long by indexed element
SMLSL (multiple and single vector)Multi-vector signed integer multiply-subtract long by vector
SMLSL (multiple vectors)Multi-vector signed integer multiply-subtract long
SMLSL, SMLSL2 (by element)Signed multiply-subtract long (vector, by element)
SMLSL, SMLSL2 (vector)Signed multiply-subtract long (vector)
SMLSLB (indexed)Signed multiply-subtract long from accumulator (bottom, indexed)
SMLSLB (vectors)Signed multiply-subtract long from accumulator (bottom)
SMLSLL (multiple and indexed vector)Multi-vector signed integer multiply-subtract long-long by indexed element
SMLSLL (multiple and single vector)Multi-vector signed integer multiply-subtract long-long by vector
SMLSLL (multiple vectors)Multi-vector signed integer multiply-subtract long-long
SMLSLT (indexed)Signed multiply-subtract long from accumulator (top, indexed)
SMLSLT (vectors)Signed multiply-subtract long from accumulator (top)
SMMLASigned 8-bit integer matrix multiply-accumulate to 32-bit integer
SMMLA (vector)Signed 8-bit integer matrix multiply-accumulate (vector)
SMNEGLSigned multiply-negate long
SMOP4A (2-way)Signed integer quarter-tile sums of two outer products, accumulating
SMOP4A (4-way)Signed integer quarter-tile sums of four outer products, accumulating
SMOP4S (2-way)Signed integer quarter-tile sums of two outer products, subtracting
SMOP4S (4-way)Signed integer quarter-tile sums of four outer products, subtracting
SMOPA (2-way)Signed integer sum of outer products and accumulate
SMOPA (4-way)Signed integer sum of outer products and accumulate
SMOPS (2-way)Signed integer sum of outer products and subtract
SMOPS (4-way)Signed integer sum of outer products and subtract
SMOVSigned move vector element to general-purpose register
SMSTARTEnables access to Streaming SVE mode and SME architectural state
SMSTOPDisables access to Streaming SVE mode and SME architectural state
SMSUBLSigned multiply-subtract long
SMULHSigned multiply high
SMULH (predicated)Signed multiply returning high half (predicated)
SMULH (unpredicated)Signed multiply returning high half (unpredicated)
SMULLSigned multiply long
SMULL, SMULL2 (by element)Signed multiply long (vector, by element)
SMULL, SMULL2 (vector)Signed multiply long (vector)
SMULLB (indexed)Signed multiply long (bottom, indexed)
SMULLB (vectors)Signed multiply long (bottom)
SMULLT (indexed)Signed multiply long (top, indexed)
SMULLT (vectors)Signed multiply long (top)
SPLICESplice two vectors under predicate control
SQABSSigned saturating absolute value
SQABSSigned saturating absolute value
SQADDSigned saturating add
SQADD (immediate)Signed saturating add immediate (unpredicated)
SQADD (vectors, predicated)Signed saturating addition (predicated)
SQADD (vectors, unpredicated)Signed saturating add vectors (unpredicated)
SQCADDSaturating complex integer add with rotate
SQCVT (four registers)Multi-vector signed saturating extract narrow
SQCVT (two registers)Multi-vector signed saturating extract narrow
SQCVTNMulti-vector signed saturating extract narrow and interleave
SQCVTNSigned 32-bit integer saturating extract narrow and interleave to 16-bit integer
SQCVTU (four registers)Multi-vector signed saturating unsigned extract narrow
SQCVTU (two registers)Multi-vector signed saturating unsigned extract narrow
SQCVTUNSigned 32-bit integer saturating unsigned extract narrow and interleave to 16-bit integer
SQCVTUNMulti-vector signed saturating unsigned extract narrow and interleave
SQDECBSigned saturating decrement scalar by multiple of 8-bit predicate constraint element count
SQDECD (scalar)Signed saturating decrement scalar by multiple of 64-bit predicate constraint element count
SQDECD (vector)Signed saturating decrement vector by multiple of 64-bit predicate constraint element count
SQDECH (scalar)Signed saturating decrement scalar by multiple of 16-bit predicate constraint element count
SQDECH (vector)Signed saturating decrement vector by multiple of 16-bit predicate constraint element count
SQDECP (scalar)Signed saturating decrement scalar by count of true predicate elements
SQDECP (vector)Signed saturating decrement vector by count of true predicate elements
SQDECW (scalar)Signed saturating decrement scalar by multiple of 32-bit predicate constraint element count
SQDECW (vector)Signed saturating decrement vector by multiple of 32-bit predicate constraint element count
SQDMLAL, SQDMLAL2 (by element)Signed saturating doubling multiply-add long (by element)
SQDMLAL, SQDMLAL2 (vector)Signed saturating doubling multiply-add long
SQDMLALB (indexed)Signed saturating doubling multiply-add long to accumulator (bottom, indexed)
SQDMLALB (vectors)Signed saturating doubling multiply-add long to accumulator (bottom)
SQDMLALBTSigned saturating doubling multiply-add long to accumulator (bottom × top)
SQDMLALT (indexed)Signed saturating doubling multiply-add long to accumulator (top, indexed)
SQDMLALT (vectors)Signed saturating doubling multiply-add long to accumulator (top)
SQDMLSL, SQDMLSL2 (by element)Signed saturating doubling multiply-subtract long (by element)
SQDMLSL, SQDMLSL2 (vector)Signed saturating doubling multiply-subtract long
SQDMLSLB (indexed)Signed saturating doubling multiply-subtract long from accumulator (bottom, indexed)
SQDMLSLB (vectors)Signed saturating doubling multiply-subtract long from accumulator (bottom)
SQDMLSLBTSigned saturating doubling multiply-subtract long from accumulator (bottom × top)
SQDMLSLT (indexed)Signed saturating doubling multiply-subtract long from accumulator (top, indexed)
SQDMLSLT (vectors)Signed saturating doubling multiply-subtract long from accumulator (top)
SQDMULH (by element)Signed saturating doubling multiply returning high half (by element)
SQDMULH (indexed)Signed saturating doubling multiply high (indexed)
SQDMULH (multiple and single vector)Multi-vector signed saturating doubling multiply high by vector
SQDMULH (multiple vectors)Multi-vector signed saturating doubling multiply high
SQDMULH (vector)Signed saturating doubling multiply returning high half
SQDMULH (vectors)Signed saturating doubling multiply high (unpredicated)
SQDMULL, SQDMULL2 (by element)Signed saturating doubling multiply long (by element)
SQDMULL, SQDMULL2 (vector)Signed saturating doubling multiply long
SQDMULLB (indexed)Signed saturating doubling multiply long (bottom, indexed)
SQDMULLB (vectors)Signed saturating doubling multiply long (bottom)
SQDMULLT (indexed)Signed saturating doubling multiply long (top, indexed)
SQDMULLT (vectors)Signed saturating doubling multiply long (top)
SQINCBSigned saturating increment scalar by multiple of 8-bit predicate constraint element count
SQINCD (scalar)Signed saturating increment scalar by multiple of 64-bit predicate constraint element count
SQINCD (vector)Signed saturating increment vector by multiple of 64-bit predicate constraint element count
SQINCH (scalar)Signed saturating increment scalar by multiple of 16-bit predicate constraint element count
SQINCH (vector)Signed saturating increment vector by multiple of 16-bit predicate constraint element count
SQINCP (scalar)Signed saturating increment scalar by count of true predicate elements
SQINCP (vector)Signed saturating increment vector by count of true predicate elements
SQINCW (scalar)Signed saturating increment scalar by multiple of 32-bit predicate constraint element count
SQINCW (vector)Signed saturating increment vector by multiple of 32-bit predicate constraint element count
SQNEGSigned saturating negate
SQNEGSigned saturating negate
SQRDCMLAH (indexed)Saturating rounding doubling complex integer multiply-add high with rotate (indexed)
SQRDCMLAH (vectors)Saturating rounding doubling complex integer multiply-add high with rotate
SQRDMLAH (by element)Signed saturating rounding doubling multiply accumulate returning high half (by element)
SQRDMLAH (indexed)Signed saturating rounding doubling multiply-add high to accumulator (indexed)
SQRDMLAH (vector)Signed saturating rounding doubling multiply accumulate returning high half (vector)
SQRDMLAH (vectors)Signed saturating rounding doubling multiply-add high to accumulator (unpredicated)
SQRDMLSH (by element)Signed saturating rounding doubling multiply subtract returning high half (by element)
SQRDMLSH (indexed)Signed saturating rounding doubling multiply-subtract high from accumulator (indexed)
SQRDMLSH (vector)Signed saturating rounding doubling multiply subtract returning high half (vector)
SQRDMLSH (vectors)Signed saturating rounding doubling multiply-subtract high from accumulator (unpredicated)
SQRDMULH (by element)Signed saturating rounding doubling multiply returning high half (by element)
SQRDMULH (indexed)Signed saturating rounding doubling multiply high (indexed)
SQRDMULH (vector)Signed saturating rounding doubling multiply returning high half
SQRDMULH (vectors)Signed saturating rounding doubling multiply high (unpredicated)
SQRSHLSigned saturating rounding shift left by vector (predicated)
SQRSHLSigned saturating rounding shift left (register)
SQRSHLRSigned saturating rounding shift left reversed vectors (predicated)
SQRSHR (four registers)Multi-vector signed saturating rounding shift right narrow by immediate
SQRSHR (two registers)Multi-vector signed saturating rounding shift right narrow by immediate
SQRSHRNMulti-vector signed saturating rounding shift right narrow by immediate and interleave
SQRSHRNSigned saturating rounding shift right narrow by immediate and interleave
SQRSHRN, SQRSHRN2Signed saturating rounded shift right narrow (immediate)
SQRSHRNBSigned saturating rounding shift right narrow by immediate (bottom)
SQRSHRNTSigned saturating rounding shift right narrow by immediate (top)
SQRSHRU (four registers)Multi-vector signed saturating rounding shift right unsigned narrow by immediate
SQRSHRU (two registers)Multi-vector signed saturating rounding shift right unsigned narrow by immediate
SQRSHRUNSigned saturating rounding shift right unsigned narrow by immediate and interleave
SQRSHRUNMulti-vector signed saturating rounding shift right unsigned narrow by immediate and interleave
SQRSHRUN, SQRSHRUN2Signed saturating rounded shift right unsigned narrow (immediate)
SQRSHRUNBSigned saturating rounding shift right unsigned narrow by immediate (bottom)
SQRSHRUNTSigned saturating rounding shift right unsigned narrow by immediate (top)
SQSHL (immediate)Signed saturating shift left by immediate
SQSHL (immediate)Signed saturating shift left (immediate)
SQSHL (register)Signed saturating shift left (register)
SQSHL (vectors)Signed saturating shift left by vector (predicated)
SQSHLRSigned saturating shift left reversed vectors (predicated)
SQSHLUSigned saturating shift left unsigned (immediate)
SQSHLUSigned saturating shift left unsigned by immediate
SQSHRN, SQSHRN2Signed saturating shift right narrow (immediate)
SQSHRNBSigned saturating shift right narrow by immediate (bottom)
SQSHRNTSigned saturating shift right narrow by immediate (top)
SQSHRUN, SQSHRUN2Signed saturating shift right unsigned narrow (immediate)
SQSHRUNBSigned saturating shift right unsigned narrow by immediate (bottom)
SQSHRUNTSigned saturating shift right unsigned narrow by immediate (top)
SQSUBSigned saturating subtract
SQSUB (immediate)Signed saturating subtract immediate (unpredicated)
SQSUB (vectors, predicated)Signed saturating subtraction (predicated)
SQSUB (vectors, unpredicated)Signed saturating subtract vectors (unpredicated)
SQSUBRSigned saturating subtraction reversed vectors (predicated)
SQXTN, SQXTN2Signed saturating extract narrow
SQXTNBSigned saturating extract narrow (bottom)
SQXTNTSigned saturating extract narrow (top)
SQXTUN, SQXTUN2Signed saturating extract unsigned narrow
SQXTUNBSigned saturating unsigned extract narrow (bottom)
SQXTUNTSigned saturating unsigned extract narrow (top)
SRHADDSigned rounding halving addition
SRHADDSigned rounding halving add
SRIShift right and insert (immediate)
SRIShift right and insert (immediate)
SRSHLSigned rounding shift left by vector (predicated)
SRSHLSigned rounding shift left (register)
SRSHL (multiple and single vector)Multi-vector signed rounding shift left by vector
SRSHL (multiple vectors)Multi-vector signed rounding shift left
SRSHLRSigned rounding shift left reversed vectors (predicated)
SRSHRSigned rounding shift right (immediate)
SRSHRSigned rounding shift right by immediate
SRSRASigned rounding shift right and accumulate (immediate)
SRSRASigned rounding shift right and accumulate (immediate)
SSBBSpeculative store bypass barrier
SSHLSigned shift left (register)
SSHLL, SSHLL2Signed shift left long (immediate)
SSHLLBSigned shift left long by immediate (bottom)
SSHLLTSigned shift left long by immediate (top)
SSHRSigned shift right (immediate)
SSRASigned shift right and accumulate (immediate)
SSRASigned shift right and accumulate (immediate)
SSUBL, SSUBL2Signed subtract long
SSUBLBSigned subtract long (bottom)
SSUBLBTSigned subtract long (bottom - top)
SSUBLTSigned subtract long (top)
SSUBLTBSigned subtract long (top - bottom)
SSUBW, SSUBW2Signed subtract wide
SSUBWBSigned subtract wide (bottom)
SSUBWTSigned subtract wide (top)
ST1 (multiple structures)Store multiple single-element structures from one, two, three, or four registers
ST1 (single structure)Store a single-element structure from one lane of one register
ST1B (scalar plus immediate, consecutive registers)Contiguous store of bytes from multiple consecutive vectors (immediate index)
ST1B (scalar plus immediate, single register)Contiguous store bytes from vector (immediate index)
ST1B (scalar plus immediate, strided registers)Contiguous store of bytes from multiple strided vectors (immediate index)
ST1B (scalar plus scalar, consecutive registers)Contiguous store of bytes from multiple consecutive vectors (scalar index)
ST1B (scalar plus scalar, single register)Contiguous store bytes from vector (scalar index)
ST1B (scalar plus scalar, strided registers)Contiguous store of bytes from multiple strided vectors (scalar index)
ST1B (scalar plus scalar, tile slice)Contiguous store of bytes from 8-bit element ZA tile slice
ST1B (scalar plus vector)Scatter store bytes from a vector (vector index)
ST1B (vector plus immediate)Scatter store bytes from a vector (immediate index)
ST1D (scalar plus immediate, consecutive registers)Contiguous store of doublewords from multiple consecutive vectors (immediate index)
ST1D (scalar plus immediate, single register)Contiguous store doublewords from vector (immediate index)
ST1D (scalar plus immediate, strided registers)Contiguous store of doublewords from multiple strided vectors (immediate index)
ST1D (scalar plus scalar, consecutive registers)Contiguous store of doublewords from multiple consecutive vectors (scalar index)
ST1D (scalar plus scalar, single register)Contiguous store doublewords from vector (scalar index)
ST1D (scalar plus scalar, strided registers)Contiguous store of doublewords from multiple strided vectors (scalar index)
ST1D (scalar plus scalar, tile slice)Contiguous store of doublewords from 64-bit element ZA tile slice
ST1D (scalar plus vector)Scatter store doublewords from a vector (vector index)
ST1D (vector plus immediate)Scatter store doublewords from a vector (immediate index)
ST1H (scalar plus immediate, consecutive registers)Contiguous store of halfwords from multiple consecutive vectors (immediate index)
ST1H (scalar plus immediate, single register)Contiguous store halfwords from vector (immediate index)
ST1H (scalar plus immediate, strided registers)Contiguous store of halfwords from multiple strided vectors (immediate index)
ST1H (scalar plus scalar, consecutive registers)Contiguous store of halfwords from multiple consecutive vectors (scalar index)
ST1H (scalar plus scalar, single register)Contiguous store halfwords from vector (scalar index)
ST1H (scalar plus scalar, strided registers)Contiguous store of halfwords from multiple strided vectors (scalar index)
ST1H (scalar plus scalar, tile slice)Contiguous store of halfwords from 16-bit element ZA tile slice
ST1H (scalar plus vector)Scatter store halfwords from a vector (vector index)
ST1H (vector plus immediate)Scatter store halfwords from a vector (immediate index)
ST1QScatter store quadwords
ST1QContiguous store of quadwords from 128-bit element ZA tile slice
ST1W (scalar plus immediate, consecutive registers)Contiguous store of words from multiple consecutive vectors (immediate index)
ST1W (scalar plus immediate, single register)Contiguous store words from vector (immediate index)
ST1W (scalar plus immediate, strided registers)Contiguous store of words from multiple strided vectors (immediate index)
ST1W (scalar plus scalar, consecutive registers)Contiguous store of words from multiple consecutive vectors (scalar index)
ST1W (scalar plus scalar, single register)Contiguous store words from vector (scalar index)
ST1W (scalar plus scalar, strided registers)Contiguous store of words from multiple strided vectors (scalar index)
ST1W (scalar plus scalar, tile slice)Contiguous store of words from 32-bit element ZA tile slice
ST1W (scalar plus vector)Scatter store words from a vector (vector index)
ST1W (vector plus immediate)Scatter store words from a vector (immediate index)
ST2 (multiple structures)Store multiple 2-element structures from two registers
ST2 (single structure)Store single 2-element structure from one lane of two registers
ST2B (scalar plus immediate)Contiguous store two-byte structures from two vectors (immediate index)
ST2B (scalar plus scalar)Contiguous store two-byte structures from two vectors (scalar index)
ST2D (scalar plus immediate)Contiguous store two-doubleword structures from two vectors (immediate index)
ST2D (scalar plus scalar)Contiguous store two-doubleword structures from two vectors (scalar index)
ST2GStore Allocation Tags
ST2H (scalar plus immediate)Contiguous store two-halfword structures from two vectors (immediate index)
ST2H (scalar plus scalar)Contiguous store two-halfword structures from two vectors (scalar index)
ST2Q (scalar plus immediate)Contiguous store two-quadword structures from two vectors (immediate index)
ST2Q (scalar plus scalar)Contiguous store two-quadword structures from two vectors (scalar index)
ST2W (scalar plus immediate)Contiguous store two-word structures from two vectors (immediate index)
ST2W (scalar plus scalar)Contiguous store two-word structures from two vectors (scalar index)
ST3 (multiple structures)Store multiple 3-element structures from three registers
ST3 (single structure)Store single 3-element structure from one lane of three registers
ST3B (scalar plus immediate)Contiguous store three-byte structures from three vectors (immediate index)
ST3B (scalar plus scalar)Contiguous store three-byte structures from three vectors (scalar index)
ST3D (scalar plus immediate)Contiguous store three-doubleword structures from three vectors (immediate index)
ST3D (scalar plus scalar)Contiguous store three-doubleword structures from three vectors (scalar index)
ST3H (scalar plus immediate)Contiguous store three-halfword structures from three vectors (immediate index)
ST3H (scalar plus scalar)Contiguous store three-halfword structures from three vectors (scalar index)
ST3Q (scalar plus immediate)Contiguous store three-quadword structures from three vectors (immediate index)
ST3Q (scalar plus scalar)Contiguous store three-quadword structures from three vectors (scalar index)
ST3W (scalar plus immediate)Contiguous store three-word structures from three vectors (immediate index)
ST3W (scalar plus scalar)Contiguous store three-word structures from three vectors (scalar index)
ST4 (multiple structures)Store multiple 4-element structures from four registers
ST4 (single structure)Store single 4-element structure from one lane of four registers
ST4B (scalar plus immediate)Contiguous store four-byte structures from four vectors (immediate index)
ST4B (scalar plus scalar)Contiguous store four-byte structures from four vectors (scalar index)
ST4D (scalar plus immediate)Contiguous store four-doubleword structures from four vectors (immediate index)
ST4D (scalar plus scalar)Contiguous store four-doubleword structures from four vectors (scalar index)
ST4H (scalar plus immediate)Contiguous store four-halfword structures from four vectors (immediate index)
ST4H (scalar plus scalar)Contiguous store four-halfword structures from four vectors (scalar index)
ST4Q (scalar plus immediate)Contiguous store four-quadword structures from four vectors (immediate index)
ST4Q (scalar plus scalar)Contiguous store four-quadword structures from four vectors (scalar index)
ST4W (scalar plus immediate)Contiguous store four-word structures from four vectors (immediate index)
ST4W (scalar plus scalar)Contiguous store four-word structures from four vectors (scalar index)
ST64BSingle-copy atomic 64-byte store without status result
ST64BVSingle-copy atomic 64-byte store with status result
ST64BV0Single-copy atomic 64-byte EL0 store with status result
STADD, STADDLAtomic add on word or doubleword in memory, without return
STADDB, STADDLBAtomic add on byte in memory, without return
STADDH, STADDLHAtomic add on halfword in memory, without return
STBFADD, STBFADDLBFloat16 floating-point atomic add in memory, without return
STBFMAX, STBFMAXLBFloat16 floating-point atomic maximum in memory, without return
STBFMAXNM, STBFMAXNMLBFloat16 floating-point atomic maximum number in memory, without return
STBFMIN, STBFMINLBFloat16 floating-point atomic minimum in memory, without return
STBFMINNM, STBFMINNMLBFloat16 floating-point atomic minimum number in memory, without return
STCLR, STCLRLAtomic bit clear on word or doubleword in memory, without return
STCLRB, STCLRLBAtomic bit clear on byte in memory, without return
STCLRH, STCLRLHAtomic bit clear on halfword in memory, without return
STEOR, STEORLAtomic exclusive-OR on word or doubleword in memory, without return
STEORB, STEORLBAtomic exclusive-OR on byte in memory, without return
STEORH, STEORLHAtomic exclusive-OR on halfword in memory, without return
STFADD, STFADDLFloating-point atomic add in memory, without return
STFMAX, STFMAXLFloating-point atomic maximum in memory, without return
STFMAXNM, STFMAXNMLFloating-point atomic maximum number in memory, without return
STFMIN, STFMINLFloating-point atomic minimum in memory, without return
STFMINNM, STFMINNMLFloating-point atomic minimum number in memory, without return
STGStore Allocation Tag
STGMStore Allocation Tag multiple
STGPStore Allocation Tag and pair of registers
STILPStore-release ordered pair of registers
STL1 (SIMD&FP)Store-release a single-element structure from one lane of one register
STLLRStore LORelease register
STLLRBStore LORelease register byte
STLLRHStore LORelease register halfword
STLRStore-release register
STLRBStore-release register byte
STLRHStore-release register halfword
STLTXRStore-release unprivileged exclusive register
STLURStore-release register (unscaled)
STLUR (SIMD&FP)Store-release SIMD&FP register (unscaled offset)
STLURBStore-release register byte (unscaled)
STLURHStore-release register halfword (unscaled)
STLXPStore-release exclusive pair of registers
STLXRStore-release exclusive register
STLXRBStore-release exclusive register byte
STLXRHStore-release exclusive register halfword
STMOPA (2-way)Signed integer sparse sum of two outer products, accumulating
STMOPA (4-way)Signed integer sparse sum of four outer products, accumulating
STNPStore pair of registers, with non-temporal hint
STNP (SIMD&FP)Store pair of SIMD&FP registers, with non-temporal hint
STNT1B (scalar plus immediate, consecutive registers)Contiguous store non-temporal of bytes from multiple consecutive vectors (immediate index)
STNT1B (scalar plus immediate, single register)Contiguous store non-temporal bytes from vector (immediate index)
STNT1B (scalar plus immediate, strided registers)Contiguous store non-temporal of bytes from multiple strided vectors (immediate index)
STNT1B (scalar plus scalar, consecutive registers)Contiguous store non-temporal of bytes from multiple consecutive vectors (scalar index)
STNT1B (scalar plus scalar, single register)Contiguous store non-temporal bytes from vector (scalar index)
STNT1B (scalar plus scalar, strided registers)Contiguous store non-temporal of bytes from multiple strided vectors (scalar index)
STNT1B (vector plus scalar)Scatter store non-temporal bytes
STNT1D (scalar plus immediate, consecutive registers)Contiguous store non-temporal of doublewords from multiple consecutive vectors (immediate index)
STNT1D (scalar plus immediate, single register)Contiguous store non-temporal doublewords from vector (immediate index)
STNT1D (scalar plus immediate, strided registers)Contiguous store non-temporal of doublewords from multiple strided vectors (immediate index)
STNT1D (scalar plus scalar, consecutive registers)Contiguous store non-temporal of doublewords from multiple consecutive vectors (scalar index)
STNT1D (scalar plus scalar, single register)Contiguous store non-temporal doublewords from vector (scalar index)
STNT1D (scalar plus scalar, strided registers)Contiguous store non-temporal of doublewords from multiple strided vectors (scalar index)
STNT1D (vector plus scalar)Scatter store non-temporal doublewords
STNT1H (scalar plus immediate, consecutive registers)Contiguous store non-temporal of halfwords from multiple consecutive vectors (immediate index)
STNT1H (scalar plus immediate, single register)Contiguous store non-temporal halfwords from vector (immediate index)
STNT1H (scalar plus immediate, strided registers)Contiguous store non-temporal of halfwords from multiple strided vectors (immediate index)
STNT1H (scalar plus scalar, consecutive registers)Contiguous store non-temporal of halfwords from multiple consecutive vectors (scalar index)
STNT1H (scalar plus scalar, single register)Contiguous store non-temporal halfwords from vector (scalar index)
STNT1H (scalar plus scalar, strided registers)Contiguous store non-temporal of halfwords from multiple strided vectors (scalar index)
STNT1H (vector plus scalar)Scatter store non-temporal halfwords
STNT1W (scalar plus immediate, consecutive registers)Contiguous store non-temporal of words from multiple consecutive vectors (immediate index)
STNT1W (scalar plus immediate, single register)Contiguous store non-temporal words from vector (immediate index)
STNT1W (scalar plus immediate, strided registers)Contiguous store non-temporal of words from multiple strided vectors (immediate index)
STNT1W (scalar plus scalar, consecutive registers)Contiguous store non-temporal of words from multiple consecutive vectors (scalar index)
STNT1W (scalar plus scalar, single register)Contiguous store non-temporal words from vector (scalar index)
STNT1W (scalar plus scalar, strided registers)Contiguous store non-temporal of words from multiple strided vectors (scalar index)
STNT1W (vector plus scalar)Scatter store non-temporal words
STPStore pair of registers
STP (SIMD&FP)Store pair of SIMD&FP registers
STR (array vector)Store ZA array vector
STR (immediate)Store register (immediate)
STR (immediate, SIMD&FP)Store SIMD&FP register (immediate offset)
STR (predicate)Store predicate register
STR (register)Store register (register)
STR (register, SIMD&FP)Store SIMD&FP register (register offset)
STR (table)Store ZT0 register
STR (vector)Store vector register
STRB (immediate)Store register byte (immediate)
STRB (register)Store register byte (register)
STRH (immediate)Store register halfword (immediate)
STRH (register)Store register halfword (register)
STSET, STSETLAtomic bit set on word or doubleword in memory, without return
STSETB, STSETLBAtomic bit set on byte in memory, without return
STSETH, STSETLHAtomic bit set on halfword in memory, without return
STSHHStore shared hint
STSMAX, STSMAXLAtomic signed maximum on word or doubleword in memory, without return
STSMAXB, STSMAXLBAtomic signed maximum on byte in memory, without return
STSMAXH, STSMAXLHAtomic signed maximum on halfword in memory, without return
STSMIN, STSMINLAtomic signed minimum on word or doubleword in memory, without return
STSMINB, STSMINLBAtomic signed minimum on byte in memory, without return
STSMINH, STSMINLHAtomic signed minimum on halfword in memory, without return
STTADD, STTADDLAtomic add unprivileged, without return
STTCLR, STTCLRLAtomic bit clear unprivileged, without return
STTNPStore unprivileged pair of registers, with non-temporal hint
STTNP (SIMD&FP)Store unprivileged pair of SIMD&FP registers, with non-temporal hint
STTPStore unprivileged pair of registers
STTP (SIMD&FP)Store unprivileged pair of SIMD&FP registers
STTRStore register (unprivileged)
STTRBStore register byte (unprivileged)
STTRHStore register halfword (unprivileged)
STTSET, STTSETLAtomic bit set unprivileged, without return
STTXRStore unprivileged exclusive register
STUMAX, STUMAXLAtomic unsigned maximum on word or doubleword in memory, without return
STUMAXB, STUMAXLBAtomic unsigned maximum on byte in memory, without return
STUMAXH, STUMAXLHAtomic unsigned maximum on halfword in memory, without return
STUMIN, STUMINLAtomic unsigned minimum on word or doubleword in memory, without return
STUMINB, STUMINLBAtomic unsigned minimum on byte in memory, without return
STUMINH, STUMINLHAtomic unsigned minimum on halfword in memory, without return
STURStore register (unscaled)
STUR (SIMD&FP)Store SIMD&FP register (unscaled offset)
STURBStore register byte (unscaled)
STURHStore register halfword (unscaled)
STXPStore exclusive pair of registers
STXRStore exclusive register
STXRBStore exclusive register byte
STXRHStore exclusive register halfword
STZ2GStore Allocation Tags, zeroing
STZGStore Allocation Tag, zeroing
STZGMStore Allocation Tag and zero multiple
SUB (array accumulators)Subtract multi-vector from ZA array vector accumulators
SUB (array results, multiple and single vector)Subtract replicated single vector from multi-vector with ZA array vector results
SUB (array results, multiple vectors)Subtract multi-vector from multi-vector with ZA array vector results
SUB (extended register)Subtract extended and scaled register
SUB (immediate)Subtract immediate value
SUB (immediate)Subtract immediate (unpredicated)
SUB (shifted register)Subtract optionally-shifted register
SUB (vector)Subtract (vector)
SUB (vectors, predicated)Subtract vectors (predicated)
SUB (vectors, unpredicated)Subtract vectors (unpredicated)
SUBGSubtract with tag
SUBHN, SUBHN2Subtract returning high narrow
SUBHNBSubtract narrow high part (bottom)
SUBHNTSubtract narrow high part (top)
SUBPSubtract pointer
SUBPSSubtract pointer, setting flags
SUBPTSubtract checked pointer
SUBPT (predicated)Subtract checked pointer vectors (predicated)
SUBPT (unpredicated)Subtract checked pointer vectors (unpredicated)
SUBR (immediate)Reversed subtract from immediate (unpredicated)
SUBR (vectors)Reversed subtract vectors (predicated)
SUBS (extended register)Subtract extended and scaled register, setting flags
SUBS (immediate)Subtract immediate value, setting flags
SUBS (shifted register)Subtract optionally-shifted register, setting flags
SUDOTSigned by unsigned 8-bit integer indexed dot product to 32-bit integer
SUDOT (4-way, multiple and indexed vector)Multi-vector signed by unsigned integer dot-product by indexed elements
SUDOT (4-way, multiple and single vector)Multi-vector signed by unsigned integer dot-product by vector
SUDOT (by element)Dot product with signed and unsigned integers (vector, by element)
SUMLALL (multiple and indexed vector)Multi-vector signed by unsigned integer multiply-add long-long by indexed element
SUMLALL (multiple and single vector)Multi-vector signed by unsigned integer multiply-add long-long by vector
SUMOP4ASigned by unsigned integer quarter-tile sums of four outer products, accumulating
SUMOP4SSigned by unsigned integer quarter-tile sums of four outer products, subtracting
SUMOPA (4-way)Signed by unsigned integer sum of outer products and accumulate
SUMOPSSigned by unsigned integer sum of outer products and subtract
SUNPKUnpack and sign-extend multi-vector elements
SUNPKHI, SUNPKLOSigned unpack and extend half of vector
SUQADDSigned saturating addition of unsigned value
SUQADDSigned saturating accumulate of unsigned value
SUTMOPASigned by unsigned integer sparse sum of four outer products, accumulating
SUVDOTMulti-vector signed by unsigned integer vertical dot-product by indexed element
SVCSupervisor call
SVDOT (2-way)Multi-vector signed integer vertical dot-product by indexed element
SVDOT (4-way)Multi-vector signed integer vertical dot-product by indexed element
SWP, SWPA, SWPAL, SWPLSwap word or doubleword in memory
SWPB, SWPAB, SWPALB, SWPLBSwap byte in memory
SWPH, SWPAH, SWPALH, SWPLHSwap halfword in memory
SWPP, SWPPA, SWPPAL, SWPPLSwap quadword in memory
SWPT, SWPTA, SWPTAL, SWPTLSwap unprivileged
SXTBSigned extend byte
SXTB, SXTH, SXTWSigned byte / halfword / word extend (predicated)
SXTHSign extend halfword
SXTL, SXTL2Signed extend long
SXTWSign extend word
SYSSystem instruction
SYSLSystem instruction with result
SYSP128-bit system instruction
TBLTable vector lookup
TBLProgrammable table lookup in one or two vector table (zeroing)
TBLQProgrammable table lookup within each quadword vector segment (zeroing)
TBNZTest bit and branch if nonzero
TBXProgrammable table lookup in single vector table (merging)
TBXTable vector lookup extension
TBXQProgrammable table lookup within each quadword vector segment (merging)
TBZTest bit and branch if zero
TCANCELCancel current transaction
TCOMMITCommit current transaction
TLBITLB invalidate operation
TLBIPTLB invalidate pair operation
TRCITTrace instrumentation
TRN1Transpose vectors (primary)
TRN1, TRN2 (predicates)Interleave even or odd elements from two predicates
TRN1, TRN2 (vectors)Interleave even or odd elements from two vectors
TRN2Transpose vectors (secondary)
TSBTrace synchronization barrier
TST (immediate)Test bits (immediate)
TST (shifted register)Test (shifted register)
TSTARTStart transaction
TTESTTest transaction state
UABAUnsigned absolute difference and accumulate
UABAUnsigned absolute difference and accumulate
UABAL, UABAL2Unsigned absolute difference and accumulate long
UABALBUnsigned absolute difference and accumulate long (bottom)
UABALTUnsigned absolute difference and accumulate long (top)
UABDUnsigned absolute difference (vector)
UABDUnsigned absolute difference (predicated)
UABDL, UABDL2Unsigned absolute difference long
UABDLBUnsigned absolute difference long (bottom)
UABDLTUnsigned absolute difference long (top)
UADALPUnsigned add and accumulate long pairwise
UADALPUnsigned add and accumulate long pairwise
UADDL, UADDL2Unsigned add long (vector)
UADDLBUnsigned add long (bottom)
UADDLPUnsigned add long pairwise
UADDLTUnsigned add long (top)
UADDLVUnsigned sum long across vector
UADDVUnsigned add reduction to scalar
UADDW, UADDW2Unsigned add wide
UADDWBUnsigned add wide (bottom)
UADDWTUnsigned add wide (top)
UBFIZUnsigned bitfield insert in zeros
UBFMUnsigned bitfield move
UBFXUnsigned bitfield extract
UCLAMPUnsigned clamp to minimum/maximum vector
UCLAMPMulti-vector unsigned clamp to minimum/maximum vector
UCVTFMulti-vector unsigned integer convert to floating-point
UCVTF (predicated)Unsigned integer convert to floating-point (predicated)
UCVTF (scalar SIMD&FP)Unsigned integer convert to floating-point (scalar SIMD&FP)
UCVTF (scalar, fixed-point)Unsigned fixed-point convert to floating-point (scalar)
UCVTF (scalar, integer)Unsigned integer convert to floating-point (scalar)
UCVTF (vector, fixed-point)Unsigned fixed-point convert to floating-point (vector)
UCVTF (vector, integer)Unsigned integer convert to floating-point (vector)
UDFPermanently undefined
UDIVUnsigned divide (predicated)
UDIVUnsigned divide
UDIVRUnsigned reversed divide (predicated)
UDOT (2-way, indexed)Unsigned integer indexed dot product
UDOT (2-way, multiple and indexed vector)Multi-vector unsigned integer dot-product by indexed element
UDOT (2-way, multiple and single vector)Multi-vector unsigned integer dot-product by vector
UDOT (2-way, multiple vectors)Multi-vector unsigned integer dot-product
UDOT (2-way, vectors)Unsigned integer dot product
UDOT (4-way, indexed)Unsigned integer indexed dot product
UDOT (4-way, multiple and indexed vector)Multi-vector unsigned integer dot-product by indexed element
UDOT (4-way, multiple and single vector)Multi-vector unsigned integer dot-product by vector
UDOT (4-way, multiple vectors)Multi-vector unsigned integer dot-product
UDOT (4-way, vectors)Unsigned integer dot product
UDOT (by element)Dot product unsigned arithmetic (vector, by element)
UDOT (vector)Dot product unsigned arithmetic (vector)
UHADDUnsigned halving addition
UHADDUnsigned halving add
UHSUBUnsigned halving subtract
UHSUBUnsigned halving subtract
UHSUBRUnsigned halving subtract reversed vectors
UMADDLUnsigned multiply-add long
UMAXUnsigned maximum (vector)
UMAX (immediate)Unsigned maximum (immediate)
UMAX (immediate)Unsigned maximum with immediate (unpredicated)
UMAX (multiple and single vector)Multi-vector unsigned maximum by vector
UMAX (multiple vectors)Multi-vector unsigned maximum
UMAX (register)Unsigned maximum (register)
UMAX (vectors)Unsigned maximum vectors (predicated)
UMAXPUnsigned maximum pairwise
UMAXPUnsigned maximum pairwise
UMAXQVUnsigned maximum reduction of quadword vector segments
UMAXVUnsigned maximum reduction to scalar
UMAXVUnsigned maximum across vector
UMINUnsigned minimum (vector)
UMIN (immediate)Unsigned minimum (immediate)
UMIN (immediate)Unsigned minimum with immediate (unpredicated)
UMIN (multiple and single vector)Multi-vector unsigned minimum by vector
UMIN (multiple vectors)Multi-vector unsigned minimum
UMIN (register)Unsigned minimum (register)
UMIN (vectors)Unsigned minimum vectors (predicated)
UMINPUnsigned minimum pairwise
UMINPUnsigned minimum pairwise
UMINQVUnsigned minimum reduction of quadword vector segments
UMINVUnsigned minimum across vector
UMINVUnsigned minimum reduction to scalar
UMLAL (multiple and indexed vector)Multi-vector unsigned integer multiply-add long by indexed element
UMLAL (multiple and single vector)Multi-vector unsigned integer multiply-add long by vector
UMLAL (multiple vectors)Multi-vector unsigned integer multiply-add long
UMLAL, UMLAL2 (by element)Unsigned multiply-add long (vector, by element)
UMLAL, UMLAL2 (vector)Unsigned multiply-add long (vector)
UMLALB (indexed)Unsigned multiply-add long to accumulator (bottom, indexed)
UMLALB (vectors)Unsigned multiply-add long to accumulator (bottom)
UMLALL (multiple and indexed vector)Multi-vector unsigned integer multiply-add long-long by indexed element
UMLALL (multiple and single vector)Multi-vector unsigned integer multiply-add long-long by vector
UMLALL (multiple vectors)Multi-vector unsigned integer multiply-add long-long
UMLALT (indexed)Unsigned multiply-add long to accumulator (top, indexed)
UMLALT (vectors)Unsigned multiply-add long to accumulator (top)
UMLSL (multiple and indexed vector)Multi-vector unsigned integer multiply-subtract long by indexed element
UMLSL (multiple and single vector)Multi-vector unsigned integer multiply-subtract long by vector
UMLSL (multiple vectors)Multi-vector unsigned integer multiply-subtract long
UMLSL, UMLSL2 (by element)Unsigned multiply-subtract long (vector, by element)
UMLSL, UMLSL2 (vector)Unsigned multiply-subtract long (vector)
UMLSLB (indexed)Unsigned multiply-subtract long from accumulator (bottom, indexed)
UMLSLB (vectors)Unsigned multiply-subtract long from accumulator (bottom)
UMLSLL (multiple and indexed vector)Multi-vector unsigned integer multiply-subtract long-long by indexed element
UMLSLL (multiple and single vector)Multi-vector unsigned integer multiply-subtract long-long by vector
UMLSLL (multiple vectors)Multi-vector unsigned integer multiply-subtract long-long
UMLSLT (indexed)Unsigned multiply-subtract long from accumulator (top, indexed)
UMLSLT (vectors)Unsigned multiply-subtract long from accumulator (top)
UMMLAUnsigned 8-bit integer matrix multiply-accumulate to 32-bit integer
UMMLA (vector)Unsigned 8-bit integer matrix multiply-accumulate (vector)
UMNEGLUnsigned multiply-negate long
UMOP4A (2-way)Unsigned integer quarter-tile sums of two outer products, accumulating
UMOP4A (4-way)Unsigned integer quarter-tile sums of four outer products, accumulating
UMOP4S (2-way)Unsigned integer quarter-tile sums of two outer products, subtracting
UMOP4S (4-way)Unsigned integer quarter-tile sums of four outer products, subtracting
UMOPA (2-way)Unsigned integer sum of outer products and accumulate
UMOPA (4-way)Unsigned integer sum of outer products and accumulate
UMOPS (2-way)Unsigned integer sum of outer products and subtract
UMOPS (4-way)Unsigned integer sum of outer products and subtract
UMOVUnsigned move vector element to general-purpose register
UMSUBLUnsigned multiply-subtract long
UMULHUnsigned multiply high
UMULH (predicated)Unsigned multiply returning high half (predicated)
UMULH (unpredicated)Unsigned multiply returning high half (unpredicated)
UMULLUnsigned multiply long
UMULL, UMULL2 (by element)Unsigned multiply long (vector, by element)
UMULL, UMULL2 (vector)Unsigned multiply long (vector)
UMULLB (indexed)Unsigned multiply long (bottom, indexed)
UMULLB (vectors)Unsigned multiply long (bottom)
UMULLT (indexed)Unsigned multiply long (top, indexed)
UMULLT (vectors)Unsigned multiply long (top)
UQADDUnsigned saturating add
UQADD (immediate)Unsigned saturating add immediate (unpredicated)
UQADD (vectors, predicated)Unsigned saturating addition (predicated)
UQADD (vectors, unpredicated)Unsigned saturating add vectors (unpredicated)
UQCVT (four registers)Multi-vector unsigned saturating extract narrow
UQCVT (two registers)Multi-vector unsigned saturating extract narrow
UQCVTNUnsigned 32-bit integer saturating extract narrow and interleave to 16-bit integer
UQCVTNMulti-vector unsigned saturating extract narrow and interleave
UQDECBUnsigned saturating decrement scalar by multiple of 8-bit predicate constraint element count
UQDECD (scalar)Unsigned saturating decrement scalar by multiple of 64-bit predicate constraint element count
UQDECD (vector)Unsigned saturating decrement vector by multiple of 64-bit predicate constraint element count
UQDECH (scalar)Unsigned saturating decrement scalar by multiple of 16-bit predicate constraint element count
UQDECH (vector)Unsigned saturating decrement vector by multiple of 16-bit predicate constraint element count
UQDECP (scalar)Unsigned saturating decrement scalar by count of true predicate elements
UQDECP (vector)Unsigned saturating decrement vector by count of true predicate elements
UQDECW (scalar)Unsigned saturating decrement scalar by multiple of 32-bit predicate constraint element count
UQDECW (vector)Unsigned saturating decrement vector by multiple of 32-bit predicate constraint element count
UQINCBUnsigned saturating increment scalar by multiple of 8-bit predicate constraint element count
UQINCD (scalar)Unsigned saturating increment scalar by multiple of 64-bit predicate constraint element count
UQINCD (vector)Unsigned saturating increment vector by multiple of 64-bit predicate constraint element count
UQINCH (scalar)Unsigned saturating increment scalar by multiple of 16-bit predicate constraint element count
UQINCH (vector)Unsigned saturating increment vector by multiple of 16-bit predicate constraint element count
UQINCP (scalar)Unsigned saturating increment scalar by count of true predicate elements
UQINCP (vector)Unsigned saturating increment vector by count of true predicate elements
UQINCW (scalar)Unsigned saturating increment scalar by multiple of 32-bit predicate constraint element count
UQINCW (vector)Unsigned saturating increment vector by multiple of 32-bit predicate constraint element count
UQRSHLUnsigned saturating rounding shift left by vector (predicated)
UQRSHLUnsigned saturating rounding shift left (register)
UQRSHLRUnsigned saturating rounding shift left reversed vectors (predicated)
UQRSHR (four registers)Multi-vector unsigned saturating rounding shift right narrow by immediate
UQRSHR (two registers)Multi-vector unsigned saturating rounding shift right narrow by immediate
UQRSHRNMulti-vector unsigned saturating rounding shift right narrow by immediate and interleave
UQRSHRNUnsigned saturating rounding shift right narrow by immediate and interleave
UQRSHRN, UQRSHRN2Unsigned saturating rounded shift right narrow (immediate)
UQRSHRNBUnsigned saturating rounding shift right narrow by immediate (bottom)
UQRSHRNTUnsigned saturating rounding shift right narrow by immediate (top)
UQSHL (immediate)Unsigned saturating shift left by immediate
UQSHL (immediate)Unsigned saturating shift left (immediate)
UQSHL (register)Unsigned saturating shift left (register)
UQSHL (vectors)Unsigned saturating shift left by vector (predicated)
UQSHLRUnsigned saturating shift left reversed vectors (predicated)
UQSHRN, UQSHRN2Unsigned saturating shift right narrow (immediate)
UQSHRNBUnsigned saturating shift right narrow by immediate (bottom)
UQSHRNTUnsigned saturating shift right narrow by immediate (top)
UQSUBUnsigned saturating subtract
UQSUB (immediate)Unsigned saturating subtract immediate (unpredicated)
UQSUB (vectors, predicated)Unsigned saturating subtraction (predicated)
UQSUB (vectors, unpredicated)Unsigned saturating subtract vectors (unpredicated)
UQSUBRUnsigned saturating subtraction reversed vectors (predicated)
UQXTN, UQXTN2Unsigned saturating extract narrow
UQXTNBUnsigned saturating extract narrow (bottom)
UQXTNTUnsigned saturating extract narrow (top)
URECPEUnsigned reciprocal estimate
URECPEUnsigned reciprocal estimate (predicated)
URHADDUnsigned rounding halving add
URHADDUnsigned rounding halving addition
URSHLUnsigned rounding shift left by vector (predicated)
URSHLUnsigned rounding shift left (register)
URSHL (multiple and single vector)Multi-vector unsigned rounding shift left by vector
URSHL (multiple vectors)Multi-vector unsigned rounding shift left
URSHLRUnsigned rounding shift left reversed vectors (predicated)
URSHRUnsigned rounding shift right by immediate
URSHRUnsigned rounding shift right (immediate)
URSQRTEUnsigned reciprocal square root estimate (predicated)
URSQRTEUnsigned reciprocal square root estimate
URSRAUnsigned rounding shift right and accumulate (immediate)
URSRAUnsigned rounding shift right and accumulate (immediate)
USDOT (4-way, multiple and indexed vector)Multi-vector unsigned by signed integer dot-product by indexed element
USDOT (4-way, multiple and single vector)Multi-vector unsigned by signed integer dot-product by vector
USDOT (4-way, multiple vectors)Multi-vector unsigned by signed integer dot-product
USDOT (by element)Dot product with unsigned and signed integers (vector, by element)
USDOT (indexed)Unsigned by signed 8-bit integer indexed dot product to 32-bit integer
USDOT (vector)Dot product with unsigned and signed integers (vector)
USDOT (vectors)Unsigned by signed 8-bit integer dot product to 32-bit integer
USHLUnsigned shift left (register)
USHLL, USHLL2Unsigned shift left long (immediate)
USHLLBUnsigned shift left long by immediate (bottom)
USHLLTUnsigned shift left long by immediate (top)
USHRUnsigned shift right (immediate)
USMLALL (multiple and indexed vector)Multi-vector unsigned by signed integer multiply-add long-long by indexed element
USMLALL (multiple and single vector)Multi-vector unsigned by signed integer multiply-add long-long by vector
USMLALL (multiple vectors)Multi-vector unsigned by signed integer multiply-add long-long
USMMLAUnsigned by signed 8-bit integer matrix multiply-accumulate to 32-bit integer
USMMLA (vector)Unsigned and signed 8-bit integer matrix multiply-accumulate (vector)
USMOP4AUnsigned by signed integer quarter-tile sums of four outer products, accumulating
USMOP4SUnsigned by signed integer quarter-tile sums of four outer products, subtracting
USMOPA (4-way)Unsigned by signed integer sum of outer products and accumulate
USMOPSUnsigned by signed integer sum of outer products and subtract
USQADDUnsigned saturating addition of signed value
USQADDUnsigned saturating accumulate of signed value
USRAUnsigned shift right and accumulate (immediate)
USRAUnsigned shift right and accumulate (immediate)
USTMOPAUnsigned by signed integer sparse sum of four outer products, accumulating
USUBL, USUBL2Unsigned subtract long
USUBLBUnsigned subtract long (bottom)
USUBLTUnsigned subtract long (top)
USUBW, USUBW2Unsigned subtract wide
USUBWBUnsigned subtract wide (bottom)
USUBWTUnsigned subtract wide (top)
USVDOTMulti-vector unsigned by signed integer vertical dot-product by indexed element
UTMOPA (2-way)Unsigned integer sparse sum of two outer products, accumulating
UTMOPA (4-way)Unsigned integer sparse sum of four outer products, accumulating
UUNPKUnpack and zero-extend multi-vector elements
UUNPKHI, UUNPKLOUnsigned unpack and extend half of vector
UVDOT (2-way)Multi-vector unsigned integer vertical dot-product by indexed element
UVDOT (4-way)Multi-vector unsigned integer vertical dot-product by indexed element
UXTBUnsigned extend byte
UXTB, UXTH, UXTWUnsigned byte / halfword / word extend (predicated)
UXTHUnsigned extend halfword
UXTL, UXTL2Unsigned extend long
UZP (four registers)Concatenate elements from four vectors
UZP (two registers)Concatenate elements from two vectors
UZP1Unzip vectors (primary)
UZP1, UZP2 (predicates)Concatenate even or odd elements from two predicates
UZP1, UZP2 (vectors)Concatenate even or odd elements from two vectors
UZP2Unzip vectors (secondary)
UZPQ1Concatenate even elements within each pair of quadword vector segments
UZPQ2Concatenate odd elements within each pair of quadword vector segments
WFEWait for event
WFETWait for event with timeout
WFIWait for interrupt
WFITWait for interrupt with timeout
WHILEGE (predicate as counter)While decrementing signed scalar greater than or equal to scalar (predicate-as-counter)
WHILEGE (predicate pair)While decrementing signed scalar greater than or equal to scalar (pair of predicates)
WHILEGE (predicate)While decrementing signed scalar greater than or equal to scalar
WHILEGT (predicate as counter)While decrementing signed scalar greater than scalar (predicate-as-counter)
WHILEGT (predicate pair)While decrementing signed scalar greater than scalar (pair of predicates)
WHILEGT (predicate)While decrementing signed scalar greater than scalar
WHILEHI (predicate as counter)While decrementing unsigned scalar higher than scalar (predicate-as-counter)
WHILEHI (predicate pair)While decrementing unsigned scalar higher than scalar (pair of predicates)
WHILEHI (predicate)While decrementing unsigned scalar higher than scalar
WHILEHS (predicate as counter)While decrementing unsigned scalar higher or same as scalar (predicate-as-counter)
WHILEHS (predicate pair)While decrementing unsigned scalar higher or same as scalar (pair of predicates)
WHILEHS (predicate)While decrementing unsigned scalar higher or same as scalar
WHILELE (predicate as counter)While incrementing signed scalar less than or equal to scalar (predicate-as-counter)
WHILELE (predicate pair)While incrementing signed scalar less than or equal to scalar (pair of predicates)
WHILELE (predicate)While incrementing signed scalar less than or equal to scalar
WHILELO (predicate as counter)While incrementing unsigned scalar lower than scalar (predicate-as-counter)
WHILELO (predicate pair)While incrementing unsigned scalar lower than scalar (pair of predicates)
WHILELO (predicate)While incrementing unsigned scalar lower than scalar
WHILELS (predicate as counter)While incrementing unsigned scalar lower or same as scalar (predicate-as-counter)
WHILELS (predicate pair)While incrementing unsigned scalar lower or same as scalar (pair of predicates)
WHILELS (predicate)While incrementing unsigned scalar lower or same as scalar
WHILELT (predicate as counter)While incrementing signed scalar less than scalar (predicate-as-counter)
WHILELT (predicate pair)While incrementing signed scalar less than scalar (pair of predicates)
WHILELT (predicate)While incrementing signed scalar less than scalar
WHILERWWhile free of read-after-write conflicts
WHILEWRWhile free of write-after-read/write conflicts
WRFFRWrite the first-fault register
XAFLAGConvert floating-point condition flags from external format to Arm format
XARBitwise exclusive-OR and rotate right by immediate
XARExclusive-OR and rotate
XPACD, XPACI, XPACLRIStrip Pointer Authentication Code
XTN, XTN2Extract narrow
YIELDYield
ZERO (double-vector)Zero ZA double-vector groups
ZERO (quad-vector)Zero ZA quad-vector groups
ZERO (single-vector)Zero ZA single-vector groups
ZERO (table)Zero ZT0
ZERO (tiles)Zero a list of 64-bit element ZA tiles
ZIP (four registers)Interleave elements from four vectors
ZIP (two registers)Interleave elements from two vectors
ZIP1Zip vectors (primary)
ZIP1, ZIP2 (predicates)Interleave elements from two half predicates
ZIP1, ZIP2 (vectors)Interleave elements from two half vectors
ZIP2Zip vectors (secondary)
ZIPQ1Interleave elements from low halves of each pair of quadword vector segments
ZIPQ2Interleave elements from high halves of each pair of quadword vector segments