| Mnemonic | Brief |
|---|
| ABS | Absolute value (predicated) |
| ABS | Absolute value |
| ABS | Absolute value (vector) |
| ADC | Add with carry |
| ADCLB | Add with carry long (bottom) |
| ADCLT | Add with carry long (top) |
| ADCS | Add 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) |
| ADDG | Add with tag |
| ADDHA | Add horizontally vector elements to ZA tile |
| ADDHN, ADDHN2 | Add returning high narrow |
| ADDHNB | Add narrow high part (bottom) |
| ADDHNT | Add narrow high part (top) |
| ADDP | Add pairwise |
| ADDP (scalar) | Add pair of elements (scalar) |
| ADDP (vector) | Add pairwise (vector) |
| ADDPL | Add multiple of predicate register size to scalar register |
| ADDPT | Add checked pointer |
| ADDPT (predicated) | Add checked pointer vectors (predicated) |
| ADDPT (unpredicated) | Add checked pointer vectors (unpredicated) |
| ADDQV | Add 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 |
| ADDSPL | Add multiple of Streaming SVE predicate register size to scalar register |
| ADDSVL | Add multiple of Streaming SVE vector register size to scalar register |
| ADDV | Add across vector |
| ADDVA | Add vertically vector elements to ZA tile |
| ADDVL | Add multiple of vector register size to scalar register |
| ADR | Form PC-relative address |
| ADR | Compute vector address |
| ADRP | Form PC-relative address to 4KB page |
| AESD | AES single round decryption |
| AESD (indexed) | Multi-vector AES single round decryption |
| AESD (vectors) | AES single round decryption |
| AESDIMC | Multi-vector AES single round decryption and inverse mix columns |
| AESE | AES single round encryption |
| AESE (indexed) | Multi-vector AES single round encryption |
| AESE (vectors) | AES single round encryption |
| AESEMC | Multi-vector AES single round encryption and mix columns |
| AESIMC | AES inverse mix columns |
| AESIMC | AES inverse mix columns |
| AESMC | AES mix columns |
| AESMC | AES 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) |
| ANDQV | Bitwise AND reduction of quadword vector segments |
| ANDS | Bitwise AND predicates, setting the condition flags |
| ANDS (immediate) | Bitwise AND (immediate), setting flags |
| ANDS (shifted register) | Bitwise AND (shifted register), setting flags |
| ANDV | Bitwise AND reduction to scalar |
| APAS | Associate 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) |
| ASRD | Arithmetic shift right for divide by immediate (predicated) |
| ASRR | Reversed arithmetic shift right by vector (predicated) |
| ASRV | Arithmetic shift right variable |
| AT | Address translate |
| AUTDA, AUTDZA | Authenticate data address, using key A |
| AUTDB, AUTDZB | Authenticate data address, using key B |
| AUTIA, AUTIA1716, AUTIASP, AUTIAZ, AUTIZA | Authenticate instruction address, using key A |
| AUTIA171615 | Authenticate instruction address, using key A |
| AUTIASPPC | Authenticate return address using key A, using an immediate offset |
| AUTIASPPCR | Authenticate return address using key A, using a register |
| AUTIB, AUTIB1716, AUTIBSP, AUTIBZ, AUTIZB | Authenticate instruction address, using key B |
| AUTIB171615 | Authenticate instruction address, using key B |
| AUTIBSPPC | Authenticate return address using key B, using an immediate offset |
| AUTIBSPPCR | Authenticate return address using key B, using a register |
| AXFLAG | Convert floating-point condition flags from Arm to external format |
| B | Branch |
| B.cond | Branch conditionally |
| BC.cond | Branch consistent conditionally |
| BCAX | Bit clear and exclusive-OR |
| BCAX | Bitwise clear and exclusive-OR |
| BDEP | Scatter lower bits into positions selected by bitmask |
| BEXT | Gather lower bits from positions selected by bitmask |
| BF1CVT, BF2CVT | Multi-vector convert from 8-bit floating-point to BFloat16 (in-order) |
| BF1CVT, BF2CVT | 8-bit floating-point convert to BFloat16 |
| BF1CVTL, BF1CVTL2, BF2CVTL, BF2CVTL2 | 8-bit floating-point convert to BFloat16 (vector) |
| BF1CVTL, BF2CVTL | Multi-vector convert from 8-bit floating-point to deinterleaved BFloat16 |
| BF1CVTLT, BF2CVTLT | 8-bit floating-point convert to BFloat16 (top) |
| BFADD | BFloat16 add multi-vector to ZA array vector accumulators |
| BFADD (predicated) | BFloat16 add vectors (predicated) |
| BFADD (unpredicated) | BFloat16 add vectors (unpredicated) |
| BFC | Bitfield clear |
| BFCLAMP | Multi-vector BFloat16 clamp to minimum/maximum number |
| BFCLAMP | BFloat16 clamp to minimum/maximum number |
| BFCVT | Single-precision down convert to BFloat16 format (predicated) |
| BFCVT | Floating-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 |
| BFCVTN | Multi-vector convert from single-precision to interleaved BFloat16 format |
| BFCVTN | BFloat16 convert, narrow and interleave to 8-bit floating-point |
| BFCVTN, BFCVTN2 | Floating-point convert from single-precision to BFloat16 format (vector) |
| BFCVTNT | Single-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 |
| BFI | Bitfield insert |
| BFM | Bitfield move |
| BFMAX | BFloat16 maximum (predicated) |
| BFMAX (multiple and single vector) | Multi-vector BFloat16 maximum by vector |
| BFMAX (multiple vectors) | Multi-vector BFloat16 maximum |
| BFMAXNM | BFloat16 maximum number (predicated) |
| BFMAXNM (multiple and single vector) | Multi-vector BFloat16 maximum number by vector |
| BFMAXNM (multiple vectors) | Multi-vector BFloat16 maximum number |
| BFMIN | BFloat16 minimum (predicated) |
| BFMIN (multiple and single vector) | Multi-vector BFloat16 minimum by vector |
| BFMIN (multiple vectors) | Multi-vector BFloat16 minimum |
| BFMINNM | BFloat16 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) |
| BFSCALE | BFloat16 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 |
| BFSUB | BFloat16 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 |
| BFVDOT | Multi-vector BFloat16 vertical dot-product by indexed element |
| BFXIL | Bitfield extract and insert at low end |
| BGRP | Group 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) |
| BICS | Bitwise clear predicates, setting the condition flags |
| BICS (shifted register) | Bitwise bit clear (shifted register), setting flags |
| BIF | Bitwise insert if false |
| BIT | Bitwise insert if true |
| BL | Branch with link |
| BLR | Branch with link to register |
| BLRAA, BLRAAZ, BLRAB, BLRABZ | Branch with link to register, with pointer authentication |
| BMOPA | Bitwise exclusive NOR population count outer product and accumulate |
| BMOPS | Bitwise exclusive NOR population count outer product and subtract |
| BR | Branch to register |
| BRAA, BRAAZ, BRAB, BRABZ | Branch to register, with pointer authentication |
| BRB | Branch record buffer |
| BRK | Breakpoint instruction |
| BRKA | Break after first true condition |
| BRKAS | Break after first true condition, setting the condition flags |
| BRKB | Break before first true condition |
| BRKBS | Break before first true condition, setting the condition flags |
| BRKN | Propagate break to next partition |
| BRKNS | Propagate break to next partition, setting the condition flags |
| BRKPA | Break after first true condition, propagating from previous partition |
| BRKPAS | Break after first true condition, propagating from previous partition and setting the condition flags |
| BRKPB | Break before first true condition, propagating from previous partition |
| BRKPBS | Break before first true condition, propagating from previous partition and setting the condition flags |
| BSL | Bitwise select |
| BSL | Bitwise select |
| BSL1N | Bitwise select with first input inverted |
| BSL2N | Bitwise select with second input inverted |
| BTI | Branch target identification |
| CADD | Complex integer add with rotate |
| CAS, CASA, CASAL, CASL | Compare and swap word or doubleword in memory |
| CASB, CASAB, CASALB, CASLB | Compare and swap byte in memory |
| CASH, CASAH, CASALH, CASLH | Compare and swap halfword in memory |
| CASP, CASPA, CASPAL, CASPL | Compare and swap pair of words or doublewords in memory |
| CASPT, CASPAT, CASPALT, CASPLT | Compare and swap pair unprivileged |
| CAST, CASAT, CASALT, CASLT | Compare and swap unprivileged |
| CB (immediate) | Compare register with immediate and branch |
| CB (register) | Compare registers and branch |
| CBB | Compare bytes and branch |
| CBBLE | Compare signed less than or equal bytes and branch |
| CBBLO | Compare unsigned lower than bytes and branch |
| CBBLS | Compare unsigned lower than or equal bytes and branch |
| CBBLT | Compare signed less than bytes and branch |
| CBGE (immediate) | Compare signed greater than or equal immediate and branch |
| CBH | Compare halfwords and branch |
| CBHLE | Compare signed less than or equal halfwords and branch |
| CBHLO | Compare unsigned lower than halfwords and branch |
| CBHLS | Compare unsigned lower than or equal halfwords and branch |
| CBHLT | Compare 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 |
| CBNZ | Compare and branch on nonzero |
| CBZ | Compare 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 |
| CFINV | Invert carry flag |
| CFP | Control flow prediction restriction by context |
| CHKFEAT | Check feature status |
| CINC | Conditional increment |
| CINV | Conditional 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 |
| CLRBHB | Clear branch history |
| CLREX | Clear exclusive |
| CLS | Count leading sign bits (predicated) |
| CLS | Count leading sign bits |
| CLS (vector) | Count leading sign bits (vector) |
| CLZ | Count leading zero bits (predicated) |
| CLZ | Count 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 |
| CMPP | Compare with tag |
| CMTST | Compare bitwise test bits nonzero (vector) |
| CNEG | Conditional negate |
| CNOT | Logically invert boolean condition in vector (predicated) |
| CNT | Population count per byte |
| CNT | Count non-zero bits (predicated) |
| CNT | Count bits |
| CNTB, CNTD, CNTH, CNTW | Set 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 |
| COMPACT | Copy active vector elements to lower-numbered elements |
| COSP | Clear other speculative prediction restriction by context |
| CPP | Cache 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, CPYFE | Memory copy forward-only |
| CPYFPN, CPYFMN, CPYFEN | Memory copy forward-only, reads and writes non-temporal |
| CPYFPRN, CPYFMRN, CPYFERN | Memory copy forward-only, reads non-temporal |
| CPYFPRT, CPYFMRT, CPYFERT | Memory copy forward-only, reads unprivileged |
| CPYFPRTN, CPYFMRTN, CPYFERTN | Memory copy forward-only, reads unprivileged, reads and writes non-temporal |
| CPYFPRTRN, CPYFMRTRN, CPYFERTRN | Memory copy forward-only, reads unprivileged and non-temporal |
| CPYFPRTWN, CPYFMRTWN, CPYFERTWN | Memory copy forward-only, reads unprivileged, writes non-temporal |
| CPYFPT, CPYFMT, CPYFET | Memory copy forward-only, reads and writes unprivileged |
| CPYFPTN, CPYFMTN, CPYFETN | Memory copy forward-only, reads and writes unprivileged and non-temporal |
| CPYFPTRN, CPYFMTRN, CPYFETRN | Memory copy forward-only, reads and writes unprivileged, reads non-temporal |
| CPYFPTWN, CPYFMTWN, CPYFETWN | Memory copy forward-only, reads and writes unprivileged, writes non-temporal |
| CPYFPWN, CPYFMWN, CPYFEWN | Memory copy forward-only, writes non-temporal |
| CPYFPWT, CPYFMWT, CPYFEWT | Memory copy forward-only, writes unprivileged |
| CPYFPWTN, CPYFMWTN, CPYFEWTN | Memory copy forward-only, writes unprivileged, reads and writes non-temporal |
| CPYFPWTRN, CPYFMWTRN, CPYFEWTRN | Memory copy forward-only, writes unprivileged, reads non-temporal |
| CPYFPWTWN, CPYFMWTWN, CPYFEWTWN | Memory copy forward-only, writes unprivileged and non-temporal |
| CPYP, CPYM, CPYE | Memory copy |
| CPYPN, CPYMN, CPYEN | Memory copy, reads and writes non-temporal |
| CPYPRN, CPYMRN, CPYERN | Memory copy, reads non-temporal |
| CPYPRT, CPYMRT, CPYERT | Memory copy, reads unprivileged |
| CPYPRTN, CPYMRTN, CPYERTN | Memory copy, reads unprivileged, reads and writes non-temporal |
| CPYPRTRN, CPYMRTRN, CPYERTRN | Memory copy, reads unprivileged and non-temporal |
| CPYPRTWN, CPYMRTWN, CPYERTWN | Memory copy, reads unprivileged, writes non-temporal |
| CPYPT, CPYMT, CPYET | Memory copy, reads and writes unprivileged |
| CPYPTN, CPYMTN, CPYETN | Memory copy, reads and writes unprivileged and non-temporal |
| CPYPTRN, CPYMTRN, CPYETRN | Memory copy, reads and writes unprivileged, reads non-temporal |
| CPYPTWN, CPYMTWN, CPYETWN | Memory copy, reads and writes unprivileged, writes non-temporal |
| CPYPWN, CPYMWN, CPYEWN | Memory copy, writes non-temporal |
| CPYPWT, CPYMWT, CPYEWT | Memory copy, writes unprivileged |
| CPYPWTN, CPYMWTN, CPYEWTN | Memory copy, writes unprivileged, reads and writes non-temporal |
| CPYPWTRN, CPYMWTRN, CPYEWTRN | Memory copy, writes unprivileged, reads non-temporal |
| CPYPWTWN, CPYMWTWN, CPYEWTWN | Memory copy, writes unprivileged and non-temporal |
| CRC32B, CRC32H, CRC32W, CRC32X | CRC32 checksum |
| CRC32CB, CRC32CH, CRC32CW, CRC32CX | CRC32C checksum |
| CSDB | Consumption of speculative data barrier |
| CSEL | Conditional select |
| CSET | Conditional set |
| CSETM | Conditional set mask |
| CSINC | Conditional select increment |
| CSINV | Conditional select invert |
| CSNEG | Conditional select negation |
| CTERMEQ, CTERMNE | Compare and terminate loop |
| CTZ | Count trailing zeros |
| DC | Data cache operation |
| DCPS1 | Debug change PE state to EL1 |
| DCPS2 | Debug change PE state to EL2 |
| DCPS3 | Debug 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 |
| DGH | Data gathering hint |
| DMB | Data memory barrier |
| DRPS | Debug restore PE state |
| DSB | Data 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) |
| DUPM | Broadcast logical bitmask immediate to vector (unpredicated) |
| DUPQ | Broadcast indexed element within each quadword vector segment (unpredicated) |
| DVP | Data value prediction restriction by context |
| EON | Bitwise 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) |
| EOR3 | Bitwise exclusive-OR of three vectors |
| EOR3 | Three-way exclusive-OR |
| EORBT | Interleaving exclusive-OR (bottom, top) |
| EORQV | Bitwise exclusive-OR reduction of quadword vector segments |
| EORS | Bitwise exclusive-OR predicates, setting the condition flags |
| EORTB | Interleaving exclusive-OR (top, bottom) |
| EORV | Bitwise exclusive-OR reduction to scalar |
| ERET | Exception return |
| ERETAA, ERETAB | Exception return, with pointer authentication |
| ESB | Error synchronization barrier |
| EXPAND | Copy lower-numbered vector elements to active elements |
| EXT | Extract vector from pair of vectors |
| EXT | Extract vector from pair of vectors |
| EXTQ | Extract vector segment from each pair of quadword vector segments |
| EXTR | Extract register |
| F1CVT, F2CVT | 8-bit floating-point convert to half-precision |
| F1CVT, F2CVT | Multi-vector convert from 8-bit floating-point to half-precision (in-order) |
| F1CVTL, F1CVTL2, F2CVTL, F2CVTL2 | 8-bit floating-point convert to half-precision (vector) |
| F1CVTL, F2CVTL | Multi-vector convert from 8-bit floating-point to deinterleaved half-precision |
| F1CVTLT, F2CVTLT | 8-bit floating-point convert to half-precision (top) |
| FABD | Floating-point absolute difference (predicated) |
| FABD | Floating-point absolute difference (vector) |
| FABS | Floating-point absolute value (predicated) |
| FABS (scalar) | Floating-point absolute value (scalar) |
| FABS (vector) | Floating-point absolute value (vector) |
| FAC | Floating-point absolute compare vectors |
| FACGE | Floating-point absolute compare greater than or equal (vector) |
| FACGT | Floating-point absolute compare greater than (vector) |
| FACLE | Floating-point absolute compare less than or equal |
| FACLT | Floating-point absolute compare less than |
| FADD | Floating-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) |
| FADDA | Floating-point add strictly-ordered reduction, accumulating in scalar |
| FADDP | Floating-point add pairwise |
| FADDP (scalar) | Floating-point add pair of elements (scalar) |
| FADDP (vector) | Floating-point add pairwise (vector) |
| FADDQV | Floating-point add recursive reduction of quadword vector segments |
| FADDV | Floating-point add recursive reduction to scalar |
| FAMAX | Floating-point absolute maximum (predicated) |
| FAMAX | Floating-point absolute maximum |
| FAMAX | Multi-vector floating-point absolute maximum |
| FAMIN | Floating-point absolute minimum |
| FAMIN | Multi-vector floating-point absolute minimum |
| FAMIN | Floating-point absolute minimum (predicated) |
| FCADD | Floating-point complex add |
| FCADD | Floating-point complex add with rotate (predicated) |
| FCCMP | Floating-point conditional quiet compare (scalar) |
| FCCMPE | Floating-point conditional signaling compare (scalar) |
| FCLAMP | Multi-vector floating-point clamp to minimum/maximum number |
| FCLAMP | Floating-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) |
| FCMLA | Floating-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) |
| FCMP | Floating-point quiet compare (scalar) |
| FCMPE | Floating-point signaling compare (scalar) |
| FCPY | Copy 8-bit floating-point immediate to vector elements (predicated) |
| FCSEL | Floating-point conditional select (scalar) |
| FCVT | Floating-point convert precision (predicated) |
| FCVT | Floating-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) |
| FCVTL | Multi-vector convert from half-precision to deinterleaved single-precision |
| FCVTL, FCVTL2 | Floating-point convert to higher precision long (vector) |
| FCVTLT | Floating-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) |
| FCVTN | Half-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) |
| FCVTNB | Single-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) |
| FCVTX | Double-precision down convert to single-precision, rounding to odd (predicated) |
| FCVTXN, FCVTXN2 | Floating-point convert to lower precision narrow, rounding to odd (vector) |
| FCVTXNT | Double-precision down convert to single-precision, rounding to odd (top, predicated) |
| FCVTZS | Floating-point convert to signed integer, rounding toward zero (predicated) |
| FCVTZS | Multi-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) |
| FCVTZU | Floating-point convert to unsigned integer, rounding toward zero (predicated) |
| FCVTZU | Multi-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) |
| FDIV | Floating-point divide by vector (predicated) |
| FDIV (scalar) | Floating-point divide (scalar) |
| FDIV (vector) | Floating-point divide (vector) |
| FDIVR | Floating-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) |
| FDUP | Broadcast 8-bit floating-point immediate to vector elements (unpredicated) |
| FEXPA | Floating-point exponential accelerator |
| FIRSTP | Scalar index of first true predicate element (predicated) |
| FJCVTZS | Floating-point Javascript convert to signed fixed-point, rounding toward zero |
| FLOGB | Floating-point base 2 logarithm as integer |
| FMAD | Floating-point fused multiply-add vectors (predicated), writing multiplicand [Zdn = Za + Zdn * Zm] |
| FMADD | Floating-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) |
| FMAXNMP | Floating-point maximum number pairwise |
| FMAXNMP (scalar) | Floating-point maximum number of pair of elements (scalar) |
| FMAXNMP (vector) | Floating-point maximum number pairwise (vector) |
| FMAXNMQV | Floating-point maximum number recursive reduction of quadword vector segments |
| FMAXNMV | Floating-point maximum number across vector |
| FMAXNMV | Floating-point maximum number recursive reduction to scalar |
| FMAXP | Floating-point maximum pairwise |
| FMAXP (scalar) | Floating-point maximum of pair of elements (scalar) |
| FMAXP (vector) | Floating-point maximum pairwise (vector) |
| FMAXQV | Floating-point maximum reduction of quadword vector segments |
| FMAXV | Floating-point maximum recursive reduction to scalar |
| FMAXV | Floating-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) |
| FMINNMP | Floating-point minimum number pairwise |
| FMINNMP (scalar) | Floating-point minimum number of pair of elements (scalar) |
| FMINNMP (vector) | Floating-point minimum number pairwise (vector) |
| FMINNMQV | Floating-point minimum number recursive reduction of quadword vector segments |
| FMINNMV | Floating-point minimum number recursive reduction to scalar |
| FMINNMV | Floating-point minimum number across vector |
| FMINP | Floating-point minimum pairwise |
| FMINP (scalar) | Floating-point minimum of pair of elements (scalar) |
| FMINP (vector) | Floating-point minimum pairwise (vector) |
| FMINQV | Floating-point minimum recursive reduction of quadword vector segments |
| FMINV | Floating-point minimum across vector |
| FMINV | Floating-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) |
| FMSB | Floating-point fused multiply-subtract vectors (predicated), writing multiplicand [Zdn = Za + -Zdn * Zm] |
| FMSUB | Floating-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) |
| FMULX | Floating-point multiply-extended vectors (predicated) |
| FMULX | Floating-point multiply extended |
| FMULX (by element) | Floating-point multiply extended (by element) |
| FNEG | Floating-point negate (predicated) |
| FNEG (scalar) | Floating-point negate (scalar) |
| FNEG (vector) | Floating-point negate (vector) |
| FNMAD | Floating-point negated fused multiply-add vectors (predicated), writing multiplicand [Zdn = -Za + -Zdn * Zm] |
| FNMADD | Floating-point negated fused multiply-add (scalar) |
| FNMLA | Floating-point negated fused multiply-add vectors (predicated), writing addend [Zda = -Zda + -Zn * Zm] |
| FNMLS | Floating-point negated fused multiply-subtract vectors (predicated), writing addend [Zda = -Zda + Zn * Zm] |
| FNMSB | Floating-point negated fused multiply-subtract vectors (predicated), writing multiplicand [Zdn = -Za + Zdn * Zm] |
| FNMSUB | Floating-point negated fused multiply-subtract (scalar) |
| FNMUL (scalar) | Floating-point multiply-negate (scalar) |
| FRECPE | Floating-point reciprocal estimate (unpredicated) |
| FRECPE | Floating-point reciprocal estimate |
| FRECPS | Floating-point reciprocal step (unpredicated) |
| FRECPS | Floating-point reciprocal step |
| FRECPX | Floating-point reciprocal exponent (scalar) |
| FRECPX | Floating-point reciprocal exponent (predicated) |
| FRINT32X | Floating-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) |
| FRINT32Z | Floating-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) |
| FRINT64X | Floating-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) |
| FRINT64Z | Floating-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) |
| FRINT | Floating-point round to integral value (predicated) |
| FRINTA | Multi-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) |
| FRINTM | Multi-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) |
| FRINTN | Multi-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) |
| FRINTP | Multi-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) |
| FRSQRTE | Floating-point reciprocal square root estimate |
| FRSQRTE | Floating-point reciprocal square root estimate (unpredicated) |
| FRSQRTS | Floating-point reciprocal square root step |
| FRSQRTS | Floating-point reciprocal square root step (unpredicated) |
| FSCALE | Floating-point adjust exponent by vector (predicated) |
| FSCALE | Floating-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 |
| FSQRT | Floating-point square root (predicated) |
| FSQRT (scalar) | Floating-point square root (scalar) |
| FSQRT (vector) | Floating-point square root (vector) |
| FSUB | Floating-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) |
| FTMAD | Floating-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 |
| FTSMUL | Floating-point trigonometric starting value |
| FTSSEL | Floating-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 |
| FVDOTB | Multi-vector 8-bit floating-point vertical dot-product by indexed element to single-precision (bottom) |
| FVDOTT | Multi-vector 8-bit floating-point vertical dot-product by indexed element to single-precision (top) |
| GCSB | Guarded Control Stack barrier |
| GCSPOPCX | Guarded Control Stack pop and compare exception return record |
| GCSPOPM | Guarded Control Stack pop |
| GCSPOPX | Guarded Control Stack pop exception return record |
| GCSPUSHM | Guarded Control Stack push |
| GCSPUSHX | Guarded Control Stack push exception return record |
| GCSSS1 | Guarded Control Stack switch stack 1 |
| GCSSS2 | Guarded Control Stack switch stack 2 |
| GCSSTR | Guarded Control Stack store register |
| GCSSTTR | Guarded Control Stack store register (unprivileged) |
| GMI | Tag mask insert |
| HINT | Hint instruction |
| HISTCNT | Count matching elements in vector |
| HISTSEG | Count matching elements in vector segments |
| HLT | Halt instruction |
| HVC | Hypervisor call |
| IC | Instruction 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 |
| IRG | Insert random tag |
| ISB | Instruction 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 |
| LASTP | Scalar 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) |
| LD1Q | Contiguous load of quadwords to 128-bit element ZA tile slice |
| LD1Q | Gather load quadwords |
| LD1R | Load one single-element structure and replicate to all lanes (of one register) |
| LD1RB | Load and broadcast unsigned byte to vector |
| LD1RD | Load and broadcast doubleword to vector |
| LD1RH | Load 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) |
| LD1RSB | Load and broadcast signed byte to vector |
| LD1RSH | Load and broadcast signed halfword to vector |
| LD1RSW | Load and broadcast signed word to vector |
| LD1RW | Load 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) |
| LD2R | Load 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) |
| LD3R | Load 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) |
| LD4R | Load 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) |
| LD64B | Single-copy atomic 64-byte Load |
| LDADD, LDADDA, LDADDAL, LDADDL | Atomic add on word or doubleword in memory |
| LDADDB, LDADDAB, LDADDALB, LDADDLB | Atomic add on byte in memory |
| LDADDH, LDADDAH, LDADDALH, LDADDLH | Atomic add on halfword in memory |
| LDAP1 (SIMD&FP) | Load-acquire RCpc one single-element structure to one lane of one register |
| LDAPR | Load-acquire RCpc register |
| LDAPRB | Load-acquire RCpc register byte |
| LDAPRH | Load-acquire RCpc register halfword |
| LDAPUR | Load-acquire RCpc register (unscaled) |
| LDAPUR (SIMD&FP) | Load-acquire RCpc SIMD&FP register (unscaled offset) |
| LDAPURB | Load-acquire RCpc register byte (unscaled) |
| LDAPURH | Load-acquire RCpc register halfword (unscaled) |
| LDAPURSB | Load-acquire RCpc register signed byte (unscaled) |
| LDAPURSH | Load-acquire RCpc register signed halfword (unscaled) |
| LDAPURSW | Load-acquire RCpc register signed word (unscaled) |
| LDAR | Load-acquire register |
| LDARB | Load-acquire register byte |
| LDARH | Load-acquire register halfword |
| LDATXR | Load-acquire unprivileged exclusive register |
| LDAXP | Load-acquire exclusive pair of registers |
| LDAXR | Load-acquire exclusive register |
| LDAXRB | Load-acquire exclusive register byte |
| LDAXRH | Load-acquire exclusive register halfword |
| LDBFADD, LDBFADDA, LDBFADDAL, LDBFADDL | BFloat16 floating-point add in memory |
| LDBFMAX, LDBFMAXA, LDBFMAXAL, LDBFMAXL | BFloat16 floating-point atomic maximum in memory |
| LDBFMAXNM, LDBFMAXNMA, LDBFMAXNMAL, LDBFMAXNML | BFloat16 floating-point atomic maximum number in memory |
| LDBFMIN, LDBFMINA, LDBFMINAL, LDBFMINL | BFloat16 floating-point atomic minimum in memory |
| LDBFMINNM, LDBFMINNMA, LDBFMINNMAL, LDBFMINNML | BFloat16 floating-point atomic minimum number in memory |
| LDCLR, LDCLRA, LDCLRAL, LDCLRL | Atomic bit clear on word or doubleword in memory |
| LDCLRB, LDCLRAB, LDCLRALB, LDCLRLB | Atomic bit clear on byte in memory |
| LDCLRH, LDCLRAH, LDCLRALH, LDCLRLH | Atomic bit clear on halfword in memory |
| LDCLRP, LDCLRPA, LDCLRPAL, LDCLRPL | Atomic bit clear on quadword in memory |
| LDEOR, LDEORA, LDEORAL, LDEORL | Atomic exclusive-OR on word or doubleword in memory |
| LDEORB, LDEORAB, LDEORALB, LDEORLB | Atomic exclusive-OR on byte in memory |
| LDEORH, LDEORAH, LDEORALH, LDEORLH | Atomic exclusive-OR on halfword in memory |
| LDFADD, LDFADDA, LDFADDAL, LDFADDL | Floating-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, LDFMAXL | Floating-point atomic maximum in memory |
| LDFMAXNM, LDFMAXNMA, LDFMAXNMAL, LDFMAXNML | Floating-point atomic maximum number in memory |
| LDFMIN, LDFMINA, LDFMINAL, LDFMINL | Floating-point atomic minimum in memory |
| LDFMINNM, LDFMINNMA, LDFMINNMAL, LDFMINNML | Floating-point atomic minimum number in memory |
| LDG | Load Allocation Tag |
| LDGM | Load tag multiple |
| LDIAPP | Load-Acquire RCpc ordered pair of registers |
| LDLAR | Load LOAcquire register |
| LDLARB | Load LOAcquire register byte |
| LDLARH | Load LOAcquire register halfword |
| LDNF1B | Contiguous load non-fault unsigned bytes to vector (immediate index) |
| LDNF1D | Contiguous load non-fault doublewords to vector (immediate index) |
| LDNF1H | Contiguous load non-fault unsigned halfwords to vector (immediate index) |
| LDNF1SB | Contiguous load non-fault signed bytes to vector (immediate index) |
| LDNF1SH | Contiguous load non-fault signed halfwords to vector (immediate index) |
| LDNF1SW | Contiguous load non-fault signed words to vector (immediate index) |
| LDNF1W | Contiguous load non-fault unsigned words to vector (immediate index) |
| LDNP | Load 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 |
| LDNT1SB | Gather load non-temporal signed bytes |
| LDNT1SH | Gather load non-temporal signed halfwords |
| LDNT1SW | Gather 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 |
| LDP | Load pair of registers |
| LDP (SIMD&FP) | Load pair of SIMD&FP registers |
| LDPSW | Load 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, LDRAB | Load 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, LDSETL | Atomic bit set on word or doubleword in memory |
| LDSETB, LDSETAB, LDSETALB, LDSETLB | Atomic bit set on byte in memory |
| LDSETH, LDSETAH, LDSETALH, LDSETLH | Atomic bit set on halfword in memory |
| LDSETP, LDSETPA, LDSETPAL, LDSETPL | Atomic bit set on quadword in memory |
| LDSMAX, LDSMAXA, LDSMAXAL, LDSMAXL | Atomic signed maximum on word or doubleword in memory |
| LDSMAXB, LDSMAXAB, LDSMAXALB, LDSMAXLB | Atomic signed maximum on byte in memory |
| LDSMAXH, LDSMAXAH, LDSMAXALH, LDSMAXLH | Atomic signed maximum on halfword in memory |
| LDSMIN, LDSMINA, LDSMINAL, LDSMINL | Atomic signed minimum on word or doubleword in memory |
| LDSMINB, LDSMINAB, LDSMINALB, LDSMINLB | Atomic signed minimum on byte in memory |
| LDSMINH, LDSMINAH, LDSMINALH, LDSMINLH | Atomic signed minimum on halfword in memory |
| LDTADD, LDTADDA, LDTADDAL, LDTADDL | Atomic add unprivileged |
| LDTCLR, LDTCLRA, LDTCLRAL, LDTCLRL | Atomic bit clear unprivileged |
| LDTNP | Load unprivileged pair of registers, with non-temporal hint |
| LDTNP (SIMD&FP) | Load unprivileged pair of SIMD&FP registers, with non-temporal hint |
| LDTP | Load unprivileged pair of registers |
| LDTP (SIMD&FP) | Load unprivileged pair of SIMD&FP registers |
| LDTR | Load register (unprivileged) |
| LDTRB | Load register byte (unprivileged) |
| LDTRH | Load register halfword (unprivileged) |
| LDTRSB | Load register signed byte (unprivileged) |
| LDTRSH | Load register signed halfword (unprivileged) |
| LDTRSW | Load register signed word (unprivileged) |
| LDTSET, LDTSETA, LDTSETAL, LDTSETL | Atomic bit set unprivileged |
| LDTXR | Load unprivileged exclusive register |
| LDUMAX, LDUMAXA, LDUMAXAL, LDUMAXL | Atomic unsigned maximum on word or doubleword in memory |
| LDUMAXB, LDUMAXAB, LDUMAXALB, LDUMAXLB | Atomic unsigned maximum on byte in memory |
| LDUMAXH, LDUMAXAH, LDUMAXALH, LDUMAXLH | Atomic unsigned maximum on halfword in memory |
| LDUMIN, LDUMINA, LDUMINAL, LDUMINL | Atomic unsigned minimum on word or doubleword in memory |
| LDUMINB, LDUMINAB, LDUMINALB, LDUMINLB | Atomic unsigned minimum on byte in memory |
| LDUMINH, LDUMINAH, LDUMINALH, LDUMINLH | Atomic unsigned minimum on halfword in memory |
| LDUR | Load register (unscaled) |
| LDUR (SIMD&FP) | Load SIMD&FP register (unscaled offset) |
| LDURB | Load register byte (unscaled) |
| LDURH | Load register halfword (unscaled) |
| LDURSB | Load register signed byte (unscaled) |
| LDURSH | Load register signed halfword (unscaled) |
| LDURSW | Load register signed word (unscaled) |
| LDXP | Load exclusive pair of registers |
| LDXR | Load exclusive register |
| LDXRB | Load exclusive register byte |
| LDXRH | Load 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) |
| LSLR | Reversed logical shift left by vector (predicated) |
| LSLV | Logical 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) |
| LSRR | Reversed logical shift right by vector (predicated) |
| LSRV | Logical shift right variable |
| LUTI2 | Lookup 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) |
| LUTI4 | Lookup 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) |
| MAD | Multiply-add vectors (predicated), writing multiplicand [Zdn = Za + Zdn * Zm] |
| MADD | Multiply-add |
| MADDPT | Multiply-add checked pointer |
| MADPT | Multiply-add checked pointer vectors, writing multiplicand [Zdn = Za + Zdn * Zm] |
| MATCH | Detect 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] |
| MLAPT | Multiply-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] |
| MNEG | Multiply-negate |
| MOV | Move logical bitmask immediate to vector (unpredicated) |
| MOV | Move 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 |
| MOVI | Move immediate (vector) |
| MOVK | Move wide with keep |
| MOVN | Move 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 |
| MOVZ | Move wide with zero |
| MRRS | Move System register to two adjacent general-purpose registers |
| MRS | Move System register to general-purpose register |
| MSB | Multiply-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 |
| MSRR | Move two adjacent general-purpose registers to System register |
| MSUB | Multiply-subtract |
| MSUBPT | Multiply-subtract checked pointer |
| MUL | Multiply |
| 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) |
| MVN | Bitwise NOT (vector) |
| MVN | Bitwise NOT |
| MVNI | Move inverted immediate (vector) |
| NAND | Bitwise NAND predicates |
| NANDS | Bitwise NAND predicates, setting the condition flags |
| NBSL | Bitwise inverted select |
| NEG | Negate (predicated) |
| NEG (shifted register) | Negate (shifted register) |
| NEG (vector) | Negate (vector) |
| NEGS | Negate, setting flags |
| NGC | Negate with carry |
| NGCS | Negate with carry, setting flags |
| NMATCH | Detect no matching elements, setting the condition flags |
| NOP | No operation |
| NOR | Bitwise NOR predicates |
| NORS | Bitwise NOR predicates, setting the condition flags |
| NOT | Bitwise NOT (vector) |
| NOT (predicate) | Bitwise invert predicate |
| NOT (vector) | Bitwise invert vector (predicated) |
| NOTS | Bitwise 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) |
| ORNS | Bitwise inclusive OR inverted predicate, setting the condition flags |
| ORQV | Bitwise 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) |
| ORRS | Bitwise inclusive OR predicates, setting the condition flags |
| ORV | Bitwise inclusive OR reduction to scalar |
| PACDA, PACDZA | Pointer Authentication Code for data address, using key A |
| PACDB, PACDZB | Pointer Authentication Code for data address, using key B |
| PACGA | Pointer Authentication Code, using generic key |
| PACIA, PACIA1716, PACIASP, PACIAZ, PACIZA | Pointer Authentication Code for instruction address, using key A |
| PACIA171615 | Pointer Authentication Code for instruction address, using key A |
| PACIASPPC | Pointer Authentication Code for return address, using key A |
| PACIB, PACIB1716, PACIBSP, PACIBZ, PACIZB | Pointer Authentication Code for instruction address, using key B |
| PACIB171615 | Pointer Authentication Code for instruction address, using key B |
| PACIBSPPC | Pointer Authentication Code for return address, using key B |
| PACM | Pointer authentication modifier |
| PACNBIASPPC | Pointer Authentication Code for return address, using key A, not a branch target |
| PACNBIBSPPC | Pointer 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 |
| PFALSE | Set all predicate elements to false |
| PFIRST | Set the first active predicate element to true |
| PMLAL | Multi-vector polynomial multiply long and accumulate vectors |
| PMOV (to predicate) | Move predicate from vector |
| PMOV (to vector) | Move predicate to vector |
| PMUL | Polynomial multiply |
| PMUL | Polynomial multiply vectors (unpredicated) |
| PMULL | Multi-vector polynomial multiply long |
| PMULL, PMULL2 | Polynomial multiply long |
| PMULLB | Polynomial multiply long (bottom) |
| PMULLT | Polynomial multiply long (top) |
| PNEXT | Find 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) |
| PRFUM | Prefetch 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) |
| PSB | Profiling synchronization barrier |
| PSEL | Predicate select between predicate register or all-false |
| PSSBB | Physical speculative store bypass barrier |
| PTEST | Set condition flags for predicate |
| PTRUE (predicate as counter) | Initialise predicate-as-counter to all active |
| PTRUE (predicate) | Initialise predicate from named constraint |
| PTRUES | Initialise predicate from named constraint and set the condition flags |
| PUNPKHI, PUNPKLO | Unpack and widen half of predicate |
| RADDHN, RADDHN2 | Rounding add returning high narrow |
| RADDHNB | Rounding add narrow high part (bottom) |
| RADDHNT | Rounding add narrow high part (top) |
| RAX1 | Bitwise rotate left by 1 and exclusive-OR |
| RAX1 | Rotate and exclusive-OR |
| RBIT | Reverse bits (predicated) |
| RBIT | Reverse bits |
| RBIT (vector) | Reverse bit order (vector) |
| RCWCAS, RCWCASA, RCWCASAL, RCWCASL | Read check write compare and swap doubleword in memory |
| RCWCASP, RCWCASPA, RCWCASPAL, RCWCASPL | Read check write compare and swap quadword in memory |
| RCWCLR, RCWCLRA, RCWCLRAL, RCWCLRL | Read check write atomic bit clear on doubleword in memory |
| RCWCLRP, RCWCLRPA, RCWCLRPAL, RCWCLRPL | Read check write atomic bit clear on quadword in memory |
| RCWSCAS, RCWSCASA, RCWSCASAL, RCWSCASL | Read check write software compare and swap doubleword in memory |
| RCWSCASP, RCWSCASPA, RCWSCASPAL, RCWSCASPL | Read check write software compare and swap quadword in memory |
| RCWSCLR, RCWSCLRA, RCWSCLRAL, RCWSCLRL | Read check write software atomic bit clear on doubleword in memory |
| RCWSCLRP, RCWSCLRPA, RCWSCLRPAL, RCWSCLRPL | Read check write software atomic bit clear on quadword in memory |
| RCWSET, RCWSETA, RCWSETAL, RCWSETL | Read check write atomic bit set on doubleword in memory |
| RCWSETP, RCWSETPA, RCWSETPAL, RCWSETPL | Read check write atomic bit set on quadword in memory |
| RCWSSET, RCWSSETA, RCWSSETAL, RCWSSETL | Read check write software atomic bit set on doubleword in memory |
| RCWSSETP, RCWSSETPA, RCWSSETPAL, RCWSSETPL | Read check write software atomic bit set on quadword in memory |
| RCWSSWP, RCWSSWPA, RCWSSWPAL, RCWSSWPL | Read check write software swap doubleword in memory |
| RCWSSWPP, RCWSSWPPA, RCWSSWPPAL, RCWSSWPPL | Read check write software swap quadword in memory |
| RCWSWP, RCWSWPA, RCWSWPAL, RCWSWPL | Read check write swap doubleword in memory |
| RCWSWPP, RCWSWPPA, RCWSWPPAL, RCWSWPPL | Read check write swap quadword in memory |
| RDFFR (predicated) | Return predicate of succesfully loaded elements |
| RDFFR (unpredicated) | Read the first-fault register |
| RDFFRS | Return predicate of succesfully loaded elements, setting the condition flags |
| RDSVL | Read multiple of Streaming SVE vector register size to scalar register |
| RDVL | Read multiple of vector register size to scalar register |
| RET | Return from subroutine |
| RETAA, RETAB | Return from subroutine, with pointer authentication |
| RETAASPPC, RETABSPPC | Return from subroutine, with enhanced pointer authentication using an immediate offset |
| RETAASPPCR, RETABSPPCR | Return from subroutine, with enhanced pointer authentication using a register |
| REV | Reverse bytes |
| REV (predicate) | Reverse all elements in a predicate |
| REV (vector) | Reverse all elements in a vector (unpredicated) |
| REV16 | Reverse bytes in 16-bit halfwords |
| REV16 (vector) | Reverse elements in 16-bit halfwords (vector) |
| REV32 | Reverse bytes in 32-bit words |
| REV32 (vector) | Reverse elements in 32-bit words (vector) |
| REV64 | Reverse elements in 64-bit doublewords (vector) |
| REV64 | Reverse bytes |
| REVB, REVH, REVW | Reverse bytes / halfwords / words within elements (predicated) |
| REVD | Reverse 64-bit doublewords in elements (predicated) |
| RMIF | Rotate, mask insert flags |
| ROR (immediate) | Rotate right (immediate) |
| ROR (register) | Rotate right (register) |
| RORV | Rotate right variable |
| RPRFM | Range prefetch memory |
| RSHRN, RSHRN2 | Rounding shift right narrow (immediate) |
| RSHRNB | Rounding shift right narrow by immediate (bottom) |
| RSHRNT | Rounding shift right narrow by immediate (top) |
| RSUBHN, RSUBHN2 | Rounding subtract returning high narrow |
| RSUBHNB | Rounding subtract narrow high part (bottom) |
| RSUBHNT | Rounding subtract narrow high part (top) |
| SABA | Signed absolute difference and accumulate |
| SABA | Signed absolute difference and accumulate |
| SABAL, SABAL2 | Signed absolute difference and accumulate long |
| SABALB | Signed absolute difference and accumulate long (bottom) |
| SABALT | Signed absolute difference and accumulate long (top) |
| SABD | Signed absolute difference (predicated) |
| SABD | Signed absolute difference |
| SABDL, SABDL2 | Signed absolute difference long |
| SABDLB | Signed absolute difference long (bottom) |
| SABDLT | Signed absolute difference long (top) |
| SADALP | Signed add and accumulate long pairwise |
| SADALP | Signed add and accumulate long pairwise |
| SADDL, SADDL2 | Signed add long (vector) |
| SADDLB | Signed add long (bottom) |
| SADDLBT | Signed add long (bottom + top) |
| SADDLP | Signed add long pairwise |
| SADDLT | Signed add long (top) |
| SADDLV | Signed add long across vector |
| SADDV | Signed add reduction to scalar |
| SADDW, SADDW2 | Signed add wide |
| SADDWB | Signed add wide (bottom) |
| SADDWT | Signed add wide (top) |
| SB | Speculation barrier |
| SBC | Subtract with carry |
| SBCLB | Subtract with carry long (bottom) |
| SBCLT | Subtract with carry long (top) |
| SBCS | Subtract with carry, setting flags |
| SBFIZ | Signed bitfield insert in zeros |
| SBFM | Signed bitfield move |
| SBFX | Signed bitfield extract |
| SCLAMP | Multi-vector signed clamp to minimum/maximum vector |
| SCLAMP | Signed clamp to minimum/maximum vector |
| SCVTF | Multi-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) |
| SDIV | Signed divide (predicated) |
| SDIV | Signed divide |
| SDIVR | Signed 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) |
| SEL | Multi-vector conditionally select elements from two vectors |
| SEL (predicates) | Conditionally select elements from two predicates |
| SEL (vectors) | Conditionally select elements from two vectors |
| SETF8, SETF16 | Evaluation of 8-bit or 16-bit flag values |
| SETFFR | Initialise the first-fault register to all true |
| SETGP, SETGM, SETGE | Memory set with tag setting |
| SETGPN, SETGMN, SETGEN | Memory set with tag setting, non-temporal |
| SETGPT, SETGMT, SETGET | Memory set with tag setting, unprivileged |
| SETGPTN, SETGMTN, SETGETN | Memory set with tag setting, unprivileged and non-temporal |
| SETP, SETM, SETE | Memory set |
| SETPN, SETMN, SETEN | Memory set, non-temporal |
| SETPT, SETMT, SETET | Memory set, unprivileged |
| SETPTN, SETMTN, SETETN | Memory set, unprivileged and non-temporal |
| SEV | Send event |
| SEVL | Send event local |
| SHA1C | SHA1 hash update (choose) |
| SHA1H | SHA1 fixed rotate |
| SHA1M | SHA1 hash update (majority) |
| SHA1P | SHA1 hash update (parity) |
| SHA1SU0 | SHA1 schedule update 0 |
| SHA1SU1 | SHA1 schedule update 1 |
| SHA256H | SHA256 hash update (part 1) |
| SHA256H2 | SHA256 hash update (part 2) |
| SHA256SU0 | SHA256 schedule update 0 |
| SHA256SU1 | SHA256 schedule update 1 |
| SHA512H | SHA512 hash update part 1 |
| SHA512H2 | SHA512 hash update part 2 |
| SHA512SU0 | SHA512 schedule update 0 |
| SHA512SU1 | SHA512 schedule update 1 |
| SHADD | Signed halving add |
| SHADD | Signed halving addition |
| Shared Pseudocode Functions | |
| SHL | Shift left (immediate) |
| SHLL, SHLL2 | Shift left long (by element size) |
| SHRN, SHRN2 | Shift right narrow (immediate) |
| SHRNB | Shift right narrow by immediate (bottom) |
| SHRNT | Shift right narrow by immediate (top) |
| SHSUB | Signed halving subtract |
| SHSUB | Signed halving subtract |
| SHSUBR | Signed halving subtract reversed vectors |
| SLI | Shift left and insert (immediate) |
| SLI | Shift left and insert (immediate) |
| SM3PARTW1 | SM3PARTW1 |
| SM3PARTW2 | SM3PARTW2 |
| SM3SS1 | SM3SS1 |
| SM3TT1A | SM3TT1A |
| SM3TT1B | SM3TT1B |
| SM3TT2A | SM3TT2A |
| SM3TT2B | SM3TT2B |
| SM4E | SM4 encode |
| SM4E | SM4 encryption and decryption |
| SM4EKEY | SM4 key |
| SM4EKEY | SM4 key updates |
| SMADDL | Signed multiply-add long |
| SMAX | Signed 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) |
| SMAXP | Signed maximum pairwise |
| SMAXP | Signed maximum pairwise |
| SMAXQV | Signed maximum reduction of quadword vector segments |
| SMAXV | Signed maximum across vector |
| SMAXV | Signed maximum reduction to scalar |
| SMC | Secure monitor call |
| SMIN | Signed 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) |
| SMINP | Signed minimum pairwise |
| SMINP | Signed minimum pairwise |
| SMINQV | Signed minimum reduction of quadword vector segments |
| SMINV | Signed minimum reduction to scalar |
| SMINV | Signed 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) |
| SMMLA | Signed 8-bit integer matrix multiply-accumulate to 32-bit integer |
| SMMLA (vector) | Signed 8-bit integer matrix multiply-accumulate (vector) |
| SMNEGL | Signed 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 |
| SMOV | Signed move vector element to general-purpose register |
| SMSTART | Enables access to Streaming SVE mode and SME architectural state |
| SMSTOP | Disables access to Streaming SVE mode and SME architectural state |
| SMSUBL | Signed multiply-subtract long |
| SMULH | Signed multiply high |
| SMULH (predicated) | Signed multiply returning high half (predicated) |
| SMULH (unpredicated) | Signed multiply returning high half (unpredicated) |
| SMULL | Signed 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) |
| SPLICE | Splice two vectors under predicate control |
| SQABS | Signed saturating absolute value |
| SQABS | Signed saturating absolute value |
| SQADD | Signed saturating add |
| SQADD (immediate) | Signed saturating add immediate (unpredicated) |
| SQADD (vectors, predicated) | Signed saturating addition (predicated) |
| SQADD (vectors, unpredicated) | Signed saturating add vectors (unpredicated) |
| SQCADD | Saturating complex integer add with rotate |
| SQCVT (four registers) | Multi-vector signed saturating extract narrow |
| SQCVT (two registers) | Multi-vector signed saturating extract narrow |
| SQCVTN | Multi-vector signed saturating extract narrow and interleave |
| SQCVTN | Signed 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 |
| SQCVTUN | Signed 32-bit integer saturating unsigned extract narrow and interleave to 16-bit integer |
| SQCVTUN | Multi-vector signed saturating unsigned extract narrow and interleave |
| SQDECB | Signed 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) |
| SQDMLALBT | Signed 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) |
| SQDMLSLBT | Signed 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) |
| SQINCB | Signed 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 |
| SQNEG | Signed saturating negate |
| SQNEG | Signed 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) |
| SQRSHL | Signed saturating rounding shift left by vector (predicated) |
| SQRSHL | Signed saturating rounding shift left (register) |
| SQRSHLR | Signed 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 |
| SQRSHRN | Multi-vector signed saturating rounding shift right narrow by immediate and interleave |
| SQRSHRN | Signed saturating rounding shift right narrow by immediate and interleave |
| SQRSHRN, SQRSHRN2 | Signed saturating rounded shift right narrow (immediate) |
| SQRSHRNB | Signed saturating rounding shift right narrow by immediate (bottom) |
| SQRSHRNT | Signed 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 |
| SQRSHRUN | Signed saturating rounding shift right unsigned narrow by immediate and interleave |
| SQRSHRUN | Multi-vector signed saturating rounding shift right unsigned narrow by immediate and interleave |
| SQRSHRUN, SQRSHRUN2 | Signed saturating rounded shift right unsigned narrow (immediate) |
| SQRSHRUNB | Signed saturating rounding shift right unsigned narrow by immediate (bottom) |
| SQRSHRUNT | Signed 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) |
| SQSHLR | Signed saturating shift left reversed vectors (predicated) |
| SQSHLU | Signed saturating shift left unsigned (immediate) |
| SQSHLU | Signed saturating shift left unsigned by immediate |
| SQSHRN, SQSHRN2 | Signed saturating shift right narrow (immediate) |
| SQSHRNB | Signed saturating shift right narrow by immediate (bottom) |
| SQSHRNT | Signed saturating shift right narrow by immediate (top) |
| SQSHRUN, SQSHRUN2 | Signed saturating shift right unsigned narrow (immediate) |
| SQSHRUNB | Signed saturating shift right unsigned narrow by immediate (bottom) |
| SQSHRUNT | Signed saturating shift right unsigned narrow by immediate (top) |
| SQSUB | Signed saturating subtract |
| SQSUB (immediate) | Signed saturating subtract immediate (unpredicated) |
| SQSUB (vectors, predicated) | Signed saturating subtraction (predicated) |
| SQSUB (vectors, unpredicated) | Signed saturating subtract vectors (unpredicated) |
| SQSUBR | Signed saturating subtraction reversed vectors (predicated) |
| SQXTN, SQXTN2 | Signed saturating extract narrow |
| SQXTNB | Signed saturating extract narrow (bottom) |
| SQXTNT | Signed saturating extract narrow (top) |
| SQXTUN, SQXTUN2 | Signed saturating extract unsigned narrow |
| SQXTUNB | Signed saturating unsigned extract narrow (bottom) |
| SQXTUNT | Signed saturating unsigned extract narrow (top) |
| SRHADD | Signed rounding halving addition |
| SRHADD | Signed rounding halving add |
| SRI | Shift right and insert (immediate) |
| SRI | Shift right and insert (immediate) |
| SRSHL | Signed rounding shift left by vector (predicated) |
| SRSHL | Signed 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 |
| SRSHLR | Signed rounding shift left reversed vectors (predicated) |
| SRSHR | Signed rounding shift right (immediate) |
| SRSHR | Signed rounding shift right by immediate |
| SRSRA | Signed rounding shift right and accumulate (immediate) |
| SRSRA | Signed rounding shift right and accumulate (immediate) |
| SSBB | Speculative store bypass barrier |
| SSHL | Signed shift left (register) |
| SSHLL, SSHLL2 | Signed shift left long (immediate) |
| SSHLLB | Signed shift left long by immediate (bottom) |
| SSHLLT | Signed shift left long by immediate (top) |
| SSHR | Signed shift right (immediate) |
| SSRA | Signed shift right and accumulate (immediate) |
| SSRA | Signed shift right and accumulate (immediate) |
| SSUBL, SSUBL2 | Signed subtract long |
| SSUBLB | Signed subtract long (bottom) |
| SSUBLBT | Signed subtract long (bottom - top) |
| SSUBLT | Signed subtract long (top) |
| SSUBLTB | Signed subtract long (top - bottom) |
| SSUBW, SSUBW2 | Signed subtract wide |
| SSUBWB | Signed subtract wide (bottom) |
| SSUBWT | Signed 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) |
| ST1Q | Scatter store quadwords |
| ST1Q | Contiguous 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) |
| ST2G | Store 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) |
| ST64B | Single-copy atomic 64-byte store without status result |
| ST64BV | Single-copy atomic 64-byte store with status result |
| ST64BV0 | Single-copy atomic 64-byte EL0 store with status result |
| STADD, STADDL | Atomic add on word or doubleword in memory, without return |
| STADDB, STADDLB | Atomic add on byte in memory, without return |
| STADDH, STADDLH | Atomic add on halfword in memory, without return |
| STBFADD, STBFADDL | BFloat16 floating-point atomic add in memory, without return |
| STBFMAX, STBFMAXL | BFloat16 floating-point atomic maximum in memory, without return |
| STBFMAXNM, STBFMAXNML | BFloat16 floating-point atomic maximum number in memory, without return |
| STBFMIN, STBFMINL | BFloat16 floating-point atomic minimum in memory, without return |
| STBFMINNM, STBFMINNML | BFloat16 floating-point atomic minimum number in memory, without return |
| STCLR, STCLRL | Atomic bit clear on word or doubleword in memory, without return |
| STCLRB, STCLRLB | Atomic bit clear on byte in memory, without return |
| STCLRH, STCLRLH | Atomic bit clear on halfword in memory, without return |
| STEOR, STEORL | Atomic exclusive-OR on word or doubleword in memory, without return |
| STEORB, STEORLB | Atomic exclusive-OR on byte in memory, without return |
| STEORH, STEORLH | Atomic exclusive-OR on halfword in memory, without return |
| STFADD, STFADDL | Floating-point atomic add in memory, without return |
| STFMAX, STFMAXL | Floating-point atomic maximum in memory, without return |
| STFMAXNM, STFMAXNML | Floating-point atomic maximum number in memory, without return |
| STFMIN, STFMINL | Floating-point atomic minimum in memory, without return |
| STFMINNM, STFMINNML | Floating-point atomic minimum number in memory, without return |
| STG | Store Allocation Tag |
| STGM | Store Allocation Tag multiple |
| STGP | Store Allocation Tag and pair of registers |
| STILP | Store-release ordered pair of registers |
| STL1 (SIMD&FP) | Store-release a single-element structure from one lane of one register |
| STLLR | Store LORelease register |
| STLLRB | Store LORelease register byte |
| STLLRH | Store LORelease register halfword |
| STLR | Store-release register |
| STLRB | Store-release register byte |
| STLRH | Store-release register halfword |
| STLTXR | Store-release unprivileged exclusive register |
| STLUR | Store-release register (unscaled) |
| STLUR (SIMD&FP) | Store-release SIMD&FP register (unscaled offset) |
| STLURB | Store-release register byte (unscaled) |
| STLURH | Store-release register halfword (unscaled) |
| STLXP | Store-release exclusive pair of registers |
| STLXR | Store-release exclusive register |
| STLXRB | Store-release exclusive register byte |
| STLXRH | Store-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 |
| STNP | Store 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 |
| STP | Store 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, STSETL | Atomic bit set on word or doubleword in memory, without return |
| STSETB, STSETLB | Atomic bit set on byte in memory, without return |
| STSETH, STSETLH | Atomic bit set on halfword in memory, without return |
| STSHH | Store shared hint |
| STSMAX, STSMAXL | Atomic signed maximum on word or doubleword in memory, without return |
| STSMAXB, STSMAXLB | Atomic signed maximum on byte in memory, without return |
| STSMAXH, STSMAXLH | Atomic signed maximum on halfword in memory, without return |
| STSMIN, STSMINL | Atomic signed minimum on word or doubleword in memory, without return |
| STSMINB, STSMINLB | Atomic signed minimum on byte in memory, without return |
| STSMINH, STSMINLH | Atomic signed minimum on halfword in memory, without return |
| STTADD, STTADDL | Atomic add unprivileged, without return |
| STTCLR, STTCLRL | Atomic bit clear unprivileged, without return |
| STTNP | Store unprivileged pair of registers, with non-temporal hint |
| STTNP (SIMD&FP) | Store unprivileged pair of SIMD&FP registers, with non-temporal hint |
| STTP | Store unprivileged pair of registers |
| STTP (SIMD&FP) | Store unprivileged pair of SIMD&FP registers |
| STTR | Store register (unprivileged) |
| STTRB | Store register byte (unprivileged) |
| STTRH | Store register halfword (unprivileged) |
| STTSET, STTSETL | Atomic bit set unprivileged, without return |
| STTXR | Store unprivileged exclusive register |
| STUMAX, STUMAXL | Atomic unsigned maximum on word or doubleword in memory, without return |
| STUMAXB, STUMAXLB | Atomic unsigned maximum on byte in memory, without return |
| STUMAXH, STUMAXLH | Atomic unsigned maximum on halfword in memory, without return |
| STUMIN, STUMINL | Atomic unsigned minimum on word or doubleword in memory, without return |
| STUMINB, STUMINLB | Atomic unsigned minimum on byte in memory, without return |
| STUMINH, STUMINLH | Atomic unsigned minimum on halfword in memory, without return |
| STUR | Store register (unscaled) |
| STUR (SIMD&FP) | Store SIMD&FP register (unscaled offset) |
| STURB | Store register byte (unscaled) |
| STURH | Store register halfword (unscaled) |
| STXP | Store exclusive pair of registers |
| STXR | Store exclusive register |
| STXRB | Store exclusive register byte |
| STXRH | Store exclusive register halfword |
| STZ2G | Store Allocation Tags, zeroing |
| STZG | Store Allocation Tag, zeroing |
| STZGM | Store 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) |
| SUBG | Subtract with tag |
| SUBHN, SUBHN2 | Subtract returning high narrow |
| SUBHNB | Subtract narrow high part (bottom) |
| SUBHNT | Subtract narrow high part (top) |
| SUBP | Subtract pointer |
| SUBPS | Subtract pointer, setting flags |
| SUBPT | Subtract 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 |
| SUDOT | Signed 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 |
| SUMOP4A | Signed by unsigned integer quarter-tile sums of four outer products, accumulating |
| SUMOP4S | Signed by unsigned integer quarter-tile sums of four outer products, subtracting |
| SUMOPA (4-way) | Signed by unsigned integer sum of outer products and accumulate |
| SUMOPS | Signed by unsigned integer sum of outer products and subtract |
| SUNPK | Unpack and sign-extend multi-vector elements |
| SUNPKHI, SUNPKLO | Signed unpack and extend half of vector |
| SUQADD | Signed saturating addition of unsigned value |
| SUQADD | Signed saturating accumulate of unsigned value |
| SUTMOPA | Signed by unsigned integer sparse sum of four outer products, accumulating |
| SUVDOT | Multi-vector signed by unsigned integer vertical dot-product by indexed element |
| SVC | Supervisor 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, SWPL | Swap word or doubleword in memory |
| SWPB, SWPAB, SWPALB, SWPLB | Swap byte in memory |
| SWPH, SWPAH, SWPALH, SWPLH | Swap halfword in memory |
| SWPP, SWPPA, SWPPAL, SWPPL | Swap quadword in memory |
| SWPT, SWPTA, SWPTAL, SWPTL | Swap unprivileged |
| SXTB | Signed extend byte |
| SXTB, SXTH, SXTW | Signed byte / halfword / word extend (predicated) |
| SXTH | Sign extend halfword |
| SXTL, SXTL2 | Signed extend long |
| SXTW | Sign extend word |
| SYS | System instruction |
| SYSL | System instruction with result |
| SYSP | 128-bit system instruction |
| TBL | Table vector lookup |
| TBL | Programmable table lookup in one or two vector table (zeroing) |
| TBLQ | Programmable table lookup within each quadword vector segment (zeroing) |
| TBNZ | Test bit and branch if nonzero |
| TBX | Programmable table lookup in single vector table (merging) |
| TBX | Table vector lookup extension |
| TBXQ | Programmable table lookup within each quadword vector segment (merging) |
| TBZ | Test bit and branch if zero |
| TCANCEL | Cancel current transaction |
| TCOMMIT | Commit current transaction |
| TLBI | TLB invalidate operation |
| TLBIP | TLB invalidate pair operation |
| TRCIT | Trace instrumentation |
| TRN1 | Transpose vectors (primary) |
| TRN1, TRN2 (predicates) | Interleave even or odd elements from two predicates |
| TRN1, TRN2 (vectors) | Interleave even or odd elements from two vectors |
| TRN2 | Transpose vectors (secondary) |
| TSB | Trace synchronization barrier |
| TST (immediate) | Test bits (immediate) |
| TST (shifted register) | Test (shifted register) |
| TSTART | Start transaction |
| TTEST | Test transaction state |
| UABA | Unsigned absolute difference and accumulate |
| UABA | Unsigned absolute difference and accumulate |
| UABAL, UABAL2 | Unsigned absolute difference and accumulate long |
| UABALB | Unsigned absolute difference and accumulate long (bottom) |
| UABALT | Unsigned absolute difference and accumulate long (top) |
| UABD | Unsigned absolute difference (vector) |
| UABD | Unsigned absolute difference (predicated) |
| UABDL, UABDL2 | Unsigned absolute difference long |
| UABDLB | Unsigned absolute difference long (bottom) |
| UABDLT | Unsigned absolute difference long (top) |
| UADALP | Unsigned add and accumulate long pairwise |
| UADALP | Unsigned add and accumulate long pairwise |
| UADDL, UADDL2 | Unsigned add long (vector) |
| UADDLB | Unsigned add long (bottom) |
| UADDLP | Unsigned add long pairwise |
| UADDLT | Unsigned add long (top) |
| UADDLV | Unsigned sum long across vector |
| UADDV | Unsigned add reduction to scalar |
| UADDW, UADDW2 | Unsigned add wide |
| UADDWB | Unsigned add wide (bottom) |
| UADDWT | Unsigned add wide (top) |
| UBFIZ | Unsigned bitfield insert in zeros |
| UBFM | Unsigned bitfield move |
| UBFX | Unsigned bitfield extract |
| UCLAMP | Unsigned clamp to minimum/maximum vector |
| UCLAMP | Multi-vector unsigned clamp to minimum/maximum vector |
| UCVTF | Multi-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) |
| UDF | Permanently undefined |
| UDIV | Unsigned divide (predicated) |
| UDIV | Unsigned divide |
| UDIVR | Unsigned 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) |
| UHADD | Unsigned halving addition |
| UHADD | Unsigned halving add |
| UHSUB | Unsigned halving subtract |
| UHSUB | Unsigned halving subtract |
| UHSUBR | Unsigned halving subtract reversed vectors |
| UMADDL | Unsigned multiply-add long |
| UMAX | Unsigned 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) |
| UMAXP | Unsigned maximum pairwise |
| UMAXP | Unsigned maximum pairwise |
| UMAXQV | Unsigned maximum reduction of quadword vector segments |
| UMAXV | Unsigned maximum reduction to scalar |
| UMAXV | Unsigned maximum across vector |
| UMIN | Unsigned 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) |
| UMINP | Unsigned minimum pairwise |
| UMINP | Unsigned minimum pairwise |
| UMINQV | Unsigned minimum reduction of quadword vector segments |
| UMINV | Unsigned minimum across vector |
| UMINV | Unsigned 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) |
| UMMLA | Unsigned 8-bit integer matrix multiply-accumulate to 32-bit integer |
| UMMLA (vector) | Unsigned 8-bit integer matrix multiply-accumulate (vector) |
| UMNEGL | Unsigned 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 |
| UMOV | Unsigned move vector element to general-purpose register |
| UMSUBL | Unsigned multiply-subtract long |
| UMULH | Unsigned multiply high |
| UMULH (predicated) | Unsigned multiply returning high half (predicated) |
| UMULH (unpredicated) | Unsigned multiply returning high half (unpredicated) |
| UMULL | Unsigned 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) |
| UQADD | Unsigned 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 |
| UQCVTN | Unsigned 32-bit integer saturating extract narrow and interleave to 16-bit integer |
| UQCVTN | Multi-vector unsigned saturating extract narrow and interleave |
| UQDECB | Unsigned 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 |
| UQINCB | Unsigned 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 |
| UQRSHL | Unsigned saturating rounding shift left by vector (predicated) |
| UQRSHL | Unsigned saturating rounding shift left (register) |
| UQRSHLR | Unsigned 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 |
| UQRSHRN | Multi-vector unsigned saturating rounding shift right narrow by immediate and interleave |
| UQRSHRN | Unsigned saturating rounding shift right narrow by immediate and interleave |
| UQRSHRN, UQRSHRN2 | Unsigned saturating rounded shift right narrow (immediate) |
| UQRSHRNB | Unsigned saturating rounding shift right narrow by immediate (bottom) |
| UQRSHRNT | Unsigned 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) |
| UQSHLR | Unsigned saturating shift left reversed vectors (predicated) |
| UQSHRN, UQSHRN2 | Unsigned saturating shift right narrow (immediate) |
| UQSHRNB | Unsigned saturating shift right narrow by immediate (bottom) |
| UQSHRNT | Unsigned saturating shift right narrow by immediate (top) |
| UQSUB | Unsigned saturating subtract |
| UQSUB (immediate) | Unsigned saturating subtract immediate (unpredicated) |
| UQSUB (vectors, predicated) | Unsigned saturating subtraction (predicated) |
| UQSUB (vectors, unpredicated) | Unsigned saturating subtract vectors (unpredicated) |
| UQSUBR | Unsigned saturating subtraction reversed vectors (predicated) |
| UQXTN, UQXTN2 | Unsigned saturating extract narrow |
| UQXTNB | Unsigned saturating extract narrow (bottom) |
| UQXTNT | Unsigned saturating extract narrow (top) |
| URECPE | Unsigned reciprocal estimate |
| URECPE | Unsigned reciprocal estimate (predicated) |
| URHADD | Unsigned rounding halving add |
| URHADD | Unsigned rounding halving addition |
| URSHL | Unsigned rounding shift left by vector (predicated) |
| URSHL | Unsigned 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 |
| URSHLR | Unsigned rounding shift left reversed vectors (predicated) |
| URSHR | Unsigned rounding shift right by immediate |
| URSHR | Unsigned rounding shift right (immediate) |
| URSQRTE | Unsigned reciprocal square root estimate (predicated) |
| URSQRTE | Unsigned reciprocal square root estimate |
| URSRA | Unsigned rounding shift right and accumulate (immediate) |
| URSRA | Unsigned 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 |
| USHL | Unsigned shift left (register) |
| USHLL, USHLL2 | Unsigned shift left long (immediate) |
| USHLLB | Unsigned shift left long by immediate (bottom) |
| USHLLT | Unsigned shift left long by immediate (top) |
| USHR | Unsigned 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 |
| USMMLA | Unsigned by signed 8-bit integer matrix multiply-accumulate to 32-bit integer |
| USMMLA (vector) | Unsigned and signed 8-bit integer matrix multiply-accumulate (vector) |
| USMOP4A | Unsigned by signed integer quarter-tile sums of four outer products, accumulating |
| USMOP4S | Unsigned by signed integer quarter-tile sums of four outer products, subtracting |
| USMOPA (4-way) | Unsigned by signed integer sum of outer products and accumulate |
| USMOPS | Unsigned by signed integer sum of outer products and subtract |
| USQADD | Unsigned saturating addition of signed value |
| USQADD | Unsigned saturating accumulate of signed value |
| USRA | Unsigned shift right and accumulate (immediate) |
| USRA | Unsigned shift right and accumulate (immediate) |
| USTMOPA | Unsigned by signed integer sparse sum of four outer products, accumulating |
| USUBL, USUBL2 | Unsigned subtract long |
| USUBLB | Unsigned subtract long (bottom) |
| USUBLT | Unsigned subtract long (top) |
| USUBW, USUBW2 | Unsigned subtract wide |
| USUBWB | Unsigned subtract wide (bottom) |
| USUBWT | Unsigned subtract wide (top) |
| USVDOT | Multi-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 |
| UUNPK | Unpack and zero-extend multi-vector elements |
| UUNPKHI, UUNPKLO | Unsigned 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 |
| UXTB | Unsigned extend byte |
| UXTB, UXTH, UXTW | Unsigned byte / halfword / word extend (predicated) |
| UXTH | Unsigned extend halfword |
| UXTL, UXTL2 | Unsigned extend long |
| UZP (four registers) | Concatenate elements from four vectors |
| UZP (two registers) | Concatenate elements from two vectors |
| UZP1 | Unzip vectors (primary) |
| UZP1, UZP2 (predicates) | Concatenate even or odd elements from two predicates |
| UZP1, UZP2 (vectors) | Concatenate even or odd elements from two vectors |
| UZP2 | Unzip vectors (secondary) |
| UZPQ1 | Concatenate even elements within each pair of quadword vector segments |
| UZPQ2 | Concatenate odd elements within each pair of quadword vector segments |
| WFE | Wait for event |
| WFET | Wait for event with timeout |
| WFI | Wait for interrupt |
| WFIT | Wait 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 |
| WHILERW | While free of read-after-write conflicts |
| WHILEWR | While free of write-after-read/write conflicts |
| WRFFR | Write the first-fault register |
| XAFLAG | Convert floating-point condition flags from external format to Arm format |
| XAR | Bitwise exclusive-OR and rotate right by immediate |
| XAR | Exclusive-OR and rotate |
| XPACD, XPACI, XPACLRI | Strip Pointer Authentication Code |
| XTN, XTN2 | Extract narrow |
| YIELD | Yield |
| 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 |
| ZIP1 | Zip vectors (primary) |
| ZIP1, ZIP2 (predicates) | Interleave elements from two half predicates |
| ZIP1, ZIP2 (vectors) | Interleave elements from two half vectors |
| ZIP2 | Zip vectors (secondary) |
| ZIPQ1 | Interleave elements from low halves of each pair of quadword vector segments |
| ZIPQ2 | Interleave elements from high halves of each pair of quadword vector segments |