Illustrated A64 SIMD Instruction List: SVE Instructions

SVE | SME (WIP, no diagrams)

This is inspired by and based on the x86/x64 SIMD Instruction List by Daytime.

This is not an official reference, and may contain mistakes. It is intended to make it easier to find instructions, and to provide
an alternative perspective. While writing SVE code, please refer to the
Arm® Exploration Tools,
Arm® ARM, or
Arm® Intrinsics Reference.

Merging and zeroing predication is typically omitted from the diagrams, but it is shown in operations like BRKN and LD1RQB that use the /Z syntax but have unusual semantics.

This is an ongoing project – dark-red links are missing full descriptions, bright-red links are also missing diagrams and instead link to the documentation in the exploration tools.

Report mistakes or send feedback.

Target

Note: this does not support filtering by vector length, so some unavailable operations may appear available even after selecting a preset.

Warning: this allows contradictory and invalid configurations.

SVE Version
SME Version
Mode
Extensions
Presets

none

1.0

2.0

2.1

none

1.0

2.0

2.1

Non-Streaming

Streaming

FEAT_BF16
FEAT_I8MM
FEAT_SVE_AES
FEAT_SVE_BitPerm
FEAT_SVE_PMULL128
FEAT_SVE_SHA3
FEAT_SVE_SM4
FEAT_SVE_B16B16
FEAT_F32MM
FEAT_F64MM

Move

128-bit
64-bit
32-bit
16-bit
8-bit

zip

ZIP1 Z.Q,Z.Q,Z.QZIP1 Zd.Q, Zn.Q, Zm.Q

svzip1q

ZIP2 Z.Q,Z.Q,Z.QZIP2 Zd.Q, Zn.Q, Zm.Q

svzip2q

ZIP1 Z.D,Z.D,Z.DZIP1 Zd.D, Zn.D, Zm.D

svzip1[_{s,u,f}64]

ZIP2 Z.D,Z.D,Z.DZIP2 Zd.D, Zn.D, Zm.D

svzip2[_{s,u,f}64]

ZIPQ1 Z.D,Z.D,Z.DZIPQ1 Zd.D, Zn.D, Zm.D

ZIPQ2 Z.D,Z.D,Z.DZIPQ2 Zd.D, Zn.D, Zm.D

ZIP1 Z.S,Z.S,Z.SZIP1 Zd.S, Zn.S, Zm.S

svzip1[_{s,u,f}32]

ZIP2 Z.S,Z.S,Z.SZIP2 Zd.S, Zn.S, Zm.S

svzip2[_{s,u,f}32]

ZIPQ1 Z.S,Z.S,Z.SZIPQ1 Zd.S, Zn.S, Zm.S

ZIPQ2 Z.S,Z.S,Z.SZIPQ2 Zd.S, Zn.S, Zm.S

ZIP1 Z.H,Z.H,Z.HZIP1 Zd.H, Zn.H, Zm.H

svzip1[_{s,u,f,bf}16]

ZIP2 Z.H,Z.H,Z.HZIP2 Zd.H, Zn.H, Zm.H

svzip2[_{s,u,f,bf}16]

ZIPQ1 Z.H,Z.H,Z.HZIPQ1 Zd.H, Zn.H, Zm.H

ZIPQ2 Z.H,Z.H,Z.HZIPQ2 Zd.H, Zn.H, Zm.H

ZIP1 Z.B,Z.B,Z.BZIP1 Zd.B, Zn.B, Zm.B

svzip1[_{s,u}8]

ZIP2 Z.B,Z.B,Z.BZIP2 Zd.B, Zn.B, Zm.B

svzip2[_{s,u}8]

ZIPQ1 Z.B,Z.B,Z.BZIPQ1 Zd.B, Zn.B, Zm.B

ZIPQ2 Z.B,Z.B,Z.BZIPQ2 Zd.B, Zn.B, Zm.B

unzip

UZP1 Z.Q,Z.Q,Z.QUZP1 Zd.Q, Zn.Q, Zm.Q

svuzp1q

UZP2 Z.Q,Z.Q,Z.QUZP2 Zd.Q, Zn.Q, Zm.Q

svuzp2q

UZP1 Z.D,Z.D,Z.DUZP1 Zd.D, Zn.D, Zm.D

svuzp1[_{s,u,f}64]

UZP2 Z.D,Z.D,Z.DUZP2 Zd.D, Zn.D, Zm.D

svuzp2[_{s,u,f}64]

UZPQ1 Z.D,Z.D,Z.DUZPQ1 Zd.D, Zn.D, Zm.D

UZPQ2 Z.D,Z.D,Z.DUZPQ2 Zd.D, Zn.D, Zm.D

UZP1 Z.S,Z.S,Z.SUZP1 Zd.S, Zn.S, Zm.S

svuzp1[_{s,u,f}32]

UZP2 Z.S,Z.S,Z.SUZP2 Zd.S, Zn.S, Zm.S

svuzp2[_{s,u,f}32]

UZPQ1 Z.S,Z.S,Z.SUZPQ1 Zd.S, Zn.S, Zm.S

UZPQ2 Z.S,Z.S,Z.SUZPQ2 Zd.S, Zn.S, Zm.S

UZP1 Z.H,Z.H,Z.HUZP1 Zd.H, Zn.H, Zm.H

svuzp1[_{s,u,f,bf}16]

UZP2 Z.H,Z.H,Z.HUZP2 Zd.H, Zn.H, Zm.H

svuzp2[_{s,u,f,bf}16]

UZPQ1 Z.H,Z.H,Z.HUZPQ1 Zd.H, Zn.H, Zm.H

UZPQ2 Z.H,Z.H,Z.HUZPQ2 Zd.H, Zn.H, Zm.H

UZP1 Z.B,Z.B,Z.BUZP1 Zd.B, Zn.B, Zm.B

svuzp1[_{s,u}8]

UZP2 Z.B,Z.B,Z.BUZP2 Zd.B, Zn.B, Zm.B

svuzp2[_{s,u}8]

UZPQ1 Z.B,Z.B,Z.BUZPQ1 Zd.B, Zn.B, Zm.B

UZPQ2 Z.B,Z.B,Z.BUZPQ2 Zd.B, Zn.B, Zm.B

transpose

TRN1 Z.Q,Z.Q,Z.QTRN1 Zd.Q, Zn.Q, Zm.Q

svtrn1q

TRN2 Z.Q,Z.Q,Z.QTRN2 Zd.Q, Zn.Q, Zm.Q

svtrn2q

TRN1 Z.D,Z.D,Z.DTRN1 Zd.D, Zn.D, Zm.D

svtrn1[_{s,u,f}64]

TRN2 Z.D,Z.D,Z.DTRN2 Zd.D, Zn.D, Zm.D

svtrn2[_{s,u,f}64]

TRN1 Z.S,Z.S,Z.STRN1 Zd.S, Zn.S, Zm.S

svtrn1[_{s,u,f}32]

TRN2 Z.S,Z.S,Z.STRN2 Zd.S, Zn.S, Zm.S

svtrn2[_{s,u,f}32]

TRN1 Z.H,Z.H,Z.HTRN1 Zd.H, Zn.H, Zm.H

svtrn1[_{s,u,f,bf}16]

TRN2 Z.H,Z.H,Z.HTRN2 Zd.H, Zn.H, Zm.H

svtrn2[_{s,u,f,bf}16]

TRN1 Z.B,Z.B,Z.BTRN1 Zd.B, Zn.B, Zm.B

svtrn1[_{s,u}8]

TRN2 Z.B,Z.B,Z.BTRN2 Zd.B, Zn.B, Zm.B

svtrn2[_{s,u}8]

broadcast

DUP Z.Q,Z.Q[i]DUP Zd.Q, Zn.Q[imm]

svdupq_lane

FCPY Z.D,P/M,#iFCPY Zd.D, Pg/M, #const

svdup[_n]_f64_m

CPY Z.D,P/M,#iCPY Zd.D, Pg/M, #imm

svdup[_n]_{s,u}64_m

CPY Z.D,P/Z,#iCPY Zd.D, Pg/Z, #imm

svdup[_n]_{s,u}64_z

CPY Z.D,P/M,XCPY Zd.D, Pg/M, Xn

CPY Z.D,P/M,DnCPY Zd.D, Pg/M, Dn

svdup[_n]_{s,u,f}64_m

FDUP Z.D,#iFDUP Zd.D, #const

svdup[_n]_f64

DUP Z.D,#iDUP Zd.D, #imm

DUP Z.D,XDUP Zd.D, Xn

svdup[_n]_{s,u,f}64

DUP Z.D,Z.D[i]DUP Zd.D, Zn.D[imm]

svdup_lane[_{s,u,f}64]

DUPM Z.D,#iDUPM Zd.D, #const

svdup[_n]_{s,u}64

DUPQ Z.D,Z.D[i]DUPQ Zd.D, Zn.D[imm]

FCPY Z.S,P/M,#iFCPY Zd.S, Pg/M, #const

svdup[_n]_f32_m

CPY Z.S,P/M,#iCPY Zd.S, Pg/M, #imm

svdup[_n]_{s,u}32_m

CPY Z.S,P/Z,#iCPY Zd.S, Pg/Z, #imm

svdup[_n]_{s,u}32_z

CPY Z.S,P/M,WCPY Zd.S, Pg/M, Wn

CPY Z.S,P/M,SnCPY Zd.S, Pg/M, Sn

svdup[_n]_{s,u,f}32_m

FDUP Z.S,#iFDUP Zd.S, #const

svdup[_n]_f32

DUP Z.S,#iDUP Zd.S, #imm

DUP Z.S,WDUP Zd.S, Wn

svdup[_n]_{s,u,f}32

DUP Z.S,Z.S[i]DUP Zd.S, Zn.S[imm]

svdup_lane[_{s,u,f}32]

DUPM Z.S,#iDUPM Zd.S, #const

svdup[_n]_{s,u}32

DUPQ Z.S,Z.S[i]DUPQ Zd.S, Zn.S[imm]

FCPY Z.H,P/M,#iFCPY Zd.H, Pg/M, #const

svdup[_n]_f16_m

CPY Z.H,P/M,#iCPY Zd.H, Pg/M, #imm

svdup[_n]_{s,u}16_m

CPY Z.H,P/Z,#iCPY Zd.H, Pg/Z, #imm

svdup[_n]_{s,u}16_z

CPY Z.H,P/M,WCPY Zd.H, Pg/M, Wn

CPY Z.H,P/M,HnCPY Zd.H, Pg/M, Hn

svdup[_n]_{s,u,f,bf}16_m

FDUP Z.H,#iFDUP Zd.H, #const

svdup[_n]_f16

DUP Z.H,#iDUP Zd.H, #imm

DUP Z.H,WDUP Zd.H, Wn

svdup[_n]_{s,u,f,bf}16

DUP Z.H,Z.H[i]DUP Zd.H, Zn.H[imm]

svdup_lane[_{s,u,f,bf}16]

DUPM Z.H,#iDUPM Zd.H, #const

svdup[_n]_{s,u}16

DUPQ Z.H,Z.H[i]DUPQ Zd.H, Zn.H[imm]

CPY Z.B,P/M,#iCPY Zd.B, Pg/M, #imm

CPY Z.B,P/M,WCPY Zd.B, Pg/M, Wn

CPY Z.B,P/M,BnCPY Zd.B, Pg/M, Bn

svdup[_n]_{s,u}8_m

CPY Z.B,P/Z,#iCPY Zd.B, Pg/Z, #imm

svdup[_n]_{s,u}8_z

DUP Z.B,#iDUP Zd.B, #imm

DUP Z.B,WDUP Zd.B, Wn

DUPM Z.B,#iDUPM Zd.B, #const

svdup[_n]_{s,u}8

DUP Z.B,Z.B[i]DUP Zd.B, Zn.B[imm]

svdup_lane[_{s,u}8]

DUPQ Z.B,Z.B[i]DUPQ Zd.B, Zn.B[imm]

reverse vector

REV Z.D,Z.DREV Zd.D, Zn.D

svrev[_{s,u,f}64]

REV Z.S,Z.SREV Zd.S, Zn.S

svrev[_{s,u,f}32]

REV Z.H,Z.HREV Zd.H, Zn.H

svrev[_{s,u,f,bf}16]

REV Z.B,Z.BREV Zd.B, Zn.B

svrev[_{s,u}8]

reverse within elements

REVD Z.Q,P/M,Z.QREVD Zd.Q, Pg/M, Zn.Q

REVB Z.D,P/M,Z.DREVB Zd.D, Pg/M, Zn.D

svrevb[_{s,u}64]_m

REVH Z.D,P/M,Z.DREVH Zd.D, Pg/M, Zn.D

svrevh[_{s,u}64]_m

REVW Z.D,P/M,Z.DREVW Zd.D, Pg/M, Zn.D

svrevw[_{s,u}64]_m

REVB Z.S,P/M,Z.SREVB Zd.S, Pg/M, Zn.S

svrevb[_{s,u}32]_m

REVH Z.S,P/M,Z.SREVH Zd.S, Pg/M, Zn.S

svrevh[_{s,u}32]_m

REVB Z.H,P/M,Z.HREVB Zd.H, Pg/M, Zn.H

svrevb[_{s,u}16]_m

extract

EXT Z.B,{Z.B,Z.B},#iEXT Zd.B, { Zn1.B-Zn2.B }, #imm

svext[_{s,u}8]

EXT Z.B,Z.B,Z.B,#iEXT Zdn.B, Zdn.B, Zm.B, #imm

svext[_{s,u}8]

EXTQ Z.B,Z.B,Z.B,#iEXTQ Zdn.B, Zdn.B, Zm.B, #imm

compact

COMPACT Z.D,P,Z.DCOMPACT Zd.D, Pg, Zn.D

svcompact[_{s,u,f}64]

COMPACT Z.S,P,Z.SCOMPACT Zd.S, Pg, Zn.S

svcompact[_{s,u,f}32]

table lookup (shuffle)

TBL Z.D,{Z.D},Z.DTBL Zd.D, { Zn.D }, Zm.D

svtbl[_{s,u,f}64]

TBL Z.D,{Z.D,Z.D},Z.DTBL Zd.D, { Zn1.D-Zn2.D }, Zm.D

svtbl2[_{s,u,f}64]

TBX Z.D,Z.D,Z.DTBX Zd.D, Zn.D, Zm.D

svtbx[_{s,u,f}64]

TBLQ Z.D,{Z.D},Z.DTBLQ Zd.D, { Zn.D }, Zm.D

TBXQ Z.D,Z.D,Z.DTBXQ Zd.D, Zn.D, Zm.D

TBL Z.S,{Z.S},Z.STBL Zd.S, { Zn.S }, Zm.S

svtbl[_{s,u,f}32]

TBL Z.S,{Z.S,Z.S},Z.STBL Zd.S, { Zn1.S-Zn2.S }, Zm.S

svtbl2[_{s,u,f}32]

TBX Z.S,Z.S,Z.STBX Zd.S, Zn.S, Zm.S

svtbx[_{s,u,f}32]

TBLQ Z.S,{Z.S},Z.STBLQ Zd.S, { Zn.S }, Zm.S

TBXQ Z.S,Z.S,Z.STBXQ Zd.S, Zn.S, Zm.S

TBL Z.H,{Z.H},Z.HTBL Zd.H, { Zn.H }, Zm.H

svtbl[_{s,u,f,bf}16]

TBL Z.H,{Z.H,Z.H},Z.HTBL Zd.H, { Zn1.H-Zn2.H }, Zm.H

svtbl2[_{s,u,f,bf}16]

TBX Z.H,Z.H,Z.HTBX Zd.H, Zn.H, Zm.H

svtbx[_{s,u,f,bf}16]

TBLQ Z.H,{Z.H},Z.HTBLQ Zd.H, { Zn.H }, Zm.H

TBXQ Z.H,Z.H,Z.HTBXQ Zd.H, Zn.H, Zm.H

TBL Z.B,{Z.B},Z.BTBL Zd.B, { Zn.B }, Zm.B

svtbl[_{s,u}8]

TBL Z.B,{Z.B,Z.B},Z.BTBL Zd.B, { Zn1.B-Zn2.B }, Zm.B

svtbl2[_{s,u}8]

TBX Z.B,Z.B,Z.BTBX Zd.B, Zn.B, Zm.B

svtbx[_{s,u}8]

TBLQ Z.B,{Z.B},Z.BTBLQ Zd.B, { Zn.B }, Zm.B

TBXQ Z.B,Z.B,Z.BTBXQ Zd.B, Zn.B, Zm.B

splice

SPLICE Z.D,P,{Z.D,Z.D}SPLICE Zd.D, Pv, { Zn1.D-Zn2.D }

svsplice[_{s,u,f}64]

SPLICE Z.D,P,Z.D,Z.DSPLICE Zdn.D, Pv, Zdn.D, Zm.D

svsplice[_{s,u,f}64]

SPLICE Z.S,P,{Z.S,Z.S}SPLICE Zd.S, Pv, { Zn1.S-Zn2.S }

svsplice[_{s,u,f}32]

SPLICE Z.S,P,Z.S,Z.SSPLICE Zdn.S, Pv, Zdn.S, Zm.S

svsplice[_{s,u,f}32]

SPLICE Z.H,P,{Z.H,Z.H}SPLICE Zd.H, Pv, { Zn1.H-Zn2.H }

svsplice[_{s,u,f,bf}16]

SPLICE Z.H,P,Z.H,Z.HSPLICE Zdn.H, Pv, Zdn.H, Zm.H

svsplice[_{s,u,f,bf}16]

SPLICE Z.B,P,{Z.B,Z.B}SPLICE Zd.B, Pv, { Zn1.B-Zn2.B }

svsplice[_{s,u}8]

SPLICE Z.B,P,Z.B,Z.BSPLICE Zdn.B, Pv, Zdn.B, Zm.B

svsplice[_{s,u}8]

extract last active element

LASTB X,P,Z.DLASTB Xd, Pg, Zn.D

LASTB D,P,Z.DLASTB Dd, Pg, Zn.D

svlastb[_{s,u,f}64]

CLASTB X,P,X,Z.DCLASTB Xdn, Pg, Xdn, Zm.D

CLASTB D,P,D,Z.DCLASTB Ddn, Pg, Ddn, Zm.D

svclastb[_n_{s,u,f}64]

LASTB W,P,Z.SLASTB Wd, Pg, Zn.S

LASTB S,P,Z.SLASTB Sd, Pg, Zn.S

svlastb[_{s,u,f}32]

CLASTB W,P,W,Z.SCLASTB Wdn, Pg, Wdn, Zm.S

CLASTB S,P,S,Z.SCLASTB Sdn, Pg, Sdn, Zm.S

svclastb[_n_{s,u,f}32]

LASTB W,P,Z.HLASTB Wd, Pg, Zn.H

LASTB H,P,Z.HLASTB Hd, Pg, Zn.H

svlastb[_{s,u,f,bf}16]

CLASTB W,P,W,Z.HCLASTB Wdn, Pg, Wdn, Zm.H

CLASTB H,P,H,Z.HCLASTB Hdn, Pg, Hdn, Zm.H

svclastb[_n_{s,u,f,bf}16]

LASTB W,P,Z.BLASTB Wd, Pg, Zn.B

LASTB B,P,Z.BLASTB Bd, Pg, Zn.B

svlastb[_{s,u}8]

CLASTB W,P,W,Z.BCLASTB Wdn, Pg, Wdn, Zm.B

CLASTB B,P,B,Z.BCLASTB Bdn, Pg, Bdn, Zm.B

svclastb[_n_{s,u}8]

broadcast last active element

CLASTB Z.D,P,Z.D,Z.DCLASTB Zdn.D, Pg, Zdn.D, Zm.D

svclastb[_{s,u,f}64]

CLASTB Z.S,P,Z.S,Z.SCLASTB Zdn.S, Pg, Zdn.S, Zm.S

svclastb[_{s,u,f}32]

CLASTB Z.H,P,Z.H,Z.HCLASTB Zdn.H, Pg, Zdn.H, Zm.H

svclastb[_{s,u,f,bf}16]

CLASTB Z.B,P,Z.B,Z.BCLASTB Zdn.B, Pg, Zdn.B, Zm.B

svclastb[_{s,u}8]

extract element after last active

LASTA X,P,Z.DLASTA Xd, Pg, Zn.D

LASTA D,P,Z.DLASTA Dd, Pg, Zn.D

svlasta[_{s,u,f}64]

CLASTA X,P,X,Z.DCLASTA Xdn, Pg, Xdn, Zm.D

CLASTA D,P,D,Z.DCLASTA Ddn, Pg, Ddn, Zm.D

svclasta[_n_{s,u,f}64]

LASTA W,P,Z.SLASTA Wd, Pg, Zn.S

LASTA S,P,Z.SLASTA Sd, Pg, Zn.S

svlasta[_{s,u,f}32]

CLASTA W,P,W,Z.SCLASTA Wdn, Pg, Wdn, Zm.S

CLASTA S,P,S,Z.SCLASTA Sdn, Pg, Sdn, Zm.S

svclasta[_n_{s,u,f}32]

LASTA W,P,Z.HLASTA Wd, Pg, Zn.H

LASTA H,P,Z.HLASTA Hd, Pg, Zn.H

svlasta[_{s,u,f,bf}16]

CLASTA W,P,W,Z.HCLASTA Wdn, Pg, Wdn, Zm.H

CLASTA H,P,H,Z.HCLASTA Hdn, Pg, Hdn, Zm.H

svclasta[_n_{s,u,f,bf}16]

LASTA W,P,Z.BLASTA Wd, Pg, Zn.B

LASTA B,P,Z.BLASTA Bd, Pg, Zn.B

svlasta[_{s,u}8]

CLASTA W,P,W,Z.BCLASTA Wdn, Pg, Wdn, Zm.B

CLASTA B,P,B,Z.BCLASTA Bdn, Pg, Bdn, Zm.B

svclasta[_n_{s,u}8]

broadcast element after last active

CLASTA Z.D,P,Z.D,Z.DCLASTA Zdn.D, Pg, Zdn.D, Zm.D

svclasta[_{s,u,f}64]

CLASTA Z.S,P,Z.S,Z.SCLASTA Zdn.S, Pg, Zdn.S, Zm.S

svclasta[_{s,u,f}32]

CLASTA Z.H,P,Z.H,Z.HCLASTA Zdn.H, Pg, Zdn.H, Zm.H

svclasta[_{s,u,f,bf}16]

CLASTA Z.B,P,Z.B,Z.BCLASTA Zdn.B, Pg, Zdn.B, Zm.B

svclasta[_{s,u}8]

insert

INSR Z.D,XINSR Zdn.D, Xm

INSR Z.D,DmINSR Zdn.D, Dm

svinsr[_n_{s,u,f}64]

INSR Z.S,WINSR Zdn.S, Wm

INSR Z.S,SmINSR Zdn.S, Sm

svinsr[_n_{s,u,f}32]

INSR Z.H,WINSR Zdn.H, Wm

INSR Z.H,HmINSR Zdn.H, Hm

svinsr[_n_{s,u,f,bf}16]

INSR Z.B,WINSR Zdn.B, Wm

INSR Z.B,BmINSR Zdn.B, Bm

svinsr[_n_{s,u}8]

make linear sequence

INDEX Z.D,#i,XINDEX Zd.D, #imm, Xm

INDEX Z.D,#i1,#i2INDEX Zd.D, #imm1, #imm2

INDEX Z.D,X,#iINDEX Zd.D, Xn, #imm

INDEX Z.D,X,XINDEX Zd.D, Xn, Xm

svindex_{s,u}64

INDEX Z.S,#i,WINDEX Zd.S, #imm, Wm

INDEX Z.S,#i1,#i2INDEX Zd.S, #imm1, #imm2

INDEX Z.S,W,#iINDEX Zd.S, Wn, #imm

INDEX Z.S,W,WINDEX Zd.S, Wn, Wm

svindex_{s,u}32

INDEX Z.H,#i,WINDEX Zd.H, #imm, Wm

INDEX Z.H,#i1,#i2INDEX Zd.H, #imm1, #imm2

INDEX Z.H,W,#iINDEX Zd.H, Wn, #imm

INDEX Z.H,W,WINDEX Zd.H, Wn, Wm

svindex_{s,u}16

INDEX Z.B,#i,WINDEX Zd.B, #imm, Wm

INDEX Z.B,#i1,#i2INDEX Zd.B, #imm1, #imm2

INDEX Z.B,W,#iINDEX Zd.B, Wn, #imm

INDEX Z.B,W,WINDEX Zd.B, Wn, Wm

svindex_{s,u}8

select

SEL Z.D,P,Z.D,Z.DSEL Zd.D, Pv, Zn.D, Zm.D

svsel[_{s,u,f}64]

SEL Z.S,P,Z.S,Z.SSEL Zd.S, Pv, Zn.S, Zm.S

svsel[_{s,u,f}32]

SEL Z.H,P,Z.H,Z.HSEL Zd.H, Pv, Zn.H, Zm.H

svsel[_{s,u,f,bf}16]

SEL Z.B,P,Z.B,Z.BSEL Zd.B, Pv, Zn.B, Zm.B

svsel[_{s,u}8]

move to predicate

PMOV P.D,Z[i]PMOV Pd.D, Zn[imm]

PMOV P.S,Z[i]PMOV Pd.S, Zn[imm]

PMOV P.H,Z[i]PMOV Pd.H, Zn[imm]

PMOV P.B,ZPMOV Pd.B, Zn

move from predicate

PMOV Z[i],P.DPMOV Zd[imm], Pn.D

PMOV Z[i],P.SPMOV Zd[imm], Pn.S

PMOV Z[i],P.HPMOV Zd[imm], Pn.H

PMOV Z,P.BPMOV Zd, Pn.B

Conversions

from to
Integer
Floating-Point

64-bit
32-bit
16-bit
8-bit
double
single
half
BFloat16

Integer64-bit

SQXTNB Z.S,Z.DSQXTNB Zd.S, Zn.D

svqxtnb[_s64]

SQXTNT Z.S,Z.DSQXTNT Zd.S, Zn.D

svqxtnt[_s64]

SQXTUNB Z.S,Z.DSQXTUNB Zd.S, Zn.D

svqxtunb[_s64]

SQXTUNT Z.S,Z.DSQXTUNT Zd.S, Zn.D

svqxtunt[_s64]

UQXTNB Z.S,Z.DUQXTNB Zd.S, Zn.D

svqxtnb[_u64]

UQXTNT Z.S,Z.DUQXTNT Zd.S, Zn.D

svqxtnt[_u64]

SCVTF Z.D,P/M,Z.DSCVTF Zd.D, Pg/M, Zn.D

svcvt_f64[_s64]_m

UCVTF Z.D,P/M,Z.DUCVTF Zd.D, Pg/M, Zn.D

svcvt_f64[_u64]_m

SCVTF Z.S,P/M,Z.DSCVTF Zd.S, Pg/M, Zn.D

svcvt_f32[_s64]_m

UCVTF Z.S,P/M,Z.DUCVTF Zd.S, Pg/M, Zn.D

svcvt_f32[_u64]_m

SCVTF Z.H,P/M,Z.DSCVTF Zd.H, Pg/M, Zn.D

svcvt_f16[_s64]_m

UCVTF Z.H,P/M,Z.DUCVTF Zd.H, Pg/M, Zn.D

svcvt_f16[_u64]_m

32-bit

SXTW Z.D,P/M,Z.DSXTW Zd.D, Pg/M, Zn.D

svextw[_s64]_m

UXTW Z.D,P/M,Z.DUXTW Zd.D, Pg/M, Zn.D

svextw[_u64]_m

UUNPKHI Z.D,Z.SUUNPKHI Zd.D, Zn.S

svunpkhi[_u64]

UUNPKLO Z.D,Z.SUUNPKLO Zd.D, Zn.S

svunpklo[_u64]

SUNPKHI Z.D,Z.SSUNPKHI Zd.D, Zn.S

svunpkhi[_s64]

SUNPKLO Z.D,Z.SSUNPKLO Zd.D, Zn.S

svunpklo[_s64]

SQXTNB Z.H,Z.SSQXTNB Zd.H, Zn.S

svqxtnb[_s32]

SQXTNT Z.H,Z.SSQXTNT Zd.H, Zn.S

svqxtnt[_s32]

SQXTUNB Z.H,Z.SSQXTUNB Zd.H, Zn.S

svqxtunb[_s32]

SQXTUNT Z.H,Z.SSQXTUNT Zd.H, Zn.S

svqxtunt[_s32]

UQXTNB Z.H,Z.SUQXTNB Zd.H, Zn.S

svqxtnb[_u32]

UQXTNT Z.H,Z.SUQXTNT Zd.H, Zn.S

svqxtnt[_u32]

SQCVTN Z.H,{Z.S,Z.S}SQCVTN Zd.H, { Zn1.S-Zn2.S }

UQCVTN Z.H,{Z.S,Z.S}UQCVTN Zd.H, { Zn1.S-Zn2.S }

SQCVTUN Z.H,{Z.S,Z.S}SQCVTUN Zd.H, { Zn1.S-Zn2.S }

SCVTF Z.D,P/M,Z.SSCVTF Zd.D, Pg/M, Zn.S

svcvt_f64[_s32]_m

UCVTF Z.D,P/M,Z.SUCVTF Zd.D, Pg/M, Zn.S

svcvt_f64[_u32]_m

SCVTF Z.S,P/M,Z.SSCVTF Zd.S, Pg/M, Zn.S

svcvt_f32[_s32]_m

UCVTF Z.S,P/M,Z.SUCVTF Zd.S, Pg/M, Zn.S

svcvt_f32[_u32]_m

SCVTF Z.H,P/M,Z.SSCVTF Zd.H, Pg/M, Zn.S

svcvt_f16[_s32]_m

UCVTF Z.H,P/M,Z.SUCVTF Zd.H, Pg/M, Zn.S

svcvt_f16[_u32]_m

16-bit

SXTH Z.D,P/M,Z.DSXTH Zd.D, Pg/M, Zn.D

svexth[_s64]_m

UXTH Z.D,P/M,Z.DUXTH Zd.D, Pg/M, Zn.D

svexth[_u64]_m

SXTH Z.S,P/M,Z.SSXTH Zd.S, Pg/M, Zn.S

svexth[_s32]_m

UXTH Z.S,P/M,Z.SUXTH Zd.S, Pg/M, Zn.S

svexth[_u32]_m

UUNPKHI Z.S,Z.HUUNPKHI Zd.S, Zn.H

svunpkhi[_u32]

UUNPKLO Z.S,Z.HUUNPKLO Zd.S, Zn.H

svunpklo[_u32]

SUNPKHI Z.S,Z.HSUNPKHI Zd.S, Zn.H

svunpkhi[_s32]

SUNPKLO Z.S,Z.HSUNPKLO Zd.S, Zn.H

svunpklo[_s32]

SQXTNB Z.B,Z.HSQXTNB Zd.B, Zn.H

svqxtnb[_s16]

SQXTNT Z.B,Z.HSQXTNT Zd.B, Zn.H

svqxtnt[_s16]

SQXTUNB Z.B,Z.HSQXTUNB Zd.B, Zn.H

svqxtunb[_s16]

SQXTUNT Z.B,Z.HSQXTUNT Zd.B, Zn.H

svqxtunt[_s16]

UQXTNB Z.B,Z.HUQXTNB Zd.B, Zn.H

svqxtnb[_u16]

UQXTNT Z.B,Z.HUQXTNT Zd.B, Zn.H

svqxtnt[_u16]

SCVTF Z.H,P/M,Z.HSCVTF Zd.H, Pg/M, Zn.H

svcvt_f16[_s16]_m

UCVTF Z.H,P/M,Z.HUCVTF Zd.H, Pg/M, Zn.H

svcvt_f16[_u16]_m

8-bit

SXTB Z.D,P/M,Z.DSXTB Zd.D, Pg/M, Zn.D

svextb[_s64]_m

UXTB Z.D,P/M,Z.DUXTB Zd.D, Pg/M, Zn.D

svextb[_u64]_m

SXTB Z.S,P/M,Z.SSXTB Zd.S, Pg/M, Zn.S

svextb[_s32]_m

UXTB Z.S,P/M,Z.SUXTB Zd.S, Pg/M, Zn.S

svextb[_u32]_m

SXTB Z.H,P/M,Z.HSXTB Zd.H, Pg/M, Zn.H

svextb[_s16]_m

UXTB Z.H,P/M,Z.HUXTB Zd.H, Pg/M, Zn.H

svextb[_u16]_m

UUNPKHI Z.H,Z.BUUNPKHI Zd.H, Zn.B

svunpkhi[_u16]

UUNPKLO Z.H,Z.BUUNPKLO Zd.H, Zn.B

svunpklo[_u16]

SUNPKHI Z.H,Z.BSUNPKHI Zd.H, Zn.B

svunpkhi[_s16]

SUNPKLO Z.H,Z.BSUNPKLO Zd.H, Zn.B

svunpklo[_s16]

Floating-Pointdouble

FCVTZS Z.D,P/M,Z.DFCVTZS Zd.D, Pg/M, Zn.D

svcvt_s64[_f64]_m

FCVTZU Z.D,P/M,Z.DFCVTZU Zd.D, Pg/M, Zn.D

svcvt_u64[_f64]_m

FCVTZS Z.S,P/M,Z.DFCVTZS Zd.S, Pg/M, Zn.D

svcvt_s32[_f64]_m

FCVTZU Z.S,P/M,Z.DFCVTZU Zd.S, Pg/M, Zn.D

svcvt_u32[_f64]_m

FCVT Z.S,P/M,Z.DFCVT Zd.S, Pg/M, Zn.D

svcvt_f32[_f64]_m

FCVTNT Z.S,P/M,Z.DFCVTNT Zd.S, Pg/M, Zn.D

svcvtnt_f32[_f64]_m

FCVTX Z.S,P/M,Z.DFCVTX Zd.S, Pg/M, Zn.D

svcvtx_f32[_f64]_m

FCVTXNT Z.S,P/M,Z.DFCVTXNT Zd.S, Pg/M, Zn.D

svcvtxnt_f32[_f64]_m

FCVT Z.H,P/M,Z.DFCVT Zd.H, Pg/M, Zn.D

svcvt_f16[_f64]_m

single

FCVTZS Z.D,P/M,Z.SFCVTZS Zd.D, Pg/M, Zn.S

svcvt_s64[_f32]_m

FCVTZU Z.D,P/M,Z.SFCVTZU Zd.D, Pg/M, Zn.S

svcvt_u64[_f32]_m

FCVTZS Z.S,P/M,Z.SFCVTZS Zd.S, Pg/M, Zn.S

svcvt_s32[_f32]_m

FCVTZU Z.S,P/M,Z.SFCVTZU Zd.S, Pg/M, Zn.S

svcvt_u32[_f32]_m

FCVT Z.D,P/M,Z.SFCVT Zd.D, Pg/M, Zn.S

svcvt_f64[_f32]_m

FCVTLT Z.D,P/M,Z.SFCVTLT Zd.D, Pg/M, Zn.S

svcvtlt_f64[_f32]_m

FCVT Z.H,P/M,Z.SFCVT Zd.H, Pg/M, Zn.S

svcvt_f16[_f32]_m

FCVTNT Z.H,P/M,Z.SFCVTNT Zd.H, Pg/M, Zn.S

svcvtnt_f16[_f32]_m

BFCVT Z.H,P/M,Z.SBFCVT Zd.H, Pg/M, Zn.S

svcvt_bf16[_f32]_m

BFCVTNT Z.H,P/M,Z.SBFCVTNT Zd.H, Pg/M, Zn.S

svcvtnt_bf16[_f32]_m

half

FCVTZS Z.D,P/M,Z.HFCVTZS Zd.D, Pg/M, Zn.H

svcvt_s64[_f16]_m

FCVTZU Z.D,P/M,Z.HFCVTZU Zd.D, Pg/M, Zn.H

svcvt_u64[_f16]_m

FCVTZS Z.S,P/M,Z.HFCVTZS Zd.S, Pg/M, Zn.H

svcvt_s32[_f16]_m

FCVTZU Z.S,P/M,Z.HFCVTZU Zd.S, Pg/M, Zn.H

svcvt_u32[_f16]_m

FCVTZS Z.H,P/M,Z.HFCVTZS Zd.H, Pg/M, Zn.H

svcvt_s16[_f16]_m

FCVTZU Z.H,P/M,Z.HFCVTZU Zd.H, Pg/M, Zn.H

svcvt_u16[_f16]_m

FCVT Z.D,P/M,Z.HFCVT Zd.D, Pg/M, Zn.H

svcvt_f64[_f16]_m

FCVT Z.S,P/M,Z.HFCVT Zd.S, Pg/M, Zn.H

svcvt_f32[_f16]_m

FCVTLT Z.S,P/M,Z.HFCVTLT Zd.S, Pg/M, Zn.H

svcvtlt_f32[_f16]_m

Data Processing

Arithmetic Operations

Integer
Floating-Point

64-bit
32-bit
16-bit
8-bit
double
single
half
BFloat16

add

ADD Z.D,Z.D,Z.DADD Zd.D, Zn.D, Zm.D

svadd[_{s,u}64]_x

ADD Z.D,P/M,Z.D,Z.DADD Zdn.D, Pg/M, Zdn.D, Zm.D

svadd[_{s,u}64]_m

ADD Z.D,Z.D,#iADD Zdn.D, Zdn.D, #imm

svadd[_n_{s,u}64]_x

SQADD Z.D,Z.D,Z.DSQADD Zd.D, Zn.D, Zm.D

svqadd[_s64]

UQADD Z.D,Z.D,Z.DUQADD Zd.D, Zn.D, Zm.D

svqadd[_u64]

SQADD Z.D,Z.D,#iSQADD Zdn.D, Zdn.D, #imm

svqadd[_n_s64]

UQADD Z.D,Z.D,#iUQADD Zdn.D, Zdn.D, #imm

svqadd[_n_u64]

SQADD Z.D,P/M,Z.D,Z.DSQADD Zdn.D, Pg/M, Zdn.D, Zm.D

svqadd[_s64]_m

UQADD Z.D,P/M,Z.D,Z.DUQADD Zdn.D, Pg/M, Zdn.D, Zm.D

svqadd[_u64]_m

SUQADD Z.D,P/M,Z.D,Z.DSUQADD Zdn.D, Pg/M, Zdn.D, Zm.D

svuqadd[_s64]_m

USQADD Z.D,P/M,Z.D,Z.DUSQADD Zdn.D, Pg/M, Zdn.D, Zm.D

svsqadd[_u64]_m

ADD Z.S,Z.S,Z.SADD Zd.S, Zn.S, Zm.S

svadd[_{s,u}32]_x

ADD Z.S,P/M,Z.S,Z.SADD Zdn.S, Pg/M, Zdn.S, Zm.S

svadd[_{s,u}32]_m

ADD Z.S,Z.S,#iADD Zdn.S, Zdn.S, #imm

svadd[_n_{s,u}32]_x

SQADD Z.S,Z.S,Z.SSQADD Zd.S, Zn.S, Zm.S

svqadd[_s32]

UQADD Z.S,Z.S,Z.SUQADD Zd.S, Zn.S, Zm.S

svqadd[_u32]

SQADD Z.S,Z.S,#iSQADD Zdn.S, Zdn.S, #imm

svqadd[_n_s32]

UQADD Z.S,Z.S,#iUQADD Zdn.S, Zdn.S, #imm

svqadd[_n_u32]

SQADD Z.S,P/M,Z.S,Z.SSQADD Zdn.S, Pg/M, Zdn.S, Zm.S

svqadd[_s32]_m

UQADD Z.S,P/M,Z.S,Z.SUQADD Zdn.S, Pg/M, Zdn.S, Zm.S

svqadd[_u32]_m

SUQADD Z.S,P/M,Z.S,Z.SSUQADD Zdn.S, Pg/M, Zdn.S, Zm.S

svuqadd[_s32]_m

USQADD Z.S,P/M,Z.S,Z.SUSQADD Zdn.S, Pg/M, Zdn.S, Zm.S

svsqadd[_u32]_m

ADD Z.H,Z.H,Z.HADD Zd.H, Zn.H, Zm.H

svadd[_{s,u}16]_x

ADD Z.H,P/M,Z.H,Z.HADD Zdn.H, Pg/M, Zdn.H, Zm.H

svadd[_{s,u}16]_m

ADD Z.H,Z.H,#iADD Zdn.H, Zdn.H, #imm

svadd[_n_{s,u}16]_x

SQADD Z.H,Z.H,Z.HSQADD Zd.H, Zn.H, Zm.H

svqadd[_s16]

UQADD Z.H,Z.H,Z.HUQADD Zd.H, Zn.H, Zm.H

svqadd[_u16]

SQADD Z.H,Z.H,#iSQADD Zdn.H, Zdn.H, #imm

svqadd[_n_s16]

UQADD Z.H,Z.H,#iUQADD Zdn.H, Zdn.H, #imm

svqadd[_n_u16]

SQADD Z.H,P/M,Z.H,Z.HSQADD Zdn.H, Pg/M, Zdn.H, Zm.H

svqadd[_s16]_m

UQADD Z.H,P/M,Z.H,Z.HUQADD Zdn.H, Pg/M, Zdn.H, Zm.H

svqadd[_u16]_m

SUQADD Z.H,P/M,Z.H,Z.HSUQADD Zdn.H, Pg/M, Zdn.H, Zm.H

svuqadd[_s16]_m

USQADD Z.H,P/M,Z.H,Z.HUSQADD Zdn.H, Pg/M, Zdn.H, Zm.H

svsqadd[_u16]_m

ADD Z.B,Z.B,Z.BADD Zd.B, Zn.B, Zm.B

svadd[_{s,u}8]_x

ADD Z.B,P/M,Z.B,Z.BADD Zdn.B, Pg/M, Zdn.B, Zm.B

svadd[_{s,u}8]_m

ADD Z.B,Z.B,#iADD Zdn.B, Zdn.B, #imm

svadd[_n_{s,u}8]_x

SQADD Z.B,Z.B,Z.BSQADD Zd.B, Zn.B, Zm.B

svqadd[_s8]

UQADD Z.B,Z.B,Z.BUQADD Zd.B, Zn.B, Zm.B

svqadd[_u8]

SQADD Z.B,Z.B,#iSQADD Zdn.B, Zdn.B, #imm

svqadd[_n_s8]

UQADD Z.B,Z.B,#iUQADD Zdn.B, Zdn.B, #imm

svqadd[_n_u8]

SQADD Z.B,P/M,Z.B,Z.BSQADD Zdn.B, Pg/M, Zdn.B, Zm.B

svqadd[_s8]_m

UQADD Z.B,P/M,Z.B,Z.BUQADD Zdn.B, Pg/M, Zdn.B, Zm.B

svqadd[_u8]_m

SUQADD Z.B,P/M,Z.B,Z.BSUQADD Zdn.B, Pg/M, Zdn.B, Zm.B

svuqadd[_s8]_m

USQADD Z.B,P/M,Z.B,Z.BUSQADD Zdn.B, Pg/M, Zdn.B, Zm.B

svsqadd[_u8]_m

FADD Z.D,Z.D,Z.DFADD Zd.D, Zn.D, Zm.D

svadd[_f64]_x

FADD Z.D,P/M,Z.D,Z.DFADD Zdn.D, Pg/M, Zdn.D, Zm.D

svadd[_f64]_m

FADD Z.D,P/M,Z.D,#0.5FADD Zdn.D, Pg/M, Zdn.D, #0.5

FADD Z.D,P/M,Z.D,#1.0FADD Zdn.D, Pg/M, Zdn.D, #1.0

svadd[_n_f64]_m

FADD Z.S,Z.S,Z.SFADD Zd.S, Zn.S, Zm.S

svadd[_f32]_x

FADD Z.S,P/M,Z.S,Z.SFADD Zdn.S, Pg/M, Zdn.S, Zm.S

svadd[_f32]_m

FADD Z.S,P/M,Z.S,#0.5FADD Zdn.S, Pg/M, Zdn.S, #0.5

FADD Z.S,P/M,Z.S,#1.0FADD Zdn.S, Pg/M, Zdn.S, #1.0

svadd[_n_f32]_m

FADD Z.H,Z.H,Z.HFADD Zd.H, Zn.H, Zm.H

svadd[_f16]_x

FADD Z.H,P/M,Z.H,Z.HFADD Zdn.H, Pg/M, Zdn.H, Zm.H

svadd[_f16]_m

FADD Z.H,P/M,Z.H,#0.5FADD Zdn.H, Pg/M, Zdn.H, #0.5

FADD Z.H,P/M,Z.H,#1.0FADD Zdn.H, Pg/M, Zdn.H, #1.0

svadd[_n_f16]_m

BFADD Z.H,Z.H,Z.HBFADD Zd.H, Zn.H, Zm.H

BFADD Z.H,P/M,Z.H,Z.HBFADD Zdn.H, Pg/M, Zdn.H, Zm.H

add (half-width element)

SADDWB Z.D,Z.D,Z.SSADDWB Zd.D, Zn.D, Zm.S

svaddwb[_s64]

SADDWT Z.D,Z.D,Z.SSADDWT Zd.D, Zn.D, Zm.S

svaddwt[_s64]

UADDWB Z.D,Z.D,Z.SUADDWB Zd.D, Zn.D, Zm.S

svaddwb[_u64]

UADDWT Z.D,Z.D,Z.SUADDWT Zd.D, Zn.D, Zm.S

svaddwt[_u64]

SADDWB Z.S,Z.S,Z.HSADDWB Zd.S, Zn.S, Zm.H

svaddwb[_s32]

SADDWT Z.S,Z.S,Z.HSADDWT Zd.S, Zn.S, Zm.H

svaddwt[_s32]

UADDWB Z.S,Z.S,Z.HUADDWB Zd.S, Zn.S, Zm.H

svaddwb[_u32]

UADDWT Z.S,Z.S,Z.HUADDWT Zd.S, Zn.S, Zm.H

svaddwt[_u32]

SADDWB Z.H,Z.H,Z.BSADDWB Zd.H, Zn.H, Zm.B

svaddwb[_s16]

SADDWT Z.H,Z.H,Z.BSADDWT Zd.H, Zn.H, Zm.B

svaddwt[_s16]

UADDWB Z.H,Z.H,Z.BUADDWB Zd.H, Zn.H, Zm.B

svaddwb[_u16]

UADDWT Z.H,Z.H,Z.BUADDWT Zd.H, Zn.H, Zm.B

svaddwt[_u16]

add (double-width result)

SADDLB Z.D,Z.S,Z.SSADDLB Zd.D, Zn.S, Zm.S

svaddlb[_s64]

SADDLT Z.D,Z.S,Z.SSADDLT Zd.D, Zn.S, Zm.S

svaddlt[_s64]

UADDLB Z.D,Z.S,Z.SUADDLB Zd.D, Zn.S, Zm.S

svaddlb[_u64]

UADDLT Z.D,Z.S,Z.SUADDLT Zd.D, Zn.S, Zm.S

svaddlt[_u64]

SADDLBT Z.D,Z.S,Z.SSADDLBT Zd.D, Zn.S, Zm.S

svaddlbt[_s64]

SADDLB Z.S,Z.H,Z.HSADDLB Zd.S, Zn.H, Zm.H

svaddlb[_s32]

SADDLT Z.S,Z.H,Z.HSADDLT Zd.S, Zn.H, Zm.H

svaddlt[_s32]

UADDLB Z.S,Z.H,Z.HUADDLB Zd.S, Zn.H, Zm.H

svaddlb[_u32]

UADDLT Z.S,Z.H,Z.HUADDLT Zd.S, Zn.H, Zm.H

svaddlt[_u32]

SADDLBT Z.S,Z.H,Z.HSADDLBT Zd.S, Zn.H, Zm.H

svaddlbt[_s32]

SADDLB Z.H,Z.B,Z.BSADDLB Zd.H, Zn.B, Zm.B

svaddlb[_s16]

SADDLT Z.H,Z.B,Z.BSADDLT Zd.H, Zn.B, Zm.B

svaddlt[_s16]

UADDLB Z.H,Z.B,Z.BUADDLB Zd.H, Zn.B, Zm.B

svaddlb[_u16]

UADDLT Z.H,Z.B,Z.BUADDLT Zd.H, Zn.B, Zm.B

svaddlt[_u16]

SADDLBT Z.H,Z.B,Z.BSADDLBT Zd.H, Zn.B, Zm.B

svaddlbt[_s16]

add (narrowing, high part)

ADDHNB Z.S,Z.D,Z.DADDHNB Zd.S, Zn.D, Zm.D

svaddhnb[_{s,u}64]

ADDHNT Z.S,Z.D,Z.DADDHNT Zd.S, Zn.D, Zm.D

svaddhnt[_{s,u}64]

RADDHNB Z.S,Z.D,Z.DRADDHNB Zd.S, Zn.D, Zm.D

svraddhnb[_{s,u}64]

RADDHNT Z.S,Z.D,Z.DRADDHNT Zd.S, Zn.D, Zm.D

svraddhnt[_{s,u}64]

ADDHNB Z.H,Z.S,Z.SADDHNB Zd.H, Zn.S, Zm.S

svaddhnb[_{s,u}32]

ADDHNT Z.H,Z.S,Z.SADDHNT Zd.H, Zn.S, Zm.S

svaddhnt[_{s,u}32]

RADDHNB Z.H,Z.S,Z.SRADDHNB Zd.H, Zn.S, Zm.S

svraddhnb[_{s,u}32]

RADDHNT Z.H,Z.S,Z.SRADDHNT Zd.H, Zn.S, Zm.S

svraddhnt[_{s,u}32]

ADDHNB Z.B,Z.H,Z.HADDHNB Zd.B, Zn.H, Zm.H

svaddhnb[_{s,u}16]

ADDHNT Z.B,Z.H,Z.HADDHNT Zd.B, Zn.H, Zm.H

svaddhnt[_{s,u}16]

RADDHNB Z.B,Z.H,Z.HRADDHNB Zd.B, Zn.H, Zm.H

svraddhnb[_{s,u}16]

RADDHNT Z.B,Z.H,Z.HRADDHNT Zd.B, Zn.H, Zm.H

svraddhnt[_{s,u}16]

average (halving add)

SHADD Z.D,P/M,Z.D,Z.DSHADD Zdn.D, Pg/M, Zdn.D, Zm.D

svhadd[_s64]_m

UHADD Z.D,P/M,Z.D,Z.DUHADD Zdn.D, Pg/M, Zdn.D, Zm.D

svhadd[_u64]_m

SRHADD Z.D,P/M,Z.D,Z.DSRHADD Zdn.D, Pg/M, Zdn.D, Zm.D

svrhadd[_s64]_m

URHADD Z.D,P/M,Z.D,Z.DURHADD Zdn.D, Pg/M, Zdn.D, Zm.D

svrhadd[_u64]_m

SHADD Z.S,P/M,Z.S,Z.SSHADD Zdn.S, Pg/M, Zdn.S, Zm.S

svhadd[_s32]_m

UHADD Z.S,P/M,Z.S,Z.SUHADD Zdn.S, Pg/M, Zdn.S, Zm.S

svhadd[_u32]_m

SRHADD Z.S,P/M,Z.S,Z.SSRHADD Zdn.S, Pg/M, Zdn.S, Zm.S

svrhadd[_s32]_m

URHADD Z.S,P/M,Z.S,Z.SURHADD Zdn.S, Pg/M, Zdn.S, Zm.S

svrhadd[_u32]_m

SHADD Z.H,P/M,Z.H,Z.HSHADD Zdn.H, Pg/M, Zdn.H, Zm.H

svhadd[_s16]_m

UHADD Z.H,P/M,Z.H,Z.HUHADD Zdn.H, Pg/M, Zdn.H, Zm.H

svhadd[_u16]_m

SRHADD Z.H,P/M,Z.H,Z.HSRHADD Zdn.H, Pg/M, Zdn.H, Zm.H

svrhadd[_s16]_m

URHADD Z.H,P/M,Z.H,Z.HURHADD Zdn.H, Pg/M, Zdn.H, Zm.H

svrhadd[_u16]_m

SHADD Z.B,P/M,Z.B,Z.BSHADD Zdn.B, Pg/M, Zdn.B, Zm.B

svhadd[_s8]_m

UHADD Z.B,P/M,Z.B,Z.BUHADD Zdn.B, Pg/M, Zdn.B, Zm.B

svhadd[_u8]_m

SRHADD Z.B,P/M,Z.B,Z.BSRHADD Zdn.B, Pg/M, Zdn.B, Zm.B

svrhadd[_s8]_m

URHADD Z.B,P/M,Z.B,Z.BURHADD Zdn.B, Pg/M, Zdn.B, Zm.B

svrhadd[_u8]_m

add reduction

UADDV D,P,Z.DUADDV Dd, Pg, Zn.D

svaddv[_{s,u}64]

ADDQV V.2D,P,Z.DADDQV Vd.2D, Pg, Zn.D

UADDV D,P,Z.SUADDV Dd, Pg, Zn.S

svaddv[_u32]

SADDV D,P,Z.SSADDV Dd, Pg, Zn.S

svaddv[_s32]

ADDQV V.4S,P,Z.SADDQV Vd.4S, Pg, Zn.S

UADDV D,P,Z.HUADDV Dd, Pg, Zn.H

svaddv[_u16]

SADDV D,P,Z.HSADDV Dd, Pg, Zn.H

svaddv[_s16]

ADDQV V.8H,P,Z.HADDQV Vd.8H, Pg, Zn.H

UADDV D,P,Z.BUADDV Dd, Pg, Zn.B

svaddv[_u8]

SADDV D,P,Z.BSADDV Dd, Pg, Zn.B

svaddv[_s8]

ADDQV V.16B,P,Z.BADDQV Vd.16B, Pg, Zn.B

FADDV D,P,Z.DFADDV Dd, Pg, Zn.D

svaddv[_f64]

FADDA D,P,D,Z.DFADDA Ddn, Pg, Ddn, Zm.D

svadda[_f64]

FADDQV V.2D,P,Z.DFADDQV Vd.2D, Pg, Zn.D

FADDV S,P,Z.SFADDV Sd, Pg, Zn.S

svaddv[_f32]

FADDA S,P,S,Z.SFADDA Sdn, Pg, Sdn, Zm.S

svadda[_f32]

FADDQV V.4S,P,Z.SFADDQV Vd.4S, Pg, Zn.S

FADDV H,P,Z.HFADDV Hd, Pg, Zn.H

svaddv[_f16]

FADDA H,P,H,Z.HFADDA Hdn, Pg, Hdn, Zm.H

svadda[_f16]

FADDQV V.8H,P,Z.HFADDQV Vd.8H, Pg, Zn.H

pairwise add

ADDP Z.D,P/M,Z.D,Z.DADDP Zdn.D, Pg/M, Zdn.D, Zm.D

svaddp[_{s,u}64]_m

ADDP Z.S,P/M,Z.S,Z.SADDP Zdn.S, Pg/M, Zdn.S, Zm.S

svaddp[_{s,u}32]_m

ADDP Z.H,P/M,Z.H,Z.HADDP Zdn.H, Pg/M, Zdn.H, Zm.H

svaddp[_{s,u}16]_m

ADDP Z.B,P/M,Z.B,Z.BADDP Zdn.B, Pg/M, Zdn.B, Zm.B

svaddp[_{s,u}8]_m

FADDP Z.D,P/M,Z.D,Z.DFADDP Zdn.D, Pg/M, Zdn.D, Zm.D

svaddp[_f64]_m

FADDP Z.S,P/M,Z.S,Z.SFADDP Zdn.S, Pg/M, Zdn.S, Zm.S

svaddp[_f32]_m

FADDP Z.H,P/M,Z.H,Z.HFADDP Zdn.H, Pg/M, Zdn.H, Zm.H

svaddp[_f16]_m

add pairs to double-width accumulator

SADALP Z.D,P/M,Z.SSADALP Zda.D, Pg/M, Zn.S

svadalp[_s64]_m

UADALP Z.D,P/M,Z.SUADALP Zda.D, Pg/M, Zn.S

svadalp[_u64]_m

SADALP Z.S,P/M,Z.HSADALP Zda.S, Pg/M, Zn.H

svadalp[_s32]_m

UADALP Z.S,P/M,Z.HUADALP Zda.S, Pg/M, Zn.H

svadalp[_u32]_m

SADALP Z.H,P/M,Z.BSADALP Zda.H, Pg/M, Zn.B

svadalp[_s16]_m

UADALP Z.H,P/M,Z.BUADALP Zda.H, Pg/M, Zn.B

svadalp[_u16]_m

add with carry

ADCLB Z.D,Z.D,Z.DADCLB Zda.D, Zn.D, Zm.D

svadclb[_u64]

ADCLT Z.D,Z.D,Z.DADCLT Zda.D, Zn.D, Zm.D

svadclt[_u64]

ADCLB Z.S,Z.S,Z.SADCLB Zda.S, Zn.S, Zm.S

svadclb[_u32]

ADCLT Z.S,Z.S,Z.SADCLT Zda.S, Zn.S, Zm.S

svadclt[_u32]

add with left shift / extend

ADR Z.D,[Z.D,Z.D]ADR Zd.D, [Zn.D, Zm.D]

svadrb[_u64base]_[{s,u}64]offset

ADR Z.D,[Z.D,Z.D,LSL #1]ADR Zd.D, [Zn.D, Zm.D, LSL #1]

svadrh[_u64base]_[{s,u}64]index

ADR Z.D,[Z.D,Z.D,LSL #2]ADR Zd.D, [Zn.D, Zm.D, LSL #2]

svadrw[_u64base]_[{s,u}64]index

ADR Z.D,[Z.D,Z.D,LSL #3]ADR Zd.D, [Zn.D, Zm.D, LSL #3]

svadrd[_u64base]_[{s,u}64]index

ADR Z.D,[Z.D,Z.D,SXTW]ADR Zd.D, [Zn.D, Zm.D, SXTW]

ADR Z.D,[Z.D,Z.D,SXTW #1]ADR Zd.D, [Zn.D, Zm.D, SXTW #1]

ADR Z.D,[Z.D,Z.D,SXTW #2]ADR Zd.D, [Zn.D, Zm.D, SXTW #2]

ADR Z.D,[Z.D,Z.D,SXTW #3]ADR Zd.D, [Zn.D, Zm.D, SXTW #3]

ADR Z.D,[Z.D,Z.D,UXTW]ADR Zd.D, [Zn.D, Zm.D, UXTW]

ADR Z.D,[Z.D,Z.D,UXTW #1]ADR Zd.D, [Zn.D, Zm.D, UXTW #1]

ADR Z.D,[Z.D,Z.D,UXTW #2]ADR Zd.D, [Zn.D, Zm.D, UXTW #2]

ADR Z.D,[Z.D,Z.D,UXTW #3]ADR Zd.D, [Zn.D, Zm.D, UXTW #3]

ADR Z.S,[Z.S,Z.S]ADR Zd.S, [Zn.S, Zm.S]

svadrb[_u32base]_[{s,u}32]offset

ADR Z.S,[Z.S,Z.S,LSL #1]ADR Zd.S, [Zn.S, Zm.S, LSL #1]

svadrh[_u32base]_[{s,u}32]index

ADR Z.S,[Z.S,Z.S,LSL #2]ADR Zd.S, [Zn.S, Zm.S, LSL #2]

svadrw[_u32base]_[{s,u}32]index

ADR Z.S,[Z.S,Z.S,LSL #3]ADR Zd.S, [Zn.S, Zm.S, LSL #3]

svadrd[_u32base]_[{s,u}32]index

sub

SUB Z.D,Z.D,Z.DSUB Zd.D, Zn.D, Zm.D

svsub[_{s,u}64]_x

SUB Z.D,P/M,Z.D,Z.DSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svsub[_{s,u}64]_m

SUB Z.D,Z.D,#iSUB Zdn.D, Zdn.D, #imm

svsub[_n_{s,u}64]_x

SUBR Z.D,P/M,Z.D,Z.DSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svsubr[_{s,u}64]_m

SUBR Z.D,Z.D,#iSUBR Zdn.D, Zdn.D, #imm

svsubr[_n_{s,u}64]_x

SQSUB Z.D,Z.D,Z.DSQSUB Zd.D, Zn.D, Zm.D

svqsub[_s64]

UQSUB Z.D,Z.D,Z.DUQSUB Zd.D, Zn.D, Zm.D

svqsub[_u64]

SQSUB Z.D,Z.D,#iSQSUB Zdn.D, Zdn.D, #imm

svqsub[_n_s64]

UQSUB Z.D,Z.D,#iUQSUB Zdn.D, Zdn.D, #imm

svqsub[_n_u64]

SQSUB Z.D,P/M,Z.D,Z.DSQSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svqsub[_s64]_m

UQSUB Z.D,P/M,Z.D,Z.DUQSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svqsub[_u64]_m

SQSUBR Z.D,P/M,Z.D,Z.DSQSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svqsubr[_s64]_m

UQSUBR Z.D,P/M,Z.D,Z.DUQSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svqsubr[_u64]_m

SUB Z.S,Z.S,Z.SSUB Zd.S, Zn.S, Zm.S

svsub[_{s,u}32]_x

SUB Z.S,P/M,Z.S,Z.SSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svsub[_{s,u}32]_m

SUB Z.S,Z.S,#iSUB Zdn.S, Zdn.S, #imm

svsub[_n_{s,u}32]_x

SUBR Z.S,P/M,Z.S,Z.SSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svsubr[_{s,u}32]_m

SUBR Z.S,Z.S,#iSUBR Zdn.S, Zdn.S, #imm

svsubr[_n_{s,u}32]_x

SQSUB Z.S,Z.S,Z.SSQSUB Zd.S, Zn.S, Zm.S

svqsub[_s32]

UQSUB Z.S,Z.S,Z.SUQSUB Zd.S, Zn.S, Zm.S

svqsub[_u32]

SQSUB Z.S,Z.S,#iSQSUB Zdn.S, Zdn.S, #imm

svqsub[_n_s32]

UQSUB Z.S,Z.S,#iUQSUB Zdn.S, Zdn.S, #imm

svqsub[_n_u32]

SQSUB Z.S,P/M,Z.S,Z.SSQSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svqsub[_s32]_m

UQSUB Z.S,P/M,Z.S,Z.SUQSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svqsub[_u32]_m

SQSUBR Z.S,P/M,Z.S,Z.SSQSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svqsubr[_s32]_m

UQSUBR Z.S,P/M,Z.S,Z.SUQSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svqsubr[_u32]_m

SUB Z.H,Z.H,Z.HSUB Zd.H, Zn.H, Zm.H

svsub[_{s,u}16]_x

SUB Z.H,P/M,Z.H,Z.HSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svsub[_{s,u}16]_m

SUB Z.H,Z.H,#iSUB Zdn.H, Zdn.H, #imm

svsub[_n_{s,u}16]_x

SUBR Z.H,P/M,Z.H,Z.HSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svsubr[_{s,u}16]_m

SUBR Z.H,Z.H,#iSUBR Zdn.H, Zdn.H, #imm

svsubr[_n_{s,u}16]_x

SQSUB Z.H,Z.H,Z.HSQSUB Zd.H, Zn.H, Zm.H

svqsub[_s16]

UQSUB Z.H,Z.H,Z.HUQSUB Zd.H, Zn.H, Zm.H

svqsub[_u16]

SQSUB Z.H,Z.H,#iSQSUB Zdn.H, Zdn.H, #imm

svqsub[_n_s16]

UQSUB Z.H,Z.H,#iUQSUB Zdn.H, Zdn.H, #imm

svqsub[_n_u16]

SQSUB Z.H,P/M,Z.H,Z.HSQSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svqsub[_s16]_m

UQSUB Z.H,P/M,Z.H,Z.HUQSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svqsub[_u16]_m

SQSUBR Z.H,P/M,Z.H,Z.HSQSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svqsubr[_s16]_m

UQSUBR Z.H,P/M,Z.H,Z.HUQSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svqsubr[_u16]_m

SUB Z.B,Z.B,Z.BSUB Zd.B, Zn.B, Zm.B

svsub[_{s,u}8]_x

SUB Z.B,P/M,Z.B,Z.BSUB Zdn.B, Pg/M, Zdn.B, Zm.B

svsub[_{s,u}8]_m

SUB Z.B,Z.B,#iSUB Zdn.B, Zdn.B, #imm

svsub[_n_{s,u}8]_x

SUBR Z.B,P/M,Z.B,Z.BSUBR Zdn.B, Pg/M, Zdn.B, Zm.B

svsubr[_{s,u}8]_m

SUBR Z.B,Z.B,#iSUBR Zdn.B, Zdn.B, #imm

svsubr[_n_{s,u}8]_x

SQSUB Z.B,Z.B,Z.BSQSUB Zd.B, Zn.B, Zm.B

svqsub[_s8]

UQSUB Z.B,Z.B,Z.BUQSUB Zd.B, Zn.B, Zm.B

svqsub[_u8]

SQSUB Z.B,Z.B,#iSQSUB Zdn.B, Zdn.B, #imm

svqsub[_n_s8]

UQSUB Z.B,Z.B,#iUQSUB Zdn.B, Zdn.B, #imm

svqsub[_n_u8]

SQSUB Z.B,P/M,Z.B,Z.BSQSUB Zdn.B, Pg/M, Zdn.B, Zm.B

svqsub[_s8]_m

UQSUB Z.B,P/M,Z.B,Z.BUQSUB Zdn.B, Pg/M, Zdn.B, Zm.B

svqsub[_u8]_m

SQSUBR Z.B,P/M,Z.B,Z.BSQSUBR Zdn.B, Pg/M, Zdn.B, Zm.B

svqsubr[_s8]_m

UQSUBR Z.B,P/M,Z.B,Z.BUQSUBR Zdn.B, Pg/M, Zdn.B, Zm.B

svqsubr[_u8]_m

FSUB Z.D,Z.D,Z.DFSUB Zd.D, Zn.D, Zm.D

svsub[_f64]_x

FSUB Z.D,P/M,Z.D,Z.DFSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svsub[_f64]_m

FSUB Z.D,P/M,Z.D,#0.5FSUB Zdn.D, Pg/M, Zdn.D, #0.5

FSUB Z.D,P/M,Z.D,#1.0FSUB Zdn.D, Pg/M, Zdn.D, #1.0

svsub[_n_f64]_m

FSUBR Z.D,P/M,Z.D,Z.DFSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svsubr[_f64]_m

FSUBR Z.D,P/M,Z.D,#0.5FSUBR Zdn.D, Pg/M, Zdn.D, #0.5

FSUBR Z.D,P/M,Z.D,#1.0FSUBR Zdn.D, Pg/M, Zdn.D, #1.0

svsubr[_n_f64]_m

FSUB Z.S,Z.S,Z.SFSUB Zd.S, Zn.S, Zm.S

svsub[_f32]_x

FSUB Z.S,P/M,Z.S,Z.SFSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svsub[_f32]_m

FSUB Z.S,P/M,Z.S,#0.5FSUB Zdn.S, Pg/M, Zdn.S, #0.5

FSUB Z.S,P/M,Z.S,#1.0FSUB Zdn.S, Pg/M, Zdn.S, #1.0

svsub[_n_f32]_m

FSUBR Z.S,P/M,Z.S,Z.SFSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svsubr[_f32]_m

FSUBR Z.S,P/M,Z.S,#0.5FSUBR Zdn.S, Pg/M, Zdn.S, #0.5

FSUBR Z.S,P/M,Z.S,#1.0FSUBR Zdn.S, Pg/M, Zdn.S, #1.0

svsubr[_n_f32]_m

FSUB Z.H,Z.H,Z.HFSUB Zd.H, Zn.H, Zm.H

svsub[_f16]_x

FSUB Z.H,P/M,Z.H,Z.HFSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svsub[_f16]_m

FSUB Z.H,P/M,Z.H,#0.5FSUB Zdn.H, Pg/M, Zdn.H, #0.5

FSUB Z.H,P/M,Z.H,#1.0FSUB Zdn.H, Pg/M, Zdn.H, #1.0

svsub[_n_f16]_m

FSUBR Z.H,P/M,Z.H,Z.HFSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svsubr[_f16]_m

FSUBR Z.H,P/M,Z.H,#0.5FSUBR Zdn.H, Pg/M, Zdn.H, #0.5

FSUBR Z.H,P/M,Z.H,#1.0FSUBR Zdn.H, Pg/M, Zdn.H, #1.0

svsubr[_n_f16]_m

BFSUB Z.H,Z.H,Z.HBFSUB Zd.H, Zn.H, Zm.H

BFSUB Z.H,P/M,Z.H,Z.HBFSUB Zdn.H, Pg/M, Zdn.H, Zm.H

sub (half-width element)

SSUBWB Z.D,Z.D,Z.SSSUBWB Zd.D, Zn.D, Zm.S

svsubwb[_s64]

SSUBWT Z.D,Z.D,Z.SSSUBWT Zd.D, Zn.D, Zm.S

svsubwt[_s64]

USUBWB Z.D,Z.D,Z.SUSUBWB Zd.D, Zn.D, Zm.S

svsubwb[_u64]

USUBWT Z.D,Z.D,Z.SUSUBWT Zd.D, Zn.D, Zm.S

svsubwt[_u64]

SSUBWB Z.S,Z.S,Z.HSSUBWB Zd.S, Zn.S, Zm.H

svsubwb[_s32]

SSUBWT Z.S,Z.S,Z.HSSUBWT Zd.S, Zn.S, Zm.H

svsubwt[_s32]

USUBWB Z.S,Z.S,Z.HUSUBWB Zd.S, Zn.S, Zm.H

svsubwb[_u32]

USUBWT Z.S,Z.S,Z.HUSUBWT Zd.S, Zn.S, Zm.H

svsubwt[_u32]

SSUBWB Z.H,Z.H,Z.BSSUBWB Zd.H, Zn.H, Zm.B

svsubwb[_s16]

SSUBWT Z.H,Z.H,Z.BSSUBWT Zd.H, Zn.H, Zm.B

svsubwt[_s16]

USUBWB Z.H,Z.H,Z.BUSUBWB Zd.H, Zn.H, Zm.B

svsubwb[_u16]

USUBWT Z.H,Z.H,Z.BUSUBWT Zd.H, Zn.H, Zm.B

svsubwt[_u16]

sub (double-width result)

SSUBLB Z.D,Z.S,Z.SSSUBLB Zd.D, Zn.S, Zm.S

svsublb[_s64]

SSUBLT Z.D,Z.S,Z.SSSUBLT Zd.D, Zn.S, Zm.S

svsublt[_s64]

USUBLB Z.D,Z.S,Z.SUSUBLB Zd.D, Zn.S, Zm.S

svsublb[_u64]

USUBLT Z.D,Z.S,Z.SUSUBLT Zd.D, Zn.S, Zm.S

svsublt[_u64]

SSUBLBT Z.D,Z.S,Z.SSSUBLBT Zd.D, Zn.S, Zm.S

svsublbt[_s64]

SSUBLTB Z.D,Z.S,Z.SSSUBLTB Zd.D, Zn.S, Zm.S

svsubltb[_s64]

SSUBLB Z.S,Z.H,Z.HSSUBLB Zd.S, Zn.H, Zm.H

svsublb[_s32]

SSUBLT Z.S,Z.H,Z.HSSUBLT Zd.S, Zn.H, Zm.H

svsublt[_s32]

USUBLB Z.S,Z.H,Z.HUSUBLB Zd.S, Zn.H, Zm.H

svsublb[_u32]

USUBLT Z.S,Z.H,Z.HUSUBLT Zd.S, Zn.H, Zm.H

svsublt[_u32]

SSUBLBT Z.S,Z.H,Z.HSSUBLBT Zd.S, Zn.H, Zm.H

svsublbt[_s32]

SSUBLTB Z.S,Z.H,Z.HSSUBLTB Zd.S, Zn.H, Zm.H

svsubltb[_s32]

SSUBLB Z.H,Z.B,Z.BSSUBLB Zd.H, Zn.B, Zm.B

svsublb[_s16]

SSUBLT Z.H,Z.B,Z.BSSUBLT Zd.H, Zn.B, Zm.B

svsublt[_s16]

USUBLB Z.H,Z.B,Z.BUSUBLB Zd.H, Zn.B, Zm.B

svsublb[_u16]

USUBLT Z.H,Z.B,Z.BUSUBLT Zd.H, Zn.B, Zm.B

svsublt[_u16]

SSUBLBT Z.H,Z.B,Z.BSSUBLBT Zd.H, Zn.B, Zm.B

svsublbt[_s16]

SSUBLTB Z.H,Z.B,Z.BSSUBLTB Zd.H, Zn.B, Zm.B

svsubltb[_s16]

halving sub

SHSUB Z.D,P/M,Z.D,Z.DSHSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svhsub[_s64]_m

SHSUBR Z.D,P/M,Z.D,Z.DSHSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svhsubr[_s64]_m

UHSUB Z.D,P/M,Z.D,Z.DUHSUB Zdn.D, Pg/M, Zdn.D, Zm.D

svhsub[_u64]_m

UHSUBR Z.D,P/M,Z.D,Z.DUHSUBR Zdn.D, Pg/M, Zdn.D, Zm.D

svhsubr[_u64]_m

SHSUB Z.S,P/M,Z.S,Z.SSHSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svhsub[_s32]_m

SHSUBR Z.S,P/M,Z.S,Z.SSHSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svhsubr[_s32]_m

UHSUB Z.S,P/M,Z.S,Z.SUHSUB Zdn.S, Pg/M, Zdn.S, Zm.S

svhsub[_u32]_m

UHSUBR Z.S,P/M,Z.S,Z.SUHSUBR Zdn.S, Pg/M, Zdn.S, Zm.S

svhsubr[_u32]_m

SHSUB Z.H,P/M,Z.H,Z.HSHSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svhsub[_s16]_m

SHSUBR Z.H,P/M,Z.H,Z.HSHSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svhsubr[_s16]_m

UHSUB Z.H,P/M,Z.H,Z.HUHSUB Zdn.H, Pg/M, Zdn.H, Zm.H

svhsub[_u16]_m

UHSUBR Z.H,P/M,Z.H,Z.HUHSUBR Zdn.H, Pg/M, Zdn.H, Zm.H

svhsubr[_u16]_m

SHSUB Z.B,P/M,Z.B,Z.BSHSUB Zdn.B, Pg/M, Zdn.B, Zm.B

svhsub[_s8]_m

SHSUBR Z.B,P/M,Z.B,Z.BSHSUBR Zdn.B, Pg/M, Zdn.B, Zm.B

svhsubr[_s8]_m

UHSUB Z.B,P/M,Z.B,Z.BUHSUB Zdn.B, Pg/M, Zdn.B, Zm.B

svhsub[_u8]_m

UHSUBR Z.B,P/M,Z.B,Z.BUHSUBR Zdn.B, Pg/M, Zdn.B, Zm.B

svhsubr[_u8]_m

sub (narrowing, high part)

SUBHNB Z.S,Z.D,Z.DSUBHNB Zd.S, Zn.D, Zm.D

svsubhnb[_{s,u}64]

SUBHNT Z.S,Z.D,Z.DSUBHNT Zd.S, Zn.D, Zm.D

svsubhnt[_{s,u}64]

RSUBHNB Z.S,Z.D,Z.DRSUBHNB Zd.S, Zn.D, Zm.D

svrsubhnb[_{s,u}64]

RSUBHNT Z.S,Z.D,Z.DRSUBHNT Zd.S, Zn.D, Zm.D

svrsubhnt[_{s,u}64]

SUBHNB Z.H,Z.S,Z.SSUBHNB Zd.H, Zn.S, Zm.S

svsubhnb[_{s,u}32]

SUBHNT Z.H,Z.S,Z.SSUBHNT Zd.H, Zn.S, Zm.S

svsubhnt[_{s,u}32]

RSUBHNB Z.H,Z.S,Z.SRSUBHNB Zd.H, Zn.S, Zm.S

svrsubhnb[_{s,u}32]

RSUBHNT Z.H,Z.S,Z.SRSUBHNT Zd.H, Zn.S, Zm.S

svrsubhnt[_{s,u}32]

SUBHNB Z.B,Z.H,Z.HSUBHNB Zd.B, Zn.H, Zm.H

svsubhnb[_{s,u}16]

SUBHNT Z.B,Z.H,Z.HSUBHNT Zd.B, Zn.H, Zm.H

svsubhnt[_{s,u}16]

RSUBHNB Z.B,Z.H,Z.HRSUBHNB Zd.B, Zn.H, Zm.H

svrsubhnb[_{s,u}16]

RSUBHNT Z.B,Z.H,Z.HRSUBHNT Zd.B, Zn.H, Zm.H

svrsubhnt[_{s,u}16]

sub with carry

SBCLB Z.D,Z.D,Z.DSBCLB Zda.D, Zn.D, Zm.D

svsbclb[_u64]

SBCLT Z.D,Z.D,Z.DSBCLT Zda.D, Zn.D, Zm.D

svsbclt[_u64]

SBCLB Z.S,Z.S,Z.SSBCLB Zda.S, Zn.S, Zm.S

svsbclb[_u32]

SBCLT Z.S,Z.S,Z.SSBCLT Zda.S, Zn.S, Zm.S

svsbclt[_u32]

mul

MUL Z.D,Z.D,#iMUL Zdn.D, Zdn.D, #imm

svmul[_n_{s,u}64]_x

MUL Z.D,Z.D,Z.D[i]MUL Zd.D, Zn.D, Zm.D[imm]

svmul_lane[_{s,u}64]

MUL Z.D,P/M,Z.D,Z.DMUL Zdn.D, Pg/M, Zdn.D, Zm.D

svmul[_{s,u}64]_m

MUL Z.D,Z.D,Z.DMUL Zd.D, Zn.D, Zm.D

MUL Z.S,Z.S,#iMUL Zdn.S, Zdn.S, #imm

svmul[_n_{s,u}32]_x

MUL Z.S,Z.S,Z.S[i]MUL Zd.S, Zn.S, Zm.S[imm]

svmul_lane[_{s,u}32]

MUL Z.S,P/M,Z.S,Z.SMUL Zdn.S, Pg/M, Zdn.S, Zm.S

svmul[_{s,u}32]_m

MUL Z.S,Z.S,Z.SMUL Zd.S, Zn.S, Zm.S

MUL Z.H,Z.H,#iMUL Zdn.H, Zdn.H, #imm

svmul[_n_{s,u}16]_x

MUL Z.H,Z.H,Z.H[i]MUL Zd.H, Zn.H, Zm.H[imm]

svmul_lane[_{s,u}16]

MUL Z.H,P/M,Z.H,Z.HMUL Zdn.H, Pg/M, Zdn.H, Zm.H

svmul[_{s,u}16]_m

MUL Z.H,Z.H,Z.HMUL Zd.H, Zn.H, Zm.H

MUL Z.B,Z.B,#iMUL Zdn.B, Zdn.B, #imm

svmul[_n_{s,u}8]_x

MUL Z.B,P/M,Z.B,Z.BMUL Zdn.B, Pg/M, Zdn.B, Zm.B

svmul[_{s,u}8]_m

MUL Z.B,Z.B,Z.BMUL Zd.B, Zn.B, Zm.B

FMUL Z.D,Z.D,Z.DFMUL Zd.D, Zn.D, Zm.D

svmul[_f64]_x

FMUL Z.D,Z.D,Z.D[i]FMUL Zd.D, Zn.D, Zm.D[imm]

svmul_lane[_f64]

FMUL Z.D,P/M,Z.D,Z.DFMUL Zdn.D, Pg/M, Zdn.D, Zm.D

svmul[_f64]_m

FMUL Z.D,P/M,Z.D,#0.5FMUL Zdn.D, Pg/M, Zdn.D, #0.5

FMUL Z.D,P/M,Z.D,#2.0FMUL Zdn.D, Pg/M, Zdn.D, #2.0

svmul[_n_f64]_m

FMUL Z.S,Z.S,Z.SFMUL Zd.S, Zn.S, Zm.S

svmul[_f32]_x

FMUL Z.S,Z.S,Z.S[i]FMUL Zd.S, Zn.S, Zm.S[imm]

svmul_lane[_f32]

FMUL Z.S,P/M,Z.S,Z.SFMUL Zdn.S, Pg/M, Zdn.S, Zm.S

svmul[_f32]_m

FMUL Z.S,P/M,Z.S,#0.5FMUL Zdn.S, Pg/M, Zdn.S, #0.5

FMUL Z.S,P/M,Z.S,#2.0FMUL Zdn.S, Pg/M, Zdn.S, #2.0

svmul[_n_f32]_m

FMUL Z.H,Z.H,Z.HFMUL Zd.H, Zn.H, Zm.H

svmul[_f16]_x

FMUL Z.H,Z.H,Z.H[i]FMUL Zd.H, Zn.H, Zm.H[imm]

svmul_lane[_f16]

FMUL Z.H,P/M,Z.H,Z.HFMUL Zdn.H, Pg/M, Zdn.H, Zm.H

svmul[_f16]_m

FMUL Z.H,P/M,Z.H,#0.5FMUL Zdn.H, Pg/M, Zdn.H, #0.5

FMUL Z.H,P/M,Z.H,#2.0FMUL Zdn.H, Pg/M, Zdn.H, #2.0

svmul[_n_f16]_m

BFMUL Z.H,Z.H,Z.HBFMUL Zd.H, Zn.H, Zm.H

BFMUL Z.H,Z.H,Z.H[i]BFMUL Zd.H, Zn.H, Zm.H[imm]

BFMUL Z.H,P/M,Z.H,Z.HBFMUL Zdn.H, Pg/M, Zdn.H, Zm.H

mul (high)

SMULH Z.D,P/M,Z.D,Z.DSMULH Zdn.D, Pg/M, Zdn.D, Zm.D

svmulh[_s64]_m

UMULH Z.D,P/M,Z.D,Z.DUMULH Zdn.D, Pg/M, Zdn.D, Zm.D

svmulh[_u64]_m

SMULH Z.D,Z.D,Z.DSMULH Zd.D, Zn.D, Zm.D

UMULH Z.D,Z.D,Z.DUMULH Zd.D, Zn.D, Zm.D

SMULH Z.S,P/M,Z.S,Z.SSMULH Zdn.S, Pg/M, Zdn.S, Zm.S

svmulh[_s32]_m

UMULH Z.S,P/M,Z.S,Z.SUMULH Zdn.S, Pg/M, Zdn.S, Zm.S

svmulh[_u32]_m

SMULH Z.S,Z.S,Z.SSMULH Zd.S, Zn.S, Zm.S

UMULH Z.S,Z.S,Z.SUMULH Zd.S, Zn.S, Zm.S

SMULH Z.H,P/M,Z.H,Z.HSMULH Zdn.H, Pg/M, Zdn.H, Zm.H

svmulh[_s16]_m

UMULH Z.H,P/M,Z.H,Z.HUMULH Zdn.H, Pg/M, Zdn.H, Zm.H

svmulh[_u16]_m

SMULH Z.H,Z.H,Z.HSMULH Zd.H, Zn.H, Zm.H

UMULH Z.H,Z.H,Z.HUMULH Zd.H, Zn.H, Zm.H

SMULH Z.B,P/M,Z.B,Z.BSMULH Zdn.B, Pg/M, Zdn.B, Zm.B

svmulh[_s8]_m

UMULH Z.B,P/M,Z.B,Z.BUMULH Zdn.B, Pg/M, Zdn.B, Zm.B

svmulh[_u8]_m

SMULH Z.B,Z.B,Z.BSMULH Zd.B, Zn.B, Zm.B

UMULH Z.B,Z.B,Z.BUMULH Zd.B, Zn.B, Zm.B

mul (double-width result)

SMULLB Z.D,Z.S,Z.SSMULLB Zd.D, Zn.S, Zm.S

svmullb[_s64]

SMULLB Z.D,Z.S,Z.S[i]SMULLB Zd.D, Zn.S, Zm.S[imm]

svmullb_lane[_s64]

SMULLT Z.D,Z.S,Z.SSMULLT Zd.D, Zn.S, Zm.S

svmullt[_s64]

SMULLT Z.D,Z.S,Z.S[i]SMULLT Zd.D, Zn.S, Zm.S[imm]

svmullt_lane[_s64]

UMULLB Z.D,Z.S,Z.SUMULLB Zd.D, Zn.S, Zm.S

svmullb[_u64]

UMULLB Z.D,Z.S,Z.S[i]UMULLB Zd.D, Zn.S, Zm.S[imm]

svmullb_lane[_u64]

UMULLT Z.D,Z.S,Z.SUMULLT Zd.D, Zn.S, Zm.S

svmullt[_u64]

UMULLT Z.D,Z.S,Z.S[i]UMULLT Zd.D, Zn.S, Zm.S[imm]

svmullt_lane[_u64]

SMULLB Z.S,Z.H,Z.HSMULLB Zd.S, Zn.H, Zm.H

svmullb[_s32]

SMULLB Z.S,Z.H,Z.H[i]SMULLB Zd.S, Zn.H, Zm.H[imm]

svmullb_lane[_s32]

SMULLT Z.S,Z.H,Z.HSMULLT Zd.S, Zn.H, Zm.H

svmullt[_s32]

SMULLT Z.S,Z.H,Z.H[i]SMULLT Zd.S, Zn.H, Zm.H[imm]

svmullt_lane[_s32]

UMULLB Z.S,Z.H,Z.HUMULLB Zd.S, Zn.H, Zm.H

svmullb[_u32]

UMULLB Z.S,Z.H,Z.H[i]UMULLB Zd.S, Zn.H, Zm.H[imm]

svmullb_lane[_u32]

UMULLT Z.S,Z.H,Z.HUMULLT Zd.S, Zn.H, Zm.H

svmullt[_u32]

UMULLT Z.S,Z.H,Z.H[i]UMULLT Zd.S, Zn.H, Zm.H[imm]

svmullt_lane[_u32]

SMULLB Z.H,Z.B,Z.BSMULLB Zd.H, Zn.B, Zm.B

svmullb[_s16]

SMULLT Z.H,Z.B,Z.BSMULLT Zd.H, Zn.B, Zm.B

svmullt[_s16]

UMULLB Z.H,Z.B,Z.BUMULLB Zd.H, Zn.B, Zm.B

svmullb[_u16]

UMULLT Z.H,Z.B,Z.BUMULLT Zd.H, Zn.B, Zm.B

svmullt[_u16]

div

SDIV Z.D,P/M,Z.D,Z.DSDIV Zdn.D, Pg/M, Zdn.D, Zm.D

svdiv[_s64]_m

UDIV Z.D,P/M,Z.D,Z.DUDIV Zdn.D, Pg/M, Zdn.D, Zm.D

svdiv[_u64]_m

SDIVR Z.D,P/M,Z.D,Z.DSDIVR Zdn.D, Pg/M, Zdn.D, Zm.D

svdivr[_s64]_m

UDIVR Z.D,P/M,Z.D,Z.DUDIVR Zdn.D, Pg/M, Zdn.D, Zm.D

svdivr[_u64]_m

SDIV Z.S,P/M,Z.S,Z.SSDIV Zdn.S, Pg/M, Zdn.S, Zm.S

svdiv[_s32]_m

UDIV Z.S,P/M,Z.S,Z.SUDIV Zdn.S, Pg/M, Zdn.S, Zm.S

svdiv[_u32]_m

SDIVR Z.S,P/M,Z.S,Z.SSDIVR Zdn.S, Pg/M, Zdn.S, Zm.S

svdivr[_s32]_m

UDIVR Z.S,P/M,Z.S,Z.SUDIVR Zdn.S, Pg/M, Zdn.S, Zm.S

svdivr[_u32]_m

FDIV Z.D,P/M,Z.D,Z.DFDIV Zdn.D, Pg/M, Zdn.D, Zm.D

svdiv[_f64]_m

FDIVR Z.D,P/M,Z.D,Z.DFDIVR Zdn.D, Pg/M, Zdn.D, Zm.D

svdivr[_f64]_m

FDIV Z.S,P/M,Z.S,Z.SFDIV Zdn.S, Pg/M, Zdn.S, Zm.S

svdiv[_f32]_m

FDIVR Z.S,P/M,Z.S,Z.SFDIVR Zdn.S, Pg/M, Zdn.S, Zm.S

svdivr[_f32]_m

FDIV Z.H,P/M,Z.H,Z.HFDIV Zdn.H, Pg/M, Zdn.H, Zm.H

svdiv[_f16]_m

FDIVR Z.H,P/M,Z.H,Z.HFDIVR Zdn.H, Pg/M, Zdn.H, Zm.H

svdivr[_f16]_m

neg

NEG Z.D,P/M,Z.DNEG Zd.D, Pg/M, Zn.D

svneg[_s64]_m

SQNEG Z.D,P/M,Z.DSQNEG Zd.D, Pg/M, Zn.D

svqneg[_s64]_m

NEG Z.S,P/M,Z.SNEG Zd.S, Pg/M, Zn.S

svneg[_s32]_m

SQNEG Z.S,P/M,Z.SSQNEG Zd.S, Pg/M, Zn.S

svqneg[_s32]_m

NEG Z.H,P/M,Z.HNEG Zd.H, Pg/M, Zn.H

svneg[_s16]_m

SQNEG Z.H,P/M,Z.HSQNEG Zd.H, Pg/M, Zn.H

svqneg[_s16]_m

NEG Z.B,P/M,Z.BNEG Zd.B, Pg/M, Zn.B

svneg[_s8]_m

SQNEG Z.B,P/M,Z.BSQNEG Zd.B, Pg/M, Zn.B

svqneg[_s8]_m

FNEG Z.D,P/M,Z.DFNEG Zd.D, Pg/M, Zn.D

svneg[_f64]_m

FNEG Z.S,P/M,Z.SFNEG Zd.S, Pg/M, Zn.S

svneg[_f32]_m

FNEG Z.H,P/M,Z.HFNEG Zd.H, Pg/M, Zn.H

svneg[_f16]_m

abs

ABS Z.D,P/M,Z.DABS Zd.D, Pg/M, Zn.D

svabs[_s64]_m

SQABS Z.D,P/M,Z.DSQABS Zd.D, Pg/M, Zn.D

svqabs[_s64]_m

ABS Z.S,P/M,Z.SABS Zd.S, Pg/M, Zn.S

svabs[_s32]_m

SQABS Z.S,P/M,Z.SSQABS Zd.S, Pg/M, Zn.S

svqabs[_s32]_m

ABS Z.H,P/M,Z.HABS Zd.H, Pg/M, Zn.H

svabs[_s16]_m

SQABS Z.H,P/M,Z.HSQABS Zd.H, Pg/M, Zn.H

svqabs[_s16]_m

ABS Z.B,P/M,Z.BABS Zd.B, Pg/M, Zn.B

svabs[_s8]_m

SQABS Z.B,P/M,Z.BSQABS Zd.B, Pg/M, Zn.B

svqabs[_s8]_m

FABS Z.D,P/M,Z.DFABS Zd.D, Pg/M, Zn.D

svabs[_f64]_m

FABS Z.S,P/M,Z.SFABS Zd.S, Pg/M, Zn.S

svabs[_f32]_m

FABS Z.H,P/M,Z.HFABS Zd.H, Pg/M, Zn.H

svabs[_f16]_m

clamp

SCLAMP Z.D,Z.D,Z.DSCLAMP Zd.D, Zn.D, Zm.D

UCLAMP Z.D,Z.D,Z.DUCLAMP Zd.D, Zn.D, Zm.D

SCLAMP Z.S,Z.S,Z.SSCLAMP Zd.S, Zn.S, Zm.S

UCLAMP Z.S,Z.S,Z.SUCLAMP Zd.S, Zn.S, Zm.S

SCLAMP Z.H,Z.H,Z.HSCLAMP Zd.H, Zn.H, Zm.H

UCLAMP Z.H,Z.H,Z.HUCLAMP Zd.H, Zn.H, Zm.H

SCLAMP Z.B,Z.B,Z.BSCLAMP Zd.B, Zn.B, Zm.B

UCLAMP Z.B,Z.B,Z.BUCLAMP Zd.B, Zn.B, Zm.B

FCLAMP Z.D,Z.D,Z.DFCLAMP Zd.D, Zn.D, Zm.D

FCLAMP Z.S,Z.S,Z.SFCLAMP Zd.S, Zn.S, Zm.S

FCLAMP Z.H,Z.H,Z.HFCLAMP Zd.H, Zn.H, Zm.H

BFCLAMP Z.H,Z.H,Z.HBFCLAMP Zd.H, Zn.H, Zm.H

min

SMIN Z.D,P/M,Z.D,Z.DSMIN Zdn.D, Pg/M, Zdn.D, Zm.D

svmin[_s64]_m

UMIN Z.D,P/M,Z.D,Z.DUMIN Zdn.D, Pg/M, Zdn.D, Zm.D

svmin[_u64]_m

SMIN Z.D,Z.D,#iSMIN Zdn.D, Zdn.D, #imm

svmin[_n_s64]_x

UMIN Z.D,Z.D,#iUMIN Zdn.D, Zdn.D, #imm

svmin[_n_u64]_x

SMIN Z.S,P/M,Z.S,Z.SSMIN Zdn.S, Pg/M, Zdn.S, Zm.S

svmin[_s32]_m

UMIN Z.S,P/M,Z.S,Z.SUMIN Zdn.S, Pg/M, Zdn.S, Zm.S

svmin[_u32]_m

SMIN Z.S,Z.S,#iSMIN Zdn.S, Zdn.S, #imm

svmin[_n_s32]_x

UMIN Z.S,Z.S,#iUMIN Zdn.S, Zdn.S, #imm

svmin[_n_u32]_x

SMIN Z.H,P/M,Z.H,Z.HSMIN Zdn.H, Pg/M, Zdn.H, Zm.H

svmin[_s16]_m

UMIN Z.H,P/M,Z.H,Z.HUMIN Zdn.H, Pg/M, Zdn.H, Zm.H

svmin[_u16]_m

SMIN Z.H,Z.H,#iSMIN Zdn.H, Zdn.H, #imm

svmin[_n_s16]_x

UMIN Z.H,Z.H,#iUMIN Zdn.H, Zdn.H, #imm

svmin[_n_u16]_x

SMIN Z.B,P/M,Z.B,Z.BSMIN Zdn.B, Pg/M, Zdn.B, Zm.B

svmin[_s8]_m

UMIN Z.B,P/M,Z.B,Z.BUMIN Zdn.B, Pg/M, Zdn.B, Zm.B

svmin[_u8]_m

SMIN Z.B,Z.B,#iSMIN Zdn.B, Zdn.B, #imm

svmin[_n_s8]_x

UMIN Z.B,Z.B,#iUMIN Zdn.B, Zdn.B, #imm

svmin[_n_u8]_x

FMIN Z.D,P/M,Z.D,Z.DFMIN Zdn.D, Pg/M, Zdn.D, Zm.D

svmin[_f64]_m

FMIN Z.D,P/M,Z.D,#1.0FMIN Zdn.D, Pg/M, Zdn.D, #1.0

svmin[_n_f64]_m

FMINNM Z.D,P/M,Z.D,Z.DFMINNM Zdn.D, Pg/M, Zdn.D, Zm.D

svminnm[_f64]_m

FMINNM Z.D,P/M,Z.D,#1.0FMINNM Zdn.D, Pg/M, Zdn.D, #1.0

svminnm[_n_f64]_m

FMIN Z.D,P/M,Z.D,#0.0FMIN Zdn.D, Pg/M, Zdn.D, #0.0

FMINNM Z.D,P/M,Z.D,#0.0FMINNM Zdn.D, Pg/M, Zdn.D, #0.0

FMIN Z.S,P/M,Z.S,Z.SFMIN Zdn.S, Pg/M, Zdn.S, Zm.S

svmin[_f32]_m

FMIN Z.S,P/M,Z.S,#1.0FMIN Zdn.S, Pg/M, Zdn.S, #1.0

svmin[_n_f32]_m

FMINNM Z.S,P/M,Z.S,Z.SFMINNM Zdn.S, Pg/M, Zdn.S, Zm.S

svminnm[_f32]_m

FMINNM Z.S,P/M,Z.S,#1.0FMINNM Zdn.S, Pg/M, Zdn.S, #1.0

svminnm[_n_f32]_m

FMIN Z.S,P/M,Z.S,#0.0FMIN Zdn.S, Pg/M, Zdn.S, #0.0

FMINNM Z.S,P/M,Z.S,#0.0FMINNM Zdn.S, Pg/M, Zdn.S, #0.0

FMIN Z.H,P/M,Z.H,Z.HFMIN Zdn.H, Pg/M, Zdn.H, Zm.H

svmin[_f16]_m

FMIN Z.H,P/M,Z.H,#1.0FMIN Zdn.H, Pg/M, Zdn.H, #1.0

svmin[_n_f16]_m

FMINNM Z.H,P/M,Z.H,Z.HFMINNM Zdn.H, Pg/M, Zdn.H, Zm.H

svminnm[_f16]_m

FMINNM Z.H,P/M,Z.H,#1.0FMINNM Zdn.H, Pg/M, Zdn.H, #1.0

svminnm[_n_f16]_m

FMIN Z.H,P/M,Z.H,#0.0FMIN Zdn.H, Pg/M, Zdn.H, #0.0

FMINNM Z.H,P/M,Z.H,#0.0FMINNM Zdn.H, Pg/M, Zdn.H, #0.0

BFMIN Z.H,P/M,Z.H,Z.HBFMIN Zdn.H, Pg/M, Zdn.H, Zm.H

BFMINNM Z.H,P/M,Z.H,Z.HBFMINNM Zdn.H, Pg/M, Zdn.H, Zm.H

pairwise min

SMINP Z.D,P/M,Z.D,Z.DSMINP Zdn.D, Pg/M, Zdn.D, Zm.D

svminp[_s64]_m

UMINP Z.D,P/M,Z.D,Z.DUMINP Zdn.D, Pg/M, Zdn.D, Zm.D

svminp[_u64]_m

SMINP Z.S,P/M,Z.S,Z.SSMINP Zdn.S, Pg/M, Zdn.S, Zm.S

svminp[_s32]_m

UMINP Z.S,P/M,Z.S,Z.SUMINP Zdn.S, Pg/M, Zdn.S, Zm.S

svminp[_u32]_m

SMINP Z.H,P/M,Z.H,Z.HSMINP Zdn.H, Pg/M, Zdn.H, Zm.H

svminp[_s16]_m

UMINP Z.H,P/M,Z.H,Z.HUMINP Zdn.H, Pg/M, Zdn.H, Zm.H

svminp[_u16]_m

SMINP Z.B,P/M,Z.B,Z.BSMINP Zdn.B, Pg/M, Zdn.B, Zm.B

svminp[_s8]_m

UMINP Z.B,P/M,Z.B,Z.BUMINP Zdn.B, Pg/M, Zdn.B, Zm.B

svminp[_u8]_m

FMINP Z.D,P/M,Z.D,Z.DFMINP Zdn.D, Pg/M, Zdn.D, Zm.D

svminp[_f64]_m

FMINNMP Z.D,P/M,Z.D,Z.DFMINNMP Zdn.D, Pg/M, Zdn.D, Zm.D

svminnmp[_f64]_m

FMINP Z.S,P/M,Z.S,Z.SFMINP Zdn.S, Pg/M, Zdn.S, Zm.S

svminp[_f32]_m

FMINNMP Z.S,P/M,Z.S,Z.SFMINNMP Zdn.S, Pg/M, Zdn.S, Zm.S

svminnmp[_f32]_m

FMINP Z.H,P/M,Z.H,Z.HFMINP Zdn.H, Pg/M, Zdn.H, Zm.H

svminp[_f16]_m

FMINNMP Z.H,P/M,Z.H,Z.HFMINNMP Zdn.H, Pg/M, Zdn.H, Zm.H

svminnmp[_f16]_m

min reduction

SMINV D,P,Z.DSMINV Dd, Pg, Zn.D

svminv[_s64]

UMINV D,P,Z.DUMINV Dd, Pg, Zn.D

svminv[_u64]

SMINQV V.2D,P,Z.DSMINQV Vd.2D, Pg, Zn.D

UMINQV V.2D,P,Z.DUMINQV Vd.2D, Pg, Zn.D

SMINV S,P,Z.SSMINV Sd, Pg, Zn.S

svminv[_s32]

UMINV S,P,Z.SUMINV Sd, Pg, Zn.S

svminv[_u32]

SMINQV V.4S,P,Z.SSMINQV Vd.4S, Pg, Zn.S

UMINQV V.4S,P,Z.SUMINQV Vd.4S, Pg, Zn.S

SMINV H,P,Z.HSMINV Hd, Pg, Zn.H

svminv[_s16]

UMINV H,P,Z.HUMINV Hd, Pg, Zn.H

svminv[_u16]

SMINQV V.8H,P,Z.HSMINQV Vd.8H, Pg, Zn.H

UMINQV V.8H,P,Z.HUMINQV Vd.8H, Pg, Zn.H

SMINV B,P,Z.BSMINV Bd, Pg, Zn.B

svminv[_s8]

UMINV B,P,Z.BUMINV Bd, Pg, Zn.B

svminv[_u8]

SMINQV V.16B,P,Z.BSMINQV Vd.16B, Pg, Zn.B

UMINQV V.16B,P,Z.BUMINQV Vd.16B, Pg, Zn.B

FMINV D,P,Z.DFMINV Dd, Pg, Zn.D

svminv[_f64]

FMINNMV D,P,Z.DFMINNMV Dd, Pg, Zn.D

svminnmv[_f64]

FMINQV V.2D,P,Z.DFMINQV Vd.2D, Pg, Zn.D

FMINNMQV V.2D,P,Z.DFMINNMQV Vd.2D, Pg, Zn.D

FMINV S,P,Z.SFMINV Sd, Pg, Zn.S

svminv[_f32]

FMINNMV S,P,Z.SFMINNMV Sd, Pg, Zn.S

svminnmv[_f32]

FMINQV V.4S,P,Z.SFMINQV Vd.4S, Pg, Zn.S

FMINNMQV V.4S,P,Z.SFMINNMQV Vd.4S, Pg, Zn.S

FMINV H,P,Z.HFMINV Hd, Pg, Zn.H

svminv[_f16]

FMINNMV H,P,Z.HFMINNMV Hd, Pg, Zn.H

svminnmv[_f16]

FMINQV V.8H,P,Z.HFMINQV Vd.8H, Pg, Zn.H

FMINNMQV V.8H,P,Z.HFMINNMQV Vd.8H, Pg, Zn.H

max

SMAX Z.D,P/M,Z.D,Z.DSMAX Zdn.D, Pg/M, Zdn.D, Zm.D

svmax[_s64]_m

UMAX Z.D,P/M,Z.D,Z.DUMAX Zdn.D, Pg/M, Zdn.D, Zm.D

svmax[_u64]_m

SMAX Z.D,Z.D,#iSMAX Zdn.D, Zdn.D, #imm

svmax[_n_s64]_x

UMAX Z.D,Z.D,#iUMAX Zdn.D, Zdn.D, #imm

svmax[_n_u64]_x

SMAX Z.S,P/M,Z.S,Z.SSMAX Zdn.S, Pg/M, Zdn.S, Zm.S

svmax[_s32]_m

UMAX Z.S,P/M,Z.S,Z.SUMAX Zdn.S, Pg/M, Zdn.S, Zm.S

svmax[_u32]_m

SMAX Z.S,Z.S,#iSMAX Zdn.S, Zdn.S, #imm

svmax[_n_s32]_x

UMAX Z.S,Z.S,#iUMAX Zdn.S, Zdn.S, #imm

svmax[_n_u32]_x

SMAX Z.H,P/M,Z.H,Z.HSMAX Zdn.H, Pg/M, Zdn.H, Zm.H

svmax[_s16]_m

UMAX Z.H,P/M,Z.H,Z.HUMAX Zdn.H, Pg/M, Zdn.H, Zm.H

svmax[_u16]_m

SMAX Z.H,Z.H,#iSMAX Zdn.H, Zdn.H, #imm

svmax[_n_s16]_x

UMAX Z.H,Z.H,#iUMAX Zdn.H, Zdn.H, #imm

svmax[_n_u16]_x

SMAX Z.B,P/M,Z.B,Z.BSMAX Zdn.B, Pg/M, Zdn.B, Zm.B

svmax[_s8]_m

UMAX Z.B,P/M,Z.B,Z.BUMAX Zdn.B, Pg/M, Zdn.B, Zm.B

svmax[_u8]_m

SMAX Z.B,Z.B,#iSMAX Zdn.B, Zdn.B, #imm

svmax[_n_s8]_x

UMAX Z.B,Z.B,#iUMAX Zdn.B, Zdn.B, #imm

svmax[_n_u8]_x

FMAX Z.D,P/M,Z.D,Z.DFMAX Zdn.D, Pg/M, Zdn.D, Zm.D

svmax[_f64]_m

FMAX Z.D,P/M,Z.D,#1.0FMAX Zdn.D, Pg/M, Zdn.D, #1.0

svmax[_n_f64]_m

FMAXNM Z.D,P/M,Z.D,Z.DFMAXNM Zdn.D, Pg/M, Zdn.D, Zm.D

svmaxnm[_f64]_m

FMAXNM Z.D,P/M,Z.D,#1.0FMAXNM Zdn.D, Pg/M, Zdn.D, #1.0

svmaxnm[_n_f64]_m

FMAX Z.D,P/M,Z.D,#0.0FMAX Zdn.D, Pg/M, Zdn.D, #0.0

FMAXNM Z.D,P/M,Z.D,#0.0FMAXNM Zdn.D, Pg/M, Zdn.D, #0.0

FMAX Z.S,P/M,Z.S,Z.SFMAX Zdn.S, Pg/M, Zdn.S, Zm.S

svmax[_f32]_m

FMAX Z.S,P/M,Z.S,#1.0FMAX Zdn.S, Pg/M, Zdn.S, #1.0

svmax[_n_f32]_m

FMAXNM Z.S,P/M,Z.S,Z.SFMAXNM Zdn.S, Pg/M, Zdn.S, Zm.S

svmaxnm[_f32]_m

FMAXNM Z.S,P/M,Z.S,#1.0FMAXNM Zdn.S, Pg/M, Zdn.S, #1.0

svmaxnm[_n_f32]_m

FMAX Z.S,P/M,Z.S,#0.0FMAX Zdn.S, Pg/M, Zdn.S, #0.0

FMAXNM Z.S,P/M,Z.S,#0.0FMAXNM Zdn.S, Pg/M, Zdn.S, #0.0

FMAX Z.H,P/M,Z.H,Z.HFMAX Zdn.H, Pg/M, Zdn.H, Zm.H

svmax[_f16]_m

FMAX Z.H,P/M,Z.H,#1.0FMAX Zdn.H, Pg/M, Zdn.H, #1.0

svmax[_n_f16]_m

FMAXNM Z.H,P/M,Z.H,Z.HFMAXNM Zdn.H, Pg/M, Zdn.H, Zm.H

svmaxnm[_f16]_m

FMAXNM Z.H,P/M,Z.H,#1.0FMAXNM Zdn.H, Pg/M, Zdn.H, #1.0

svmaxnm[_n_f16]_m

FMAX Z.H,P/M,Z.H,#0.0FMAX Zdn.H, Pg/M, Zdn.H, #0.0

FMAXNM Z.H,P/M,Z.H,#0.0FMAXNM Zdn.H, Pg/M, Zdn.H, #0.0

BFMAX Z.H,P/M,Z.H,Z.HBFMAX Zdn.H, Pg/M, Zdn.H, Zm.H

BFMAXNM Z.H,P/M,Z.H,Z.HBFMAXNM Zdn.H, Pg/M, Zdn.H, Zm.H

pairwise max

SMAXP Z.D,P/M,Z.D,Z.DSMAXP Zdn.D, Pg/M, Zdn.D, Zm.D

svmaxp[_s64]_m

UMAXP Z.D,P/M,Z.D,Z.DUMAXP Zdn.D, Pg/M, Zdn.D, Zm.D

svmaxp[_u64]_m

SMAXP Z.S,P/M,Z.S,Z.SSMAXP Zdn.S, Pg/M, Zdn.S, Zm.S

svmaxp[_s32]_m

UMAXP Z.S,P/M,Z.S,Z.SUMAXP Zdn.S, Pg/M, Zdn.S, Zm.S

svmaxp[_u32]_m

SMAXP Z.H,P/M,Z.H,Z.HSMAXP Zdn.H, Pg/M, Zdn.H, Zm.H

svmaxp[_s16]_m

UMAXP Z.H,P/M,Z.H,Z.HUMAXP Zdn.H, Pg/M, Zdn.H, Zm.H

svmaxp[_u16]_m

SMAXP Z.B,P/M,Z.B,Z.BSMAXP Zdn.B, Pg/M, Zdn.B, Zm.B

svmaxp[_s8]_m

UMAXP Z.B,P/M,Z.B,Z.BUMAXP Zdn.B, Pg/M, Zdn.B, Zm.B

svmaxp[_u8]_m

FMAXP Z.D,P/M,Z.D,Z.DFMAXP Zdn.D, Pg/M, Zdn.D, Zm.D

svmaxp[_f64]_m

FMAXNMP Z.D,P/M,Z.D,Z.DFMAXNMP Zdn.D, Pg/M, Zdn.D, Zm.D

svmaxnmp[_f64]_m

FMAXP Z.S,P/M,Z.S,Z.SFMAXP Zdn.S, Pg/M, Zdn.S, Zm.S

svmaxp[_f32]_m

FMAXNMP Z.S,P/M,Z.S,Z.SFMAXNMP Zdn.S, Pg/M, Zdn.S, Zm.S

svmaxnmp[_f32]_m

FMAXP Z.H,P/M,Z.H,Z.HFMAXP Zdn.H, Pg/M, Zdn.H, Zm.H

svmaxp[_f16]_m

FMAXNMP Z.H,P/M,Z.H,Z.HFMAXNMP Zdn.H, Pg/M, Zdn.H, Zm.H

svmaxnmp[_f16]_m

max reduction

SMAXV D,P,Z.DSMAXV Dd, Pg, Zn.D

svmaxv[_s64]

UMAXV D,P,Z.DUMAXV Dd, Pg, Zn.D

svmaxv[_u64]

SMAXQV V.2D,P,Z.DSMAXQV Vd.2D, Pg, Zn.D

UMAXQV V.2D,P,Z.DUMAXQV Vd.2D, Pg, Zn.D

SMAXV S,P,Z.SSMAXV Sd, Pg, Zn.S

svmaxv[_s32]

UMAXV S,P,Z.SUMAXV Sd, Pg, Zn.S

svmaxv[_u32]

SMAXQV V.4S,P,Z.SSMAXQV Vd.4S, Pg, Zn.S

UMAXQV V.4S,P,Z.SUMAXQV Vd.4S, Pg, Zn.S

SMAXV H,P,Z.HSMAXV Hd, Pg, Zn.H

svmaxv[_s16]

UMAXV H,P,Z.HUMAXV Hd, Pg, Zn.H

svmaxv[_u16]

SMAXQV V.8H,P,Z.HSMAXQV Vd.8H, Pg, Zn.H

UMAXQV V.8H,P,Z.HUMAXQV Vd.8H, Pg, Zn.H

SMAXV B,P,Z.BSMAXV Bd, Pg, Zn.B

svmaxv[_s8]

UMAXV B,P,Z.BUMAXV Bd, Pg, Zn.B

svmaxv[_u8]

SMAXQV V.16B,P,Z.BSMAXQV Vd.16B, Pg, Zn.B

UMAXQV V.16B,P,Z.BUMAXQV Vd.16B, Pg, Zn.B

FMAXV D,P,Z.DFMAXV Dd, Pg, Zn.D

svmaxv[_f64]

FMAXNMV D,P,Z.DFMAXNMV Dd, Pg, Zn.D

svmaxnmv[_f64]

FMAXQV V.2D,P,Z.DFMAXQV Vd.2D, Pg, Zn.D

FMAXNMQV V.2D,P,Z.DFMAXNMQV Vd.2D, Pg, Zn.D

FMAXV S,P,Z.SFMAXV Sd, Pg, Zn.S

svmaxv[_f32]

FMAXNMV S,P,Z.SFMAXNMV Sd, Pg, Zn.S

svmaxnmv[_f32]

FMAXQV V.4S,P,Z.SFMAXQV Vd.4S, Pg, Zn.S

FMAXNMQV V.4S,P,Z.SFMAXNMQV Vd.4S, Pg, Zn.S

FMAXV H,P,Z.HFMAXV Hd, Pg, Zn.H

svmaxv[_f16]

FMAXNMV H,P,Z.HFMAXNMV Hd, Pg, Zn.H

svmaxnmv[_f16]

FMAXQV V.8H,P,Z.HFMAXQV Vd.8H, Pg, Zn.H

FMAXNMQV V.8H,P,Z.HFMAXNMQV Vd.8H, Pg, Zn.H

fused multiply add / sub

MLA Z.D,P/M,Z.D,Z.DMLA Zda.D, Pg/M, Zn.D, Zm.D

svmla[_{s,u}64]_m

MLA Z.D,Z.D,Z.D[i]MLA Zda.D, Zn.D, Zm.D[imm]

svmla_lane[_{s,u}64]

MAD Z.D,P/M,Z.D,Za.DMAD Zdn.D, Pg/M, Zm.D, Za.D

svmad[_{s,u}64]_m

MLS Z.D,P/M,Z.D,Z.DMLS Zda.D, Pg/M, Zn.D, Zm.D

svmls[_{s,u}64]_m

MLS Z.D,Z.D,Z.D[i]MLS Zda.D, Zn.D, Zm.D[imm]

svmls_lane[_{s,u}64]

MSB Z.D,P/M,Z.D,Za.DMSB Zdn.D, Pg/M, Zm.D, Za.D

svmsb[_{s,u}64]_m

MLA Z.S,P/M,Z.S,Z.SMLA Zda.S, Pg/M, Zn.S, Zm.S

svmla[_{s,u}32]_m

MLA Z.S,Z.S,Z.S[i]MLA Zda.S, Zn.S, Zm.S[imm]

svmla_lane[_{s,u}32]

MAD Z.S,P/M,Z.S,Za.SMAD Zdn.S, Pg/M, Zm.S, Za.S

svmad[_{s,u}32]_m

MLS Z.S,P/M,Z.S,Z.SMLS Zda.S, Pg/M, Zn.S, Zm.S

svmls[_{s,u}32]_m

MLS Z.S,Z.S,Z.S[i]MLS Zda.S, Zn.S, Zm.S[imm]

svmls_lane[_{s,u}32]

MSB Z.S,P/M,Z.S,Za.SMSB Zdn.S, Pg/M, Zm.S, Za.S

svmsb[_{s,u}32]_m

MLA Z.H,P/M,Z.H,Z.HMLA Zda.H, Pg/M, Zn.H, Zm.H

svmla[_{s,u}16]_m

MLA Z.H,Z.H,Z.H[i]MLA Zda.H, Zn.H, Zm.H[imm]

svmla_lane[_{s,u}16]

MAD Z.H,P/M,Z.H,Za.HMAD Zdn.H, Pg/M, Zm.H, Za.H

svmad[_{s,u}16]_m

MLS Z.H,P/M,Z.H,Z.HMLS Zda.H, Pg/M, Zn.H, Zm.H

svmls[_{s,u}16]_m

MLS Z.H,Z.H,Z.H[i]MLS Zda.H, Zn.H, Zm.H[imm]

svmls_lane[_{s,u}16]

MSB Z.H,P/M,Z.H,Za.HMSB Zdn.H, Pg/M, Zm.H, Za.H

svmsb[_{s,u}16]_m

MLA Z.B,P/M,Z.B,Z.BMLA Zda.B, Pg/M, Zn.B, Zm.B

svmla[_{s,u}8]_m

MAD Z.B,P/M,Z.B,Za.BMAD Zdn.B, Pg/M, Zm.B, Za.B

svmad[_{s,u}8]_m

MLS Z.B,P/M,Z.B,Z.BMLS Zda.B, Pg/M, Zn.B, Zm.B

svmls[_{s,u}8]_m

MSB Z.B,P/M,Z.B,Za.BMSB Zdn.B, Pg/M, Zm.B, Za.B

svmsb[_{s,u}8]_m

FMLA Z.D,P/M,Z.D,Z.DFMLA Zda.D, Pg/M, Zn.D, Zm.D

svmla[_f64]_m

FMLA Z.D,Z.D,Z.D[i]FMLA Zda.D, Zn.D, Zm.D[imm]

svmla_lane[_f64]

FMAD Z.D,P/M,Z.D,Za.DFMAD Zdn.D, Pg/M, Zm.D, Za.D

svmad[_f64]_m

FMLS Z.D,P/M,Z.D,Z.DFMLS Zda.D, Pg/M, Zn.D, Zm.D

svmls[_f64]_m

FMLS Z.D,Z.D,Z.D[i]FMLS Zda.D, Zn.D, Zm.D[imm]

svmls_lane[_f64]

FMSB Z.D,P/M,Z.D,Za.DFMSB Zdn.D, Pg/M, Zm.D, Za.D

svmsb[_f64]_m

FMLA Z.S,P/M,Z.S,Z.SFMLA Zda.S, Pg/M, Zn.S, Zm.S

svmla[_f32]_m

FMLA Z.S,Z.S,Z.S[i]FMLA Zda.S, Zn.S, Zm.S[imm]

svmla_lane[_f32]

FMAD Z.S,P/M,Z.S,Za.SFMAD Zdn.S, Pg/M, Zm.S, Za.S

svmad[_f32]_m

FMLS Z.S,P/M,Z.S,Z.SFMLS Zda.S, Pg/M, Zn.S, Zm.S

svmls[_f32]_m

FMLS Z.S,Z.S,Z.S[i]FMLS Zda.S, Zn.S, Zm.S[imm]

svmls_lane[_f32]

FMSB Z.S,P/M,Z.S,Za.SFMSB Zdn.S, Pg/M, Zm.S, Za.S

svmsb[_f32]_m

FMLA Z.H,P/M,Z.H,Z.HFMLA Zda.H, Pg/M, Zn.H, Zm.H

svmla[_f16]_m

FMLA Z.H,Z.H,Z.H[i]FMLA Zda.H, Zn.H, Zm.H[imm]

svmla_lane[_f16]

FMAD Z.H,P/M,Z.H,Za.HFMAD Zdn.H, Pg/M, Zm.H, Za.H

svmad[_f16]_m

FMLS Z.H,P/M,Z.H,Z.HFMLS Zda.H, Pg/M, Zn.H, Zm.H

svmls[_f16]_m

FMLS Z.H,Z.H,Z.H[i]FMLS Zda.H, Zn.H, Zm.H[imm]

svmls_lane[_f16]

FMSB Z.H,P/M,Z.H,Za.HFMSB Zdn.H, Pg/M, Zm.H, Za.H

svmsb[_f16]_m

BFMLA Z.H,P/M,Z.H,Z.HBFMLA Zda.H, Pg/M, Zn.H, Zm.H

BFMLA Z.H,Z.H,Z.H[i]BFMLA Zda.H, Zn.H, Zm.H[imm]

BFMLS Z.H,P/M,Z.H,Z.HBFMLS Zda.H, Pg/M, Zn.H, Zm.H

BFMLS Z.H,Z.H,Z.H[i]BFMLS Zda.H, Zn.H, Zm.H[imm]

negated fused multiply add / sub

FNMLA Z.D,P/M,Z.D,Z.DFNMLA Zda.D, Pg/M, Zn.D, Zm.D

svnmla[_f64]_m

FNMAD Z.D,P/M,Z.D,Za.DFNMAD Zdn.D, Pg/M, Zm.D, Za.D

svnmad[_f64]_m

FNMLS Z.D,P/M,Z.D,Z.DFNMLS Zda.D, Pg/M, Zn.D, Zm.D

svnmls[_f64]_m

FNMSB Z.D,P/M,Z.D,Za.DFNMSB Zdn.D, Pg/M, Zm.D, Za.D

svnmsb[_f64]_m

FNMLA Z.S,P/M,Z.S,Z.SFNMLA Zda.S, Pg/M, Zn.S, Zm.S

svnmla[_f32]_m

FNMAD Z.S,P/M,Z.S,Za.SFNMAD Zdn.S, Pg/M, Zm.S, Za.S

svnmad[_f32]_m

FNMLS Z.S,P/M,Z.S,Z.SFNMLS Zda.S, Pg/M, Zn.S, Zm.S

svnmls[_f32]_m

FNMSB Z.S,P/M,Z.S,Za.SFNMSB Zdn.S, Pg/M, Zm.S, Za.S

svnmsb[_f32]_m

FNMLA Z.H,P/M,Z.H,Z.HFNMLA Zda.H, Pg/M, Zn.H, Zm.H

svnmla[_f16]_m

FNMAD Z.H,P/M,Z.H,Za.HFNMAD Zdn.H, Pg/M, Zm.H, Za.H

svnmad[_f16]_m

FNMLS Z.H,P/M,Z.H,Z.HFNMLS Zda.H, Pg/M, Zn.H, Zm.H

svnmls[_f16]_m

FNMSB Z.H,P/M,Z.H,Za.HFNMSB Zdn.H, Pg/M, Zm.H, Za.H

svnmsb[_f16]_m

fused multiply add / sub (double-width result)

UMLALB Z.D,Z.S,Z.SUMLALB Zda.D, Zn.S, Zm.S

svmlalb[_u64]

UMLALB Z.D,Z.S,Z.S[i]UMLALB Zda.D, Zn.S, Zm.S[imm]

svmlalb_lane[_u64]

UMLALT Z.D,Z.S,Z.SUMLALT Zda.D, Zn.S, Zm.S

svmlalt[_u64]

UMLALT Z.D,Z.S,Z.S[i]UMLALT Zda.D, Zn.S, Zm.S[imm]

svmlalt_lane[_u64]

UMLSLB Z.D,Z.S,Z.SUMLSLB Zda.D, Zn.S, Zm.S

svmlslb[_u64]

UMLSLB Z.D,Z.S,Z.S[i]UMLSLB Zda.D, Zn.S, Zm.S[imm]

svmlslb_lane[_u64]

UMLSLT Z.D,Z.S,Z.SUMLSLT Zda.D, Zn.S, Zm.S

svmlslt[_u64]

UMLSLT Z.D,Z.S,Z.S[i]UMLSLT Zda.D, Zn.S, Zm.S[imm]

svmlslt_lane[_u64]

SMLALB Z.D,Z.S,Z.SSMLALB Zda.D, Zn.S, Zm.S

svmlalb[_s64]

SMLALB Z.D,Z.S,Z.S[i]SMLALB Zda.D, Zn.S, Zm.S[imm]

svmlalb_lane[_s64]

SMLALT Z.D,Z.S,Z.SSMLALT Zda.D, Zn.S, Zm.S

svmlalt[_s64]

SMLALT Z.D,Z.S,Z.S[i]SMLALT Zda.D, Zn.S, Zm.S[imm]

svmlalt_lane[_s64]

SMLSLB Z.D,Z.S,Z.SSMLSLB Zda.D, Zn.S, Zm.S

svmlslb[_s64]

SMLSLB Z.D,Z.S,Z.S[i]SMLSLB Zda.D, Zn.S, Zm.S[imm]

svmlslb_lane[_s64]

SMLSLT Z.D,Z.S,Z.SSMLSLT Zda.D, Zn.S, Zm.S

svmlslt[_s64]

SMLSLT Z.D,Z.S,Z.S[i]SMLSLT Zda.D, Zn.S, Zm.S[imm]

svmlslt_lane[_s64]

UMLALB Z.S,Z.H,Z.HUMLALB Zda.S, Zn.H, Zm.H

svmlalb[_u32]

UMLALB Z.S,Z.H,Z.H[i]UMLALB Zda.S, Zn.H, Zm.H[imm]

svmlalb_lane[_u32]

UMLALT Z.S,Z.H,Z.HUMLALT Zda.S, Zn.H, Zm.H

svmlalt[_u32]

UMLALT Z.S,Z.H,Z.H[i]UMLALT Zda.S, Zn.H, Zm.H[imm]

svmlalt_lane[_u32]

UMLSLB Z.S,Z.H,Z.HUMLSLB Zda.S, Zn.H, Zm.H

svmlslb[_u32]

UMLSLB Z.S,Z.H,Z.H[i]UMLSLB Zda.S, Zn.H, Zm.H[imm]

svmlslb_lane[_u32]

UMLSLT Z.S,Z.H,Z.HUMLSLT Zda.S, Zn.H, Zm.H

svmlslt[_u32]

UMLSLT Z.S,Z.H,Z.H[i]UMLSLT Zda.S, Zn.H, Zm.H[imm]

svmlslt_lane[_u32]

SMLALB Z.S,Z.H,Z.HSMLALB Zda.S, Zn.H, Zm.H

svmlalb[_s32]

SMLALB Z.S,Z.H,Z.H[i]SMLALB Zda.S, Zn.H, Zm.H[imm]

svmlalb_lane[_s32]

SMLALT Z.S,Z.H,Z.HSMLALT Zda.S, Zn.H, Zm.H

svmlalt[_s32]

SMLALT Z.S,Z.H,Z.H[i]SMLALT Zda.S, Zn.H, Zm.H[imm]

svmlalt_lane[_s32]

SMLSLB Z.S,Z.H,Z.HSMLSLB Zda.S, Zn.H, Zm.H

svmlslb[_s32]

SMLSLB Z.S,Z.H,Z.H[i]SMLSLB Zda.S, Zn.H, Zm.H[imm]

svmlslb_lane[_s32]

SMLSLT Z.S,Z.H,Z.HSMLSLT Zda.S, Zn.H, Zm.H

svmlslt[_s32]

SMLSLT Z.S,Z.H,Z.H[i]SMLSLT Zda.S, Zn.H, Zm.H[imm]

svmlslt_lane[_s32]

UMLALB Z.H,Z.B,Z.BUMLALB Zda.H, Zn.B, Zm.B

svmlalb[_u16]

UMLALT Z.H,Z.B,Z.BUMLALT Zda.H, Zn.B, Zm.B

svmlalt[_u16]

UMLSLB Z.H,Z.B,Z.BUMLSLB Zda.H, Zn.B, Zm.B

svmlslb[_u16]

UMLSLT Z.H,Z.B,Z.BUMLSLT Zda.H, Zn.B, Zm.B

svmlslt[_u16]

SMLALB Z.H,Z.B,Z.BSMLALB Zda.H, Zn.B, Zm.B

svmlalb[_s16]

SMLALT Z.H,Z.B,Z.BSMLALT Zda.H, Zn.B, Zm.B

svmlalt[_s16]

SMLSLB Z.H,Z.B,Z.BSMLSLB Zda.H, Zn.B, Zm.B

svmlslb[_s16]

SMLSLT Z.H,Z.B,Z.BSMLSLT Zda.H, Zn.B, Zm.B

svmlslt[_s16]

FMLALB Z.S,Z.H,Z.HFMLALB Zda.S, Zn.H, Zm.H

svmlalb[_f32]

FMLALB Z.S,Z.H,Z.H[i]FMLALB Zda.S, Zn.H, Zm.H[imm]

svmlalb_lane[_f32]

FMLALT Z.S,Z.H,Z.HFMLALT Zda.S, Zn.H, Zm.H

svmlalt[_f32]

FMLALT Z.S,Z.H,Z.H[i]FMLALT Zda.S, Zn.H, Zm.H[imm]

svmlalt_lane[_f32]

FMLSLB Z.S,Z.H,Z.HFMLSLB Zda.S, Zn.H, Zm.H

svmlslb[_f32]

FMLSLB Z.S,Z.H,Z.H[i]FMLSLB Zda.S, Zn.H, Zm.H[imm]

svmlslb_lane[_f32]

FMLSLT Z.S,Z.H,Z.HFMLSLT Zda.S, Zn.H, Zm.H

svmlslt[_f32]

FMLSLT Z.S,Z.H,Z.H[i]FMLSLT Zda.S, Zn.H, Zm.H[imm]

svmlslt_lane[_f32]

BFMLALB Z.S,Z.H,Z.HBFMLALB Zda.S, Zn.H, Zm.H

svbfmlalb[_f32]

BFMLALB Z.S,Z.H,Z.H[i]BFMLALB Zda.S, Zn.H, Zm.H[imm]

svbfmlalb_lane[_f32]

BFMLALT Z.S,Z.H,Z.HBFMLALT Zda.S, Zn.H, Zm.H

svbfmlalt[_f32]

BFMLALT Z.S,Z.H,Z.H[i]BFMLALT Zda.S, Zn.H, Zm.H[imm]

svbfmlalt_lane[_f32]

BFMLSLB Z.S,Z.H,Z.HBFMLSLB Zda.S, Zn.H, Zm.H

BFMLSLB Z.S,Z.H,Z.H[i]BFMLSLB Zda.S, Zn.H, Zm.H[imm]

BFMLSLT Z.S,Z.H,Z.HBFMLSLT Zda.S, Zn.H, Zm.H

BFMLSLT Z.S,Z.H,Z.H[i]BFMLSLT Zda.S, Zn.H, Zm.H[imm]

matrix multiply-add

SMMLA Z.S,Z.B,Z.BSMMLA Zda.S, Zn.B, Zm.B

svmmla[_s32]

UMMLA Z.S,Z.B,Z.BUMMLA Zda.S, Zn.B, Zm.B

svmmla[_u32]

USMMLA Z.S,Z.B,Z.BUSMMLA Zda.S, Zn.B, Zm.B

svusmmla[_s32]

FMMLA Z.D,Z.D,Z.DFMMLA Zda.D, Zn.D, Zm.D

svmmla[_f64]

FMMLA Z.S,Z.S,Z.SFMMLA Zda.S, Zn.S, Zm.S

svmmla[_f32]

BFMMLA Z.S,Z.H,Z.HBFMMLA Zda.S, Zn.H, Zm.H

svbfmmla[_f32]

dot product (multiply-add)

SDOT Z.D,Z.H,Z.HSDOT Zda.D, Zn.H, Zm.H

svdot[_s64]

SDOT Z.D,Z.H,Z.H[i]SDOT Zda.D, Zn.H, Zm.H[imm]

svdot_lane[_s64]

UDOT Z.D,Z.H,Z.HUDOT Zda.D, Zn.H, Zm.H

svdot[_u64]

UDOT Z.D,Z.H,Z.H[i]UDOT Zda.D, Zn.H, Zm.H[imm]

svdot_lane[_u64]

SDOT Z.S,Z.H,Z.HSDOT Zda.S, Zn.H, Zm.H

SDOT Z.S,Z.H,Z.H[i]SDOT Zda.S, Zn.H, Zm.H[imm]

UDOT Z.S,Z.H,Z.HUDOT Zda.S, Zn.H, Zm.H

UDOT Z.S,Z.H,Z.H[i]UDOT Zda.S, Zn.H, Zm.H[imm]

SDOT Z.S,Z.B,Z.BSDOT Zda.S, Zn.B, Zm.B

svdot[_s32]

SDOT Z.S,Z.B,Z.B[i]SDOT Zda.S, Zn.B, Zm.B[imm]

svdot_lane[_s32]

UDOT Z.S,Z.B,Z.BUDOT Zda.S, Zn.B, Zm.B

svdot[_u32]

UDOT Z.S,Z.B,Z.B[i]UDOT Zda.S, Zn.B, Zm.B[imm]

svdot_lane[_u32]

USDOT Z.S,Z.B,Z.BUSDOT Zda.S, Zn.B, Zm.B

svsudot[_s32]

svusdot[_s32]

USDOT Z.S,Z.B,Z.B[i]USDOT Zda.S, Zn.B, Zm.B[imm]

svusdot_lane[_s32]

SUDOT Z.S,Z.B,Z.B[i]SUDOT Zda.S, Zn.B, Zm.B[imm]

svsudot_lane[_s32]

FDOT Z.S,Z.H,Z.HFDOT Zda.S, Zn.H, Zm.H

FDOT Z.S,Z.H,Z.H[i]FDOT Zda.S, Zn.H, Zm.H[imm]

BFDOT Z.S,Z.H,Z.HBFDOT Zda.S, Zn.H, Zm.H

svbfdot[_f32]

BFDOT Z.S,Z.H,Z.H[i]BFDOT Zda.S, Zn.H, Zm.H[imm]

svbfdot_lane[_f32]

absolute difference

SABD Z.D,P/M,Z.D,Z.DSABD Zdn.D, Pg/M, Zdn.D, Zm.D

svabd[_s64]_m

UABD Z.D,P/M,Z.D,Z.DUABD Zdn.D, Pg/M, Zdn.D, Zm.D

svabd[_u64]_m

SABD Z.S,P/M,Z.S,Z.SSABD Zdn.S, Pg/M, Zdn.S, Zm.S

svabd[_s32]_m

UABD Z.S,P/M,Z.S,Z.SUABD Zdn.S, Pg/M, Zdn.S, Zm.S

svabd[_u32]_m

SABD Z.H,P/M,Z.H,Z.HSABD Zdn.H, Pg/M, Zdn.H, Zm.H

svabd[_s16]_m

UABD Z.H,P/M,Z.H,Z.HUABD Zdn.H, Pg/M, Zdn.H, Zm.H

svabd[_u16]_m

SABD Z.B,P/M,Z.B,Z.BSABD Zdn.B, Pg/M, Zdn.B, Zm.B

svabd[_s8]_m

UABD Z.B,P/M,Z.B,Z.BUABD Zdn.B, Pg/M, Zdn.B, Zm.B

svabd[_u8]_m

FABD Z.D,P/M,Z.D,Z.DFABD Zdn.D, Pg/M, Zdn.D, Zm.D

svabd[_f64]_m

FABD Z.S,P/M,Z.S,Z.SFABD Zdn.S, Pg/M, Zdn.S, Zm.S

svabd[_f32]_m

FABD Z.H,P/M,Z.H,Z.HFABD Zdn.H, Pg/M, Zdn.H, Zm.H

svabd[_f16]_m

absolute difference (double-width result)

SABDLB Z.D,Z.S,Z.SSABDLB Zd.D, Zn.S, Zm.S

svabdlb[_s64]

SABDLT Z.D,Z.S,Z.SSABDLT Zd.D, Zn.S, Zm.S

svabdlt[_s64]

UABDLB Z.D,Z.S,Z.SUABDLB Zd.D, Zn.S, Zm.S

svabdlb[_u64]

UABDLT Z.D,Z.S,Z.SUABDLT Zd.D, Zn.S, Zm.S

svabdlt[_u64]

SABDLB Z.S,Z.H,Z.HSABDLB Zd.S, Zn.H, Zm.H

svabdlb[_s32]

SABDLT Z.S,Z.H,Z.HSABDLT Zd.S, Zn.H, Zm.H

svabdlt[_s32]

UABDLB Z.S,Z.H,Z.HUABDLB Zd.S, Zn.H, Zm.H

svabdlb[_u32]

UABDLT Z.S,Z.H,Z.HUABDLT Zd.S, Zn.H, Zm.H

svabdlt[_u32]

SABDLB Z.H,Z.B,Z.BSABDLB Zd.H, Zn.B, Zm.B

svabdlb[_s16]

SABDLT Z.H,Z.B,Z.BSABDLT Zd.H, Zn.B, Zm.B

svabdlt[_s16]

UABDLB Z.H,Z.B,Z.BUABDLB Zd.H, Zn.B, Zm.B

svabdlb[_u16]

UABDLT Z.H,Z.B,Z.BUABDLT Zd.H, Zn.B, Zm.B

svabdlt[_u16]

add absolute difference

SABA Z.D,Z.D,Z.DSABA Zda.D, Zn.D, Zm.D

svaba[_s64]

UABA Z.D,Z.D,Z.DUABA Zda.D, Zn.D, Zm.D

svaba[_u64]

SABA Z.S,Z.S,Z.SSABA Zda.S, Zn.S, Zm.S

svaba[_s32]

UABA Z.S,Z.S,Z.SUABA Zda.S, Zn.S, Zm.S

svaba[_u32]

SABA Z.H,Z.H,Z.HSABA Zda.H, Zn.H, Zm.H

svaba[_s16]

UABA Z.H,Z.H,Z.HUABA Zda.H, Zn.H, Zm.H

svaba[_u16]

SABA Z.B,Z.B,Z.BSABA Zda.B, Zn.B, Zm.B

svaba[_s8]

UABA Z.B,Z.B,Z.BUABA Zda.B, Zn.B, Zm.B

svaba[_u8]

add absolute difference (double-width accumulator)

SABALB Z.D,Z.S,Z.SSABALB Zda.D, Zn.S, Zm.S

svabalb[_s64]

SABALT Z.D,Z.S,Z.SSABALT Zda.D, Zn.S, Zm.S

svabalt[_s64]

UABALB Z.D,Z.S,Z.SUABALB Zda.D, Zn.S, Zm.S

svabalb[_u64]

UABALT Z.D,Z.S,Z.SUABALT Zda.D, Zn.S, Zm.S

svabalt[_u64]

SABALB Z.S,Z.H,Z.HSABALB Zda.S, Zn.H, Zm.H

svabalb[_s32]

SABALT Z.S,Z.H,Z.HSABALT Zda.S, Zn.H, Zm.H

svabalt[_s32]

UABALB Z.S,Z.H,Z.HUABALB Zda.S, Zn.H, Zm.H

svabalb[_u32]

UABALT Z.S,Z.H,Z.HUABALT Zda.S, Zn.H, Zm.H

svabalt[_u32]

SABALB Z.H,Z.B,Z.BSABALB Zda.H, Zn.B, Zm.B

svabalb[_s16]

SABALT Z.H,Z.B,Z.BSABALT Zda.H, Zn.B, Zm.B

svabalt[_s16]

UABALB Z.H,Z.B,Z.BUABALB Zda.H, Zn.B, Zm.B

svabalb[_u16]

UABALT Z.H,Z.B,Z.BUABALT Zda.H, Zn.B, Zm.B

svabalt[_u16]

multiply nth power of 2

FSCALE Z.D,P/M,Z.D,Z.DFSCALE Zdn.D, Pg/M, Zdn.D, Zm.D

svscale[_f64]_m

FSCALE Z.S,P/M,Z.S,Z.SFSCALE Zdn.S, Pg/M, Zdn.S, Zm.S

svscale[_f32]_m

FSCALE Z.H,P/M,Z.H,Z.HFSCALE Zdn.H, Pg/M, Zdn.H, Zm.H

svscale[_f16]_m

round

FRINTA Z.D,P/M,Z.DFRINTA Zd.D, Pg/M, Zn.D

svrinta[_f64]_m

FRINTI Z.D,P/M,Z.DFRINTI Zd.D, Pg/M, Zn.D

svrinti[_f64]_m

FRINTM Z.D,P/M,Z.DFRINTM Zd.D, Pg/M, Zn.D

svrintm[_f64]_m

FRINTN Z.D,P/M,Z.DFRINTN Zd.D, Pg/M, Zn.D

svrintn[_f64]_m

FRINTP Z.D,P/M,Z.DFRINTP Zd.D, Pg/M, Zn.D

svrintp[_f64]_m

FRINTX Z.D,P/M,Z.DFRINTX Zd.D, Pg/M, Zn.D

svrintx[_f64]_m

FRINTZ Z.D,P/M,Z.DFRINTZ Zd.D, Pg/M, Zn.D

svrintz[_f64]_m

FRINTA Z.S,P/M,Z.SFRINTA Zd.S, Pg/M, Zn.S

svrinta[_f32]_m

FRINTI Z.S,P/M,Z.SFRINTI Zd.S, Pg/M, Zn.S

svrinti[_f32]_m

FRINTM Z.S,P/M,Z.SFRINTM Zd.S, Pg/M, Zn.S

svrintm[_f32]_m

FRINTN Z.S,P/M,Z.SFRINTN Zd.S, Pg/M, Zn.S

svrintn[_f32]_m

FRINTP Z.S,P/M,Z.SFRINTP Zd.S, Pg/M, Zn.S

svrintp[_f32]_m

FRINTX Z.S,P/M,Z.SFRINTX Zd.S, Pg/M, Zn.S

svrintx[_f32]_m

FRINTZ Z.S,P/M,Z.SFRINTZ Zd.S, Pg/M, Zn.S

svrintz[_f32]_m

FRINTA Z.H,P/M,Z.HFRINTA Zd.H, Pg/M, Zn.H

svrinta[_f16]_m

FRINTI Z.H,P/M,Z.HFRINTI Zd.H, Pg/M, Zn.H

svrinti[_f16]_m

FRINTM Z.H,P/M,Z.HFRINTM Zd.H, Pg/M, Zn.H

svrintm[_f16]_m

FRINTN Z.H,P/M,Z.HFRINTN Zd.H, Pg/M, Zn.H

svrintn[_f16]_m

FRINTP Z.H,P/M,Z.HFRINTP Zd.H, Pg/M, Zn.H

svrintp[_f16]_m

FRINTX Z.H,P/M,Z.HFRINTX Zd.H, Pg/M, Zn.H

svrintx[_f16]_m

FRINTZ Z.H,P/M,Z.HFRINTZ Zd.H, Pg/M, Zn.H

svrintz[_f16]_m

square root

FSQRT Z.D,P/M,Z.DFSQRT Zd.D, Pg/M, Zn.D

svsqrt[_f64]_m

FSQRT Z.S,P/M,Z.SFSQRT Zd.S, Pg/M, Zn.S

svsqrt[_f32]_m

FSQRT Z.H,P/M,Z.HFSQRT Zd.H, Pg/M, Zn.H

svsqrt[_f16]_m

recpriocal square root

URSQRTE Z.S,P/M,Z.SURSQRTE Zd.S, Pg/M, Zn.S

svrsqrte[_u32]_m

FRSQRTE Z.D,Z.DFRSQRTE Zd.D, Zn.D

svrsqrte[_f64]

FRSQRTS Z.D,Z.D,Z.DFRSQRTS Zd.D, Zn.D, Zm.D

svrsqrts[_f64]

FRSQRTE Z.S,Z.SFRSQRTE Zd.S, Zn.S

svrsqrte[_f32]

FRSQRTS Z.S,Z.S,Z.SFRSQRTS Zd.S, Zn.S, Zm.S

svrsqrts[_f32]

FRSQRTE Z.H,Z.HFRSQRTE Zd.H, Zn.H

svrsqrte[_f16]

FRSQRTS Z.H,Z.H,Z.HFRSQRTS Zd.H, Zn.H, Zm.H

svrsqrts[_f16]

reciprocal

URECPE Z.S,P/M,Z.SURECPE Zd.S, Pg/M, Zn.S

svrecpe[_u32]_m

FRECPE Z.D,Z.DFRECPE Zd.D, Zn.D

svrecpe[_f64]

FRECPS Z.D,Z.D,Z.DFRECPS Zd.D, Zn.D, Zm.D

svrecps[_f64]

FRECPE Z.S,Z.SFRECPE Zd.S, Zn.S

svrecpe[_f32]

FRECPS Z.S,Z.S,Z.SFRECPS Zd.S, Zn.S, Zm.S

svrecps[_f32]

FRECPE Z.H,Z.HFRECPE Zd.H, Zn.H

svrecpe[_f16]

FRECPS Z.H,Z.H,Z.HFRECPS Zd.H, Zn.H, Zm.H

svrecps[_f16]

trigonometric acceleration

FTSMUL Z.D,Z.D,Z.DFTSMUL Zd.D, Zn.D, Zm.D

svtsmul[_f64]

FTMAD Z.D,Z.D,Z.D,#iFTMAD Zdn.D, Zdn.D, Zm.D, #imm

svtmad[_f64]

FTSSEL Z.D,Z.D,Z.DFTSSEL Zd.D, Zn.D, Zm.D

svtssel[_f64]

FTSMUL Z.S,Z.S,Z.SFTSMUL Zd.S, Zn.S, Zm.S

svtsmul[_f32]

FTMAD Z.S,Z.S,Z.S,#iFTMAD Zdn.S, Zdn.S, Zm.S, #imm

svtmad[_f32]

FTSSEL Z.S,Z.S,Z.SFTSSEL Zd.S, Zn.S, Zm.S

svtssel[_f32]

FTSMUL Z.H,Z.H,Z.HFTSMUL Zd.H, Zn.H, Zm.H

svtsmul[_f16]

FTMAD Z.H,Z.H,Z.H,#iFTMAD Zdn.H, Zdn.H, Zm.H, #imm

svtmad[_f16]

FTSSEL Z.H,Z.H,Z.HFTSSEL Zd.H, Zn.H, Zm.H

svtssel[_f16]

exponential acceleration

FEXPA Z.D,Z.DFEXPA Zd.D, Zn.D

svexpa[_f64]

FEXPA Z.S,Z.SFEXPA Zd.S, Zn.S

svexpa[_f32]

FEXPA Z.H,Z.HFEXPA Zd.H, Zn.H

svexpa[_f16]

normalization

FRECPX Z.D,P/M,Z.DFRECPX Zd.D, Pg/M, Zn.D

svrecpx[_f64]_m

FMULX Z.D,P/M,Z.D,Z.DFMULX Zdn.D, Pg/M, Zdn.D, Zm.D

svmulx[_f64]_m

FRECPX Z.S,P/M,Z.SFRECPX Zd.S, Pg/M, Zn.S

svrecpx[_f32]_m

FMULX Z.S,P/M,Z.S,Z.SFMULX Zdn.S, Pg/M, Zdn.S, Zm.S

svmulx[_f32]_m

FRECPX Z.H,P/M,Z.HFRECPX Zd.H, Pg/M, Zn.H

svrecpx[_f16]_m

FMULX Z.H,P/M,Z.H,Z.HFMULX Zdn.H, Pg/M, Zdn.H, Zm.H

svmulx[_f16]_m

log base 2 (integer)

FLOGB Z.D,P/M,Z.DFLOGB Zd.D, Pg/M, Zn.D

svlogb[_f64]_m

FLOGB Z.S,P/M,Z.SFLOGB Zd.S, Pg/M, Zn.S

svlogb[_f32]_m

FLOGB Z.H,P/M,Z.HFLOGB Zd.H, Pg/M, Zn.H

svlogb[_f16]_m

doubling mul high

SQDMULH Z.D,Z.D,Z.DSQDMULH Zd.D, Zn.D, Zm.D

svqdmulh[_s64]

SQDMULH Z.D,Z.D,Z.D[i]SQDMULH Zd.D, Zn.D, Zm.D[imm]

svqdmulh_lane[_s64]

SQRDMULH Z.D,Z.D,Z.DSQRDMULH Zd.D, Zn.D, Zm.D

svqrdmulh[_s64]

SQRDMULH Z.D,Z.D,Z.D[i]SQRDMULH Zd.D, Zn.D, Zm.D[imm]

svqrdmulh_lane[_s64]

SQDMULH Z.S,Z.S,Z.SSQDMULH Zd.S, Zn.S, Zm.S

svqdmulh[_s32]

SQDMULH Z.S,Z.S,Z.S[i]SQDMULH Zd.S, Zn.S, Zm.S[imm]

svqdmulh_lane[_s32]

SQRDMULH Z.S,Z.S,Z.SSQRDMULH Zd.S, Zn.S, Zm.S

svqrdmulh[_s32]

SQRDMULH Z.S,Z.S,Z.S[i]SQRDMULH Zd.S, Zn.S, Zm.S[imm]

svqrdmulh_lane[_s32]

SQDMULH Z.H,Z.H,Z.HSQDMULH Zd.H, Zn.H, Zm.H

svqdmulh[_s16]

SQDMULH Z.H,Z.H,Z.H[i]SQDMULH Zd.H, Zn.H, Zm.H[imm]

svqdmulh_lane[_s16]

SQRDMULH Z.H,Z.H,Z.HSQRDMULH Zd.H, Zn.H, Zm.H

svqrdmulh[_s16]

SQRDMULH Z.H,Z.H,Z.H[i]SQRDMULH Zd.H, Zn.H, Zm.H[imm]

svqrdmulh_lane[_s16]

SQDMULH Z.B,Z.B,Z.BSQDMULH Zd.B, Zn.B, Zm.B

svqdmulh[_s8]

SQRDMULH Z.B,Z.B,Z.BSQRDMULH Zd.B, Zn.B, Zm.B

svqrdmulh[_s8]

doubling mul and add high

SQRDMLAH Z.D,Z.D,Z.DSQRDMLAH Zda.D, Zn.D, Zm.D

svqrdmlah[_s64]

SQRDMLAH Z.D,Z.D,Z.D[i]SQRDMLAH Zda.D, Zn.D, Zm.D[imm]

svqrdmlah_lane[_s64]

SQRDMLAH Z.S,Z.S,Z.SSQRDMLAH Zda.S, Zn.S, Zm.S

svqrdmlah[_s32]

SQRDMLAH Z.S,Z.S,Z.S[i]SQRDMLAH Zda.S, Zn.S, Zm.S[imm]

svqrdmlah_lane[_s32]

SQRDMLAH Z.H,Z.H,Z.HSQRDMLAH Zda.H, Zn.H, Zm.H

svqrdmlah[_s16]

SQRDMLAH Z.H,Z.H,Z.H[i]SQRDMLAH Zda.H, Zn.H, Zm.H[imm]

svqrdmlah_lane[_s16]

SQRDMLAH Z.B,Z.B,Z.BSQRDMLAH Zda.B, Zn.B, Zm.B

svqrdmlah[_s8]

doubling mul and sub high

SQRDMLSH Z.D,Z.D,Z.DSQRDMLSH Zda.D, Zn.D, Zm.D

svqrdmlsh[_s64]

SQRDMLSH Z.D,Z.D,Z.D[i]SQRDMLSH Zda.D, Zn.D, Zm.D[imm]

svqrdmlsh_lane[_s64]

SQRDMLSH Z.S,Z.S,Z.SSQRDMLSH Zda.S, Zn.S, Zm.S

svqrdmlsh[_s32]

SQRDMLSH Z.S,Z.S,Z.S[i]SQRDMLSH Zda.S, Zn.S, Zm.S[imm]

svqrdmlsh_lane[_s32]

SQRDMLSH Z.H,Z.H,Z.HSQRDMLSH Zda.H, Zn.H, Zm.H

svqrdmlsh[_s16]

SQRDMLSH Z.H,Z.H,Z.H[i]SQRDMLSH Zda.H, Zn.H, Zm.H[imm]

svqrdmlsh_lane[_s16]

SQRDMLSH Z.B,Z.B,Z.BSQRDMLSH Zda.B, Zn.B, Zm.B

svqrdmlsh[_s8]

doubling mul (double-width result)

SQDMULLB Z.D,Z.S,Z.SSQDMULLB Zd.D, Zn.S, Zm.S

svqdmullb[_s64]

SQDMULLB Z.D,Z.S,Z.S[i]SQDMULLB Zd.D, Zn.S, Zm.S[imm]

svqdmullb_lane[_s64]

SQDMULLT Z.D,Z.S,Z.SSQDMULLT Zd.D, Zn.S, Zm.S

svqdmullt[_s64]

SQDMULLT Z.D,Z.S,Z.S[i]SQDMULLT Zd.D, Zn.S, Zm.S[imm]

svqdmullt_lane[_s64]

SQDMULLB Z.S,Z.H,Z.HSQDMULLB Zd.S, Zn.H, Zm.H

svqdmullb[_s32]

SQDMULLB Z.S,Z.H,Z.H[i]SQDMULLB Zd.S, Zn.H, Zm.H[imm]

svqdmullb_lane[_s32]

SQDMULLT Z.S,Z.H,Z.HSQDMULLT Zd.S, Zn.H, Zm.H

svqdmullt[_s32]

SQDMULLT Z.S,Z.H,Z.H[i]SQDMULLT Zd.S, Zn.H, Zm.H[imm]

svqdmullt_lane[_s32]

SQDMULLB Z.H,Z.B,Z.BSQDMULLB Zd.H, Zn.B, Zm.B

svqdmullb[_s16]

SQDMULLT Z.H,Z.B,Z.BSQDMULLT Zd.H, Zn.B, Zm.B

svqdmullt[_s16]

doubling mul and add (double-width result)

SQDMLALB Z.D,Z.S,Z.SSQDMLALB Zda.D, Zn.S, Zm.S

svqdmlalb[_s64]

SQDMLALB Z.D,Z.S,Z.S[i]SQDMLALB Zda.D, Zn.S, Zm.S[imm]

svqdmlalb_lane[_s64]

SQDMLALT Z.D,Z.S,Z.SSQDMLALT Zda.D, Zn.S, Zm.S

svqdmlalt[_s64]

SQDMLALT Z.D,Z.S,Z.S[i]SQDMLALT Zda.D, Zn.S, Zm.S[imm]

svqdmlalt_lane[_s64]

SQDMLALBT Z.D,Z.S,Z.SSQDMLALBT Zda.D, Zn.S, Zm.S

svqdmlalbt[_s64]

SQDMLALB Z.S,Z.H,Z.HSQDMLALB Zda.S, Zn.H, Zm.H

svqdmlalb[_s32]

SQDMLALB Z.S,Z.H,Z.H[i]SQDMLALB Zda.S, Zn.H, Zm.H[imm]

svqdmlalb_lane[_s32]

SQDMLALT Z.S,Z.H,Z.HSQDMLALT Zda.S, Zn.H, Zm.H

svqdmlalt[_s32]

SQDMLALT Z.S,Z.H,Z.H[i]SQDMLALT Zda.S, Zn.H, Zm.H[imm]

svqdmlalt_lane[_s32]

SQDMLALBT Z.S,Z.H,Z.HSQDMLALBT Zda.S, Zn.H, Zm.H

svqdmlalbt[_s32]

SQDMLALB Z.H,Z.B,Z.BSQDMLALB Zda.H, Zn.B, Zm.B

svqdmlalb[_s16]

SQDMLALT Z.H,Z.B,Z.BSQDMLALT Zda.H, Zn.B, Zm.B

svqdmlalt[_s16]

SQDMLALBT Z.H,Z.B,Z.BSQDMLALBT Zda.H, Zn.B, Zm.B

svqdmlalbt[_s16]

doubling mul and sub (double-width result)

SQDMLSLB Z.D,Z.S,Z.SSQDMLSLB Zda.D, Zn.S, Zm.S

svqdmlslb[_s64]

SQDMLSLT Z.D,Z.S,Z.SSQDMLSLT Zda.D, Zn.S, Zm.S

svqdmlslt[_s64]

SQDMLSLBT Z.D,Z.S,Z.SSQDMLSLBT Zda.D, Zn.S, Zm.S

svqdmlslbt[_s64]

SQDMLSLB Z.D,Z.S,Z.S[i]SQDMLSLB Zda.D, Zn.S, Zm.S[imm]

svqdmlslb_lane[_s64]

SQDMLSLT Z.D,Z.S,Z.S[i]SQDMLSLT Zda.D, Zn.S, Zm.S[imm]

svqdmlslt_lane[_s64]

SQDMLSLB Z.S,Z.H,Z.HSQDMLSLB Zda.S, Zn.H, Zm.H

svqdmlslb[_s32]

SQDMLSLT Z.S,Z.H,Z.HSQDMLSLT Zda.S, Zn.H, Zm.H

svqdmlslt[_s32]

SQDMLSLBT Z.S,Z.H,Z.HSQDMLSLBT Zda.S, Zn.H, Zm.H

svqdmlslbt[_s32]

SQDMLSLB Z.S,Z.H,Z.H[i]SQDMLSLB Zda.S, Zn.H, Zm.H[imm]

svqdmlslb_lane[_s32]

SQDMLSLT Z.S,Z.H,Z.H[i]SQDMLSLT Zda.S, Zn.H, Zm.H[imm]

svqdmlslt_lane[_s32]

SQDMLSLB Z.H,Z.B,Z.BSQDMLSLB Zda.H, Zn.B, Zm.B

svqdmlslb[_s16]

SQDMLSLT Z.H,Z.B,Z.BSQDMLSLT Zda.H, Zn.B, Zm.B

svqdmlslt[_s16]

SQDMLSLBT Z.H,Z.B,Z.BSQDMLSLBT Zda.H, Zn.B, Zm.B

svqdmlslbt[_s16]

Complex Arithmetic

Integer
Floating-Point

64-bit
32-bit
16-bit
8-bit
double
single
half

complex add

CADD Z.D,Z.D,Z.D,#90CADD Zdn.D, Zdn.D, Zm.D, #90

CADD Z.D,Z.D,Z.D,#270CADD Zdn.D, Zdn.D, Zm.D, #270

svcadd[_{s,u}64]

SQCADD Z.D,Z.D,Z.D,#90SQCADD Zdn.D, Zdn.D, Zm.D, #90

SQCADD Z.D,Z.D,Z.D,#270SQCADD Zdn.D, Zdn.D, Zm.D, #270

svqcadd[_s64]

CADD Z.S,Z.S,Z.S,#90CADD Zdn.S, Zdn.S, Zm.S, #90

CADD Z.S,Z.S,Z.S,#270CADD Zdn.S, Zdn.S, Zm.S, #270

svcadd[_{s,u}32]

SQCADD Z.S,Z.S,Z.S,#90SQCADD Zdn.S, Zdn.S, Zm.S, #90

SQCADD Z.S,Z.S,Z.S,#270SQCADD Zdn.S, Zdn.S, Zm.S, #270

svqcadd[_s32]

CADD Z.H,Z.H,Z.H,#90CADD Zdn.H, Zdn.H, Zm.H, #90

CADD Z.H,Z.H,Z.H,#270CADD Zdn.H, Zdn.H, Zm.H, #270

svcadd[_{s,u}16]

SQCADD Z.H,Z.H,Z.H,#90SQCADD Zdn.H, Zdn.H, Zm.H, #90

SQCADD Z.H,Z.H,Z.H,#270SQCADD Zdn.H, Zdn.H, Zm.H, #270

svqcadd[_s16]

CADD Z.B,Z.B,Z.B,#90CADD Zdn.B, Zdn.B, Zm.B, #90

CADD Z.B,Z.B,Z.B,#270CADD Zdn.B, Zdn.B, Zm.B, #270

svcadd[_{s,u}8]

SQCADD Z.B,Z.B,Z.B,#90SQCADD Zdn.B, Zdn.B, Zm.B, #90

SQCADD Z.B,Z.B,Z.B,#270SQCADD Zdn.B, Zdn.B, Zm.B, #270

svqcadd[_s8]

FCADD Z.D,P/M,Z.D,Z.D,#90FCADD Zdn.D, Pg/M, Zdn.D, Zm.D, #90

FCADD Z.D,P/M,Z.D,Z.D,#270FCADD Zdn.D, Pg/M, Zdn.D, Zm.D, #270

svcadd[_f64]_m

FCADD Z.S,P/M,Z.S,Z.S,#90FCADD Zdn.S, Pg/M, Zdn.S, Zm.S, #90

FCADD Z.S,P/M,Z.S,Z.S,#270FCADD Zdn.S, Pg/M, Zdn.S, Zm.S, #270

svcadd[_f32]_m

FCADD Z.H,P/M,Z.H,Z.H,#90FCADD Zdn.H, Pg/M, Zdn.H, Zm.H, #90

FCADD Z.H,P/M,Z.H,Z.H,#270FCADD Zdn.H, Pg/M, Zdn.H, Zm.H, #270

svcadd[_f16]_m

complex multiply-add

CMLA Z.D,Z.D,Z.D,#0CMLA Zda.D, Zn.D, Zm.D, #0

CMLA Z.D,Z.D,Z.D,#90CMLA Zda.D, Zn.D, Zm.D, #90

CMLA Z.D,Z.D,Z.D,#180CMLA Zda.D, Zn.D, Zm.D, #180

CMLA Z.D,Z.D,Z.D,#270CMLA Zda.D, Zn.D, Zm.D, #270

svcmla[_{s,u}64]

CMLA Z.S,Z.S,Z.S,#0CMLA Zda.S, Zn.S, Zm.S, #0

CMLA Z.S,Z.S,Z.S,#90CMLA Zda.S, Zn.S, Zm.S, #90

CMLA Z.S,Z.S,Z.S,#180CMLA Zda.S, Zn.S, Zm.S, #180

CMLA Z.S,Z.S,Z.S,#270CMLA Zda.S, Zn.S, Zm.S, #270

svcmla[_{s,u}32]

CMLA Z.S,Z.S,Z.S[i],#0CMLA Zda.S, Zn.S, Zm.S[imm], #0

CMLA Z.S,Z.S,Z.S[i],#90CMLA Zda.S, Zn.S, Zm.S[imm], #90

CMLA Z.S,Z.S,Z.S[i],#180CMLA Zda.S, Zn.S, Zm.S[imm], #180

CMLA Z.S,Z.S,Z.S[i],#270CMLA Zda.S, Zn.S, Zm.S[imm], #270

svcmla_lane[_{s,u}32]

CMLA Z.H,Z.H,Z.H,#0CMLA Zda.H, Zn.H, Zm.H, #0

CMLA Z.H,Z.H,Z.H,#90CMLA Zda.H, Zn.H, Zm.H, #90

CMLA Z.H,Z.H,Z.H,#180CMLA Zda.H, Zn.H, Zm.H, #180

CMLA Z.H,Z.H,Z.H,#270CMLA Zda.H, Zn.H, Zm.H, #270

svcmla[_{s,u}16]

CMLA Z.H,Z.H,Z.H[i],#0CMLA Zda.H, Zn.H, Zm.H[imm], #0

CMLA Z.H,Z.H,Z.H[i],#90CMLA Zda.H, Zn.H, Zm.H[imm], #90

CMLA Z.H,Z.H,Z.H[i],#180CMLA Zda.H, Zn.H, Zm.H[imm], #180

CMLA Z.H,Z.H,Z.H[i],#270CMLA Zda.H, Zn.H, Zm.H[imm], #270

svcmla_lane[_{s,u}16]

CMLA Z.B,Z.B,Z.B,#0CMLA Zda.B, Zn.B, Zm.B, #0

CMLA Z.B,Z.B,Z.B,#90CMLA Zda.B, Zn.B, Zm.B, #90

CMLA Z.B,Z.B,Z.B,#180CMLA Zda.B, Zn.B, Zm.B, #180

CMLA Z.B,Z.B,Z.B,#270CMLA Zda.B, Zn.B, Zm.B, #270

svcmla[_{s,u}8]

FCMLA Z.D,P/M,Z.D,Z.D,#0FCMLA Zda.D, Pg/M, Zn.D, Zm.D, #0

FCMLA Z.D,P/M,Z.D,Z.D,#90FCMLA Zda.D, Pg/M, Zn.D, Zm.D, #90

FCMLA Z.D,P/M,Z.D,Z.D,#180FCMLA Zda.D, Pg/M, Zn.D, Zm.D, #180

FCMLA Z.D,P/M,Z.D,Z.D,#270FCMLA Zda.D, Pg/M, Zn.D, Zm.D, #270

svcmla[_f64]_m

FCMLA Z.S,P/M,Z.S,Z.S,#0FCMLA Zda.S, Pg/M, Zn.S, Zm.S, #0

FCMLA Z.S,P/M,Z.S,Z.S,#90FCMLA Zda.S, Pg/M, Zn.S, Zm.S, #90

FCMLA Z.S,P/M,Z.S,Z.S,#180FCMLA Zda.S, Pg/M, Zn.S, Zm.S, #180

FCMLA Z.S,P/M,Z.S,Z.S,#270FCMLA Zda.S, Pg/M, Zn.S, Zm.S, #270

svcmla[_f32]_m

FCMLA Z.S,Z.S,Z.S[i],#0FCMLA Zda.S, Zn.S, Zm.S[imm], #0

FCMLA Z.S,Z.S,Z.S[i],#90FCMLA Zda.S, Zn.S, Zm.S[imm], #90

FCMLA Z.S,Z.S,Z.S[i],#180FCMLA Zda.S, Zn.S, Zm.S[imm], #180

FCMLA Z.S,Z.S,Z.S[i],#270FCMLA Zda.S, Zn.S, Zm.S[imm], #270

svcmla_lane[_f32]

FCMLA Z.H,P/M,Z.H,Z.H,#0FCMLA Zda.H, Pg/M, Zn.H, Zm.H, #0

FCMLA Z.H,P/M,Z.H,Z.H,#90FCMLA Zda.H, Pg/M, Zn.H, Zm.H, #90

FCMLA Z.H,P/M,Z.H,Z.H,#180FCMLA Zda.H, Pg/M, Zn.H, Zm.H, #180

FCMLA Z.H,P/M,Z.H,Z.H,#270FCMLA Zda.H, Pg/M, Zn.H, Zm.H, #270

svcmla[_f16]_m

FCMLA Z.H,Z.H,Z.H[i],#0FCMLA Zda.H, Zn.H, Zm.H[imm], #0

FCMLA Z.H,Z.H,Z.H[i],#90FCMLA Zda.H, Zn.H, Zm.H[imm], #90

FCMLA Z.H,Z.H,Z.H[i],#180FCMLA Zda.H, Zn.H, Zm.H[imm], #180

FCMLA Z.H,Z.H,Z.H[i],#270FCMLA Zda.H, Zn.H, Zm.H[imm], #270

svcmla_lane[_f16]

complex doubling mul and add high

SQRDCMLAH Z.D,Z.D,Z.D,#0SQRDCMLAH Zda.D, Zn.D, Zm.D, #0

SQRDCMLAH Z.D,Z.D,Z.D,#90SQRDCMLAH Zda.D, Zn.D, Zm.D, #90

SQRDCMLAH Z.D,Z.D,Z.D,#180SQRDCMLAH Zda.D, Zn.D, Zm.D, #180

SQRDCMLAH Z.D,Z.D,Z.D,#270SQRDCMLAH Zda.D, Zn.D, Zm.D, #270

svqrdcmlah[_s64]

SQRDCMLAH Z.S,Z.S,Z.S,#0SQRDCMLAH Zda.S, Zn.S, Zm.S, #0

SQRDCMLAH Z.S,Z.S,Z.S,#90SQRDCMLAH Zda.S, Zn.S, Zm.S, #90

SQRDCMLAH Z.S,Z.S,Z.S,#180SQRDCMLAH Zda.S, Zn.S, Zm.S, #180

SQRDCMLAH Z.S,Z.S,Z.S,#270SQRDCMLAH Zda.S, Zn.S, Zm.S, #270

svqrdcmlah[_s32]

SQRDCMLAH Z.S,Z.S,Z.S[i],#0SQRDCMLAH Zda.S, Zn.S, Zm.S[imm], #0

SQRDCMLAH Z.S,Z.S,Z.S[i],#90SQRDCMLAH Zda.S, Zn.S, Zm.S[imm], #90

SQRDCMLAH Z.S,Z.S,Z.S[i],#180SQRDCMLAH Zda.S, Zn.S, Zm.S[imm], #180

SQRDCMLAH Z.S,Z.S,Z.S[i],#270SQRDCMLAH Zda.S, Zn.S, Zm.S[imm], #270

svqrdcmlah_lane[_s32]

SQRDCMLAH Z.H,Z.H,Z.H,#0SQRDCMLAH Zda.H, Zn.H, Zm.H, #0

SQRDCMLAH Z.H,Z.H,Z.H,#90SQRDCMLAH Zda.H, Zn.H, Zm.H, #90

SQRDCMLAH Z.H,Z.H,Z.H,#180SQRDCMLAH Zda.H, Zn.H, Zm.H, #180

SQRDCMLAH Z.H,Z.H,Z.H,#270SQRDCMLAH Zda.H, Zn.H, Zm.H, #270

svqrdcmlah[_s16]

SQRDCMLAH Z.H,Z.H,Z.H[i],#0SQRDCMLAH Zda.H, Zn.H, Zm.H[imm], #0

SQRDCMLAH Z.H,Z.H,Z.H[i],#90SQRDCMLAH Zda.H, Zn.H, Zm.H[imm], #90

SQRDCMLAH Z.H,Z.H,Z.H[i],#180SQRDCMLAH Zda.H, Zn.H, Zm.H[imm], #180

SQRDCMLAH Z.H,Z.H,Z.H[i],#270SQRDCMLAH Zda.H, Zn.H, Zm.H[imm], #270

svqrdcmlah_lane[_s16]

SQRDCMLAH Z.B,Z.B,Z.B,#0SQRDCMLAH Zda.B, Zn.B, Zm.B, #0

SQRDCMLAH Z.B,Z.B,Z.B,#90SQRDCMLAH Zda.B, Zn.B, Zm.B, #90

SQRDCMLAH Z.B,Z.B,Z.B,#180SQRDCMLAH Zda.B, Zn.B, Zm.B, #180

SQRDCMLAH Z.B,Z.B,Z.B,#270SQRDCMLAH Zda.B, Zn.B, Zm.B, #270

svqrdcmlah[_s8]

complex dot-product

CDOT Z.D,Z.H,Z.H,#0CDOT Zda.D, Zn.H, Zm.H, #0

CDOT Z.D,Z.H,Z.H,#90CDOT Zda.D, Zn.H, Zm.H, #90

CDOT Z.D,Z.H,Z.H,#180CDOT Zda.D, Zn.H, Zm.H, #180

CDOT Z.D,Z.H,Z.H,#270CDOT Zda.D, Zn.H, Zm.H, #270

svcdot[_s64]

CDOT Z.D,Z.H,Z.H[i],#0CDOT Zda.D, Zn.H, Zm.H[imm], #0

CDOT Z.D,Z.H,Z.H[i],#90CDOT Zda.D, Zn.H, Zm.H[imm], #90

CDOT Z.D,Z.H,Z.H[i],#180CDOT Zda.D, Zn.H, Zm.H[imm], #180

CDOT Z.D,Z.H,Z.H[i],#270CDOT Zda.D, Zn.H, Zm.H[imm], #270

svcdot_lane[_s64]

CDOT Z.S,Z.B,Z.B,#0CDOT Zda.S, Zn.B, Zm.B, #0

CDOT Z.S,Z.B,Z.B,#90CDOT Zda.S, Zn.B, Zm.B, #90

CDOT Z.S,Z.B,Z.B,#180CDOT Zda.S, Zn.B, Zm.B, #180

CDOT Z.S,Z.B,Z.B,#270CDOT Zda.S, Zn.B, Zm.B, #270

svcdot[_s32]

CDOT Z.S,Z.B,Z.B[i],#0CDOT Zda.S, Zn.B, Zm.B[imm], #0

CDOT Z.S,Z.B,Z.B[i],#90CDOT Zda.S, Zn.B, Zm.B[imm], #90

CDOT Z.S,Z.B,Z.B[i],#180CDOT Zda.S, Zn.B, Zm.B[imm], #180

CDOT Z.S,Z.B,Z.B[i],#270CDOT Zda.S, Zn.B, Zm.B[imm], #270

svcdot_lane[_s32]

Bitwise Operations

64-bit
32-bit
16-bit
8-bit

and

AND Z.D,Z.D,Z.DAND Zd.D, Zn.D, Zm.D

svand[_{s,u}{8,16,32,64}]_x

AND Z.D,P/M,Z.D,Z.DAND Zdn.D, Pg/M, Zdn.D, Zm.D

svand[_{s,u}64]_m

AND Z.D,Z.D,#iAND Zdn.D, Zdn.D, #const

svand[_n_{s,u}64]_x

AND Z.S,P/M,Z.S,Z.SAND Zdn.S, Pg/M, Zdn.S, Zm.S

svand[_{s,u}32]_m

AND Z.S,Z.S,#iAND Zdn.S, Zdn.S, #const

svand[_n_{s,u}32]_x

AND Z.H,P/M,Z.H,Z.HAND Zdn.H, Pg/M, Zdn.H, Zm.H

svand[_{s,u}16]_m

AND Z.H,Z.H,#iAND Zdn.H, Zdn.H, #const

svand[_n_{s,u}16]_x

AND Z.B,P/M,Z.B,Z.BAND Zdn.B, Pg/M, Zdn.B, Zm.B

svand[_{s,u}8]_m

AND Z.B,Z.B,#iAND Zdn.B, Zdn.B, #const

svand[_n_{s,u}8]_x

or

ORR Z.D,Z.D,Z.DORR Zd.D, Zn.D, Zm.D

svorr[_{s,u}{8,16,32,64}]_x

ORR Z.D,P/M,Z.D,Z.DORR Zdn.D, Pg/M, Zdn.D, Zm.D

svorr[_{s,u}64]_m

ORR Z.D,Z.D,#iORR Zdn.D, Zdn.D, #const

svorr[_n_{s,u}64]_x

ORR Z.S,P/M,Z.S,Z.SORR Zdn.S, Pg/M, Zdn.S, Zm.S

svorr[_{s,u}32]_m

ORR Z.S,Z.S,#iORR Zdn.S, Zdn.S, #const

svorr[_n_{s,u}32]_x

ORR Z.H,P/M,Z.H,Z.HORR Zdn.H, Pg/M, Zdn.H, Zm.H

svorr[_{s,u}16]_m

ORR Z.H,Z.H,#iORR Zdn.H, Zdn.H, #const

svorr[_n_{s,u}16]_x

ORR Z.B,P/M,Z.B,Z.BORR Zdn.B, Pg/M, Zdn.B, Zm.B

svorr[_{s,u}8]_m

ORR Z.B,Z.B,#iORR Zdn.B, Zdn.B, #const

svorr[_n_{s,u}8]_x

xor

EOR Z.D,Z.D,Z.DEOR Zd.D, Zn.D, Zm.D

sveor[_{s,u}{8,16,32,64}]_x

EOR Z.D,P/M,Z.D,Z.DEOR Zdn.D, Pg/M, Zdn.D, Zm.D

sveor[_{s,u}64]_m

EOR Z.D,Z.D,#iEOR Zdn.D, Zdn.D, #const

sveor[_n_{s,u}64]_x

EORBT Z.D,Z.D,Z.DEORBT Zd.D, Zn.D, Zm.D

sveorbt[_{s,u}64]

EORTB Z.D,Z.D,Z.DEORTB Zd.D, Zn.D, Zm.D

sveortb[_{s,u}64]

EOR Z.S,P/M,Z.S,Z.SEOR Zdn.S, Pg/M, Zdn.S, Zm.S

sveor[_{s,u}32]_m

EOR Z.S,Z.S,#iEOR Zdn.S, Zdn.S, #const

sveor[_n_{s,u}32]_x

EORBT Z.S,Z.S,Z.SEORBT Zd.S, Zn.S, Zm.S

sveorbt[_{s,u}32]

EORTB Z.S,Z.S,Z.SEORTB Zd.S, Zn.S, Zm.S

sveortb[_{s,u}32]

EOR Z.H,P/M,Z.H,Z.HEOR Zdn.H, Pg/M, Zdn.H, Zm.H

sveor[_{s,u}16]_m

EOR Z.H,Z.H,#iEOR Zdn.H, Zdn.H, #const

sveor[_n_{s,u}16]_x

EORBT Z.H,Z.H,Z.HEORBT Zd.H, Zn.H, Zm.H

sveorbt[_{s,u}16]

EORTB Z.H,Z.H,Z.HEORTB Zd.H, Zn.H, Zm.H

sveortb[_{s,u}16]

EOR Z.B,P/M,Z.B,Z.BEOR Zdn.B, Pg/M, Zdn.B, Zm.B

sveor[_{s,u}8]_m

EOR Z.B,Z.B,#iEOR Zdn.B, Zdn.B, #const

sveor[_n_{s,u}8]_x

EORBT Z.B,Z.B,Z.BEORBT Zd.B, Zn.B, Zm.B

sveorbt[_{s,u}8]

EORTB Z.B,Z.B,Z.BEORTB Zd.B, Zn.B, Zm.B

sveortb[_{s,u}8]

not

NOT Z.D,P/M,Z.DNOT Zd.D, Pg/M, Zn.D

svnot[_{s,u}64]_m

NOT Z.S,P/M,Z.SNOT Zd.S, Pg/M, Zn.S

svnot[_{s,u}32]_m

NOT Z.H,P/M,Z.HNOT Zd.H, Pg/M, Zn.H

svnot[_{s,u}16]_m

NOT Z.B,P/M,Z.BNOT Zd.B, Pg/M, Zn.B

svnot[_{s,u}8]_m

and not

BIC Z.D,Z.D,Z.DBIC Zd.D, Zn.D, Zm.D

svbic[_{s,u}{8,16,32,64}]_x

BIC Z.D,P/M,Z.D,Z.DBIC Zdn.D, Pg/M, Zdn.D, Zm.D

svbic[_{s,u}64]_m

BIC Z.S,P/M,Z.S,Z.SBIC Zdn.S, Pg/M, Zdn.S, Zm.S

svbic[_{s,u}32]_m

BIC Z.H,P/M,Z.H,Z.HBIC Zdn.H, Pg/M, Zdn.H, Zm.H

svbic[_{s,u}16]_m

BIC Z.B,P/M,Z.B,Z.BBIC Zdn.B, Pg/M, Zdn.B, Zm.B

svbic[_{s,u}8]_m

3-way xor

EOR3 Z.D,Z.D,Z.D,Zk.DEOR3 Zdn.D, Zdn.D, Zm.D, Zk.D

sveor3[_{s,u}{8,16,32,64}]

and not, xor

BCAX Z.D,Z.D,Z.D,Zk.DBCAX Zdn.D, Zdn.D, Zm.D, Zk.D

svbcax[_{s,u}{8,16,32,64}]

bitwise select

BSL Z.D,Z.D,Z.D,Zk.DBSL Zdn.D, Zdn.D, Zm.D, Zk.D

svbsl[_{s,u}{8,16,32,64}]

BSL1N Z.D,Z.D,Z.D,Zk.DBSL1N Zdn.D, Zdn.D, Zm.D, Zk.D

svbsl1n[_{s,u}{8,16,32,64}]

BSL2N Z.D,Z.D,Z.D,Zk.DBSL2N Zdn.D, Zdn.D, Zm.D, Zk.D

svbsl2n[_{s,u}{8,16,32,64}]

NBSL Z.D,Z.D,Z.D,Zk.DNBSL Zdn.D, Zdn.D, Zm.D, Zk.D

svnbsl[_{s,u}{8,16,32,64}]

and reduction

ANDV D,P,Z.DANDV Dd, Pg, Zn.D

svandv[_{s,u}64]

ANDQV V.2D,P,Z.DANDQV Vd.2D, Pg, Zn.D

ANDV S,P,Z.SANDV Sd, Pg, Zn.S

svandv[_{s,u}32]

ANDQV V.4S,P,Z.SANDQV Vd.4S, Pg, Zn.S

ANDV H,P,Z.HANDV Hd, Pg, Zn.H

svandv[_{s,u}16]

ANDQV V.8H,P,Z.HANDQV Vd.8H, Pg, Zn.H

ANDV B,P,Z.BANDV Bd, Pg, Zn.B

svandv[_{s,u}8]

ANDQV V.16B,P,Z.BANDQV Vd.16B, Pg, Zn.B

or reduction

ORV D,P,Z.DORV Dd, Pg, Zn.D

svorv[_{s,u}64]

ORQV V.2D,P,Z.DORQV Vd.2D, Pg, Zn.D

ORV S,P,Z.SORV Sd, Pg, Zn.S

svorv[_{s,u}32]

ORQV V.4S,P,Z.SORQV Vd.4S, Pg, Zn.S

ORV H,P,Z.HORV Hd, Pg, Zn.H

svorv[_{s,u}16]

ORQV V.8H,P,Z.HORQV Vd.8H, Pg, Zn.H

ORV B,P,Z.BORV Bd, Pg, Zn.B

svorv[_{s,u}8]

ORQV V.16B,P,Z.BORQV Vd.16B, Pg, Zn.B

xor reduction

EORV D,P,Z.DEORV Dd, Pg, Zn.D

sveorv[_{s,u}64]

EORQV V.2D,P,Z.DEORQV Vd.2D, Pg, Zn.D

EORV S,P,Z.SEORV Sd, Pg, Zn.S

sveorv[_{s,u}32]

EORQV V.4S,P,Z.SEORQV Vd.4S, Pg, Zn.S

EORV H,P,Z.HEORV Hd, Pg, Zn.H

sveorv[_{s,u}16]

EORQV V.8H,P,Z.HEORQV Vd.8H, Pg, Zn.H

EORV B,P,Z.BEORV Bd, Pg, Zn.B

sveorv[_{s,u}8]

EORQV V.16B,P,Z.BEORQV Vd.16B, Pg, Zn.B

Bit Shift / Rotate

64-bit
32-bit
16-bit
8-bit

shift left

LSL Z.D,P/M,Z.D,#iLSL Zdn.D, Pg/M, Zdn.D, #const

svlsl[_n_{s,u}64]_m

LSL Z.D,Z.D,#iLSL Zd.D, Zn.D, #const

svlsl[_n_{s,u}64]_x

LSL Z.D,P/M,Z.D,Z.DLSL Zdn.D, Pg/M, Zdn.D, Zm.D

svlsl[_{s,u}64]_m

SQSHL Z.D,P/M,Z.D,#iSQSHL Zdn.D, Pg/M, Zdn.D, #const

svqshl[_n_s64]_m

UQSHL Z.D,P/M,Z.D,#iUQSHL Zdn.D, Pg/M, Zdn.D, #const

svqshl[_n_u64]_m

SQSHLU Z.D,P/M,Z.D,#iSQSHLU Zdn.D, Pg/M, Zdn.D, #const

svqshlu[_n_s64]_m

LSLR Z.D,P/M,Z.D,Z.DLSLR Zdn.D, Pg/M, Zdn.D, Zm.D

LSL Z.S,P/M,Z.S,#iLSL Zdn.S, Pg/M, Zdn.S, #const

svlsl[_n_{s,u}32]_m

LSL Z.S,Z.S,#iLSL Zd.S, Zn.S, #const

svlsl[_n_{s,u}32]_x

LSL Z.S,P/M,Z.S,Z.SLSL Zdn.S, Pg/M, Zdn.S, Zm.S

svlsl[_{s,u}32]_m

SQSHL Z.S,P/M,Z.S,#iSQSHL Zdn.S, Pg/M, Zdn.S, #const

svqshl[_n_s32]_m

UQSHL Z.S,P/M,Z.S,#iUQSHL Zdn.S, Pg/M, Zdn.S, #const

svqshl[_n_u32]_m

SQSHLU Z.S,P/M,Z.S,#iSQSHLU Zdn.S, Pg/M, Zdn.S, #const

svqshlu[_n_s32]_m

LSL Z.S,P/M,Z.S,Z.DLSL Zdn.S, Pg/M, Zdn.S, Zm.D

svlsl_wide[_{s,u}32]_m

LSL Z.S,Z.S,Z.DLSL Zd.S, Zn.S, Zm.D

svlsl_wide[_{s,u}32]_x

LSLR Z.S,P/M,Z.S,Z.SLSLR Zdn.S, Pg/M, Zdn.S, Zm.S

LSL Z.H,P/M,Z.H,#iLSL Zdn.H, Pg/M, Zdn.H, #const

svlsl[_n_{s,u}16]_m

LSL Z.H,Z.H,#iLSL Zd.H, Zn.H, #const

svlsl[_n_{s,u}16]_x

LSL Z.H,P/M,Z.H,Z.HLSL Zdn.H, Pg/M, Zdn.H, Zm.H

svlsl[_{s,u}16]_m

SQSHL Z.H,P/M,Z.H,#iSQSHL Zdn.H, Pg/M, Zdn.H, #const

svqshl[_n_s16]_m

UQSHL Z.H,P/M,Z.H,#iUQSHL Zdn.H, Pg/M, Zdn.H, #const

svqshl[_n_u16]_m

SQSHLU Z.H,P/M,Z.H,#iSQSHLU Zdn.H, Pg/M, Zdn.H, #const

svqshlu[_n_s16]_m

LSL Z.H,P/M,Z.H,Z.DLSL Zdn.H, Pg/M, Zdn.H, Zm.D

svlsl_wide[_{s,u}16]_m

LSL Z.H,Z.H,Z.DLSL Zd.H, Zn.H, Zm.D

svlsl_wide[_{s,u}16]_x

LSLR Z.H,P/M,Z.H,Z.HLSLR Zdn.H, Pg/M, Zdn.H, Zm.H

LSL Z.B,P/M,Z.B,#iLSL Zdn.B, Pg/M, Zdn.B, #const

svlsl[_n_{s,u}8]_m

LSL Z.B,Z.B,#iLSL Zd.B, Zn.B, #const

svlsl[_n_{s,u}8]_x

LSL Z.B,P/M,Z.B,Z.BLSL Zdn.B, Pg/M, Zdn.B, Zm.B

svlsl[_{s,u}8]_m

SQSHL Z.B,P/M,Z.B,#iSQSHL Zdn.B, Pg/M, Zdn.B, #const

svqshl[_n_s8]_m

UQSHL Z.B,P/M,Z.B,#iUQSHL Zdn.B, Pg/M, Zdn.B, #const

svqshl[_n_u8]_m

SQSHLU Z.B,P/M,Z.B,#iSQSHLU Zdn.B, Pg/M, Zdn.B, #const

svqshlu[_n_s8]_m

LSL Z.B,P/M,Z.B,Z.DLSL Zdn.B, Pg/M, Zdn.B, Zm.D

svlsl_wide[_{s,u}8]_m

LSL Z.B,Z.B,Z.DLSL Zd.B, Zn.B, Zm.D

svlsl_wide[_{s,u}8]_x

LSLR Z.B,P/M,Z.B,Z.BLSLR Zdn.B, Pg/M, Zdn.B, Zm.B

shift right logical

LSR Z.D,P/M,Z.D,#iLSR Zdn.D, Pg/M, Zdn.D, #const

svlsr[_n_u64]_m

LSR Z.D,Z.D,#iLSR Zd.D, Zn.D, #const

svlsr[_n_u64]_x

LSR Z.D,P/M,Z.D,Z.DLSR Zdn.D, Pg/M, Zdn.D, Zm.D

svlsr[_u64]_m

URSHR Z.D,P/M,Z.D,#iURSHR Zdn.D, Pg/M, Zdn.D, #const

svrshr[_n_u64]_m

LSRR Z.D,P/M,Z.D,Z.DLSRR Zdn.D, Pg/M, Zdn.D, Zm.D

LSR Z.S,P/M,Z.S,#iLSR Zdn.S, Pg/M, Zdn.S, #const

svlsr[_n_u32]_m

LSR Z.S,Z.S,#iLSR Zd.S, Zn.S, #const

svlsr[_n_u32]_x

LSR Z.S,P/M,Z.S,Z.SLSR Zdn.S, Pg/M, Zdn.S, Zm.S

svlsr[_u32]_m

URSHR Z.S,P/M,Z.S,#iURSHR Zdn.S, Pg/M, Zdn.S, #const

svrshr[_n_u32]_m

LSR Z.S,P/M,Z.S,Z.DLSR Zdn.S, Pg/M, Zdn.S, Zm.D

svlsr_wide[_u32]_m

LSR Z.S,Z.S,Z.DLSR Zd.S, Zn.S, Zm.D

svlsr_wide[_u32]_x

LSRR Z.S,P/M,Z.S,Z.SLSRR Zdn.S, Pg/M, Zdn.S, Zm.S

LSR Z.H,P/M,Z.H,#iLSR Zdn.H, Pg/M, Zdn.H, #const

svlsr[_n_u16]_m

LSR Z.H,Z.H,#iLSR Zd.H, Zn.H, #const

svlsr[_n_u16]_x

LSR Z.H,P/M,Z.H,Z.HLSR Zdn.H, Pg/M, Zdn.H, Zm.H

svlsr[_u16]_m

URSHR Z.H,P/M,Z.H,#iURSHR Zdn.H, Pg/M, Zdn.H, #const

svrshr[_n_u16]_m

LSR Z.H,P/M,Z.H,Z.DLSR Zdn.H, Pg/M, Zdn.H, Zm.D

svlsr_wide[_u16]_m

LSR Z.H,Z.H,Z.DLSR Zd.H, Zn.H, Zm.D

svlsr_wide[_u16]_x

LSRR Z.H,P/M,Z.H,Z.HLSRR Zdn.H, Pg/M, Zdn.H, Zm.H

LSR Z.B,P/M,Z.B,#iLSR Zdn.B, Pg/M, Zdn.B, #const

svlsr[_n_u8]_m

LSR Z.B,Z.B,#iLSR Zd.B, Zn.B, #const

svlsr[_n_u8]_x

LSR Z.B,P/M,Z.B,Z.BLSR Zdn.B, Pg/M, Zdn.B, Zm.B

svlsr[_u8]_m

URSHR Z.B,P/M,Z.B,#iURSHR Zdn.B, Pg/M, Zdn.B, #const

svrshr[_n_u8]_m

LSR Z.B,P/M,Z.B,Z.DLSR Zdn.B, Pg/M, Zdn.B, Zm.D

svlsr_wide[_u8]_m

LSR Z.B,Z.B,Z.DLSR Zd.B, Zn.B, Zm.D

svlsr_wide[_u8]_x

LSRR Z.B,P/M,Z.B,Z.BLSRR Zdn.B, Pg/M, Zdn.B, Zm.B

shift right arithmetic

ASR Z.D,P/M,Z.D,#iASR Zdn.D, Pg/M, Zdn.D, #const

svasr[_n_s64]_m

ASR Z.D,Z.D,#iASR Zd.D, Zn.D, #const

svasr[_n_s64]_x

ASR Z.D,P/M,Z.D,Z.DASR Zdn.D, Pg/M, Zdn.D, Zm.D

svasr[_s64]_m

SRSHR Z.D,P/M,Z.D,#iSRSHR Zdn.D, Pg/M, Zdn.D, #const

svrshr[_n_s64]_m

ASRR Z.D,P/M,Z.D,Z.DASRR Zdn.D, Pg/M, Zdn.D, Zm.D

ASR Z.S,P/M,Z.S,#iASR Zdn.S, Pg/M, Zdn.S, #const

svasr[_n_s32]_m

ASR Z.S,Z.S,#iASR Zd.S, Zn.S, #const

svasr[_n_s32]_x

ASR Z.S,P/M,Z.S,Z.SASR Zdn.S, Pg/M, Zdn.S, Zm.S

svasr[_s32]_m

SRSHR Z.S,P/M,Z.S,#iSRSHR Zdn.S, Pg/M, Zdn.S, #const

svrshr[_n_s32]_m

ASR Z.S,P/M,Z.S,Z.DASR Zdn.S, Pg/M, Zdn.S, Zm.D

svasr_wide[_s32]_m

ASR Z.S,Z.S,Z.DASR Zd.S, Zn.S, Zm.D

svasr_wide[_s32]_x

ASRR Z.S,P/M,Z.S,Z.SASRR Zdn.S, Pg/M, Zdn.S, Zm.S

ASR Z.H,P/M,Z.H,#iASR Zdn.H, Pg/M, Zdn.H, #const

svasr[_n_s16]_m

ASR Z.H,Z.H,#iASR Zd.H, Zn.H, #const

svasr[_n_s16]_x

ASR Z.H,P/M,Z.H,Z.HASR Zdn.H, Pg/M, Zdn.H, Zm.H

svasr[_s16]_m

SRSHR Z.H,P/M,Z.H,#iSRSHR Zdn.H, Pg/M, Zdn.H, #const

svrshr[_n_s16]_m

ASR Z.H,P/M,Z.H,Z.DASR Zdn.H, Pg/M, Zdn.H, Zm.D

svasr_wide[_s16]_m

ASR Z.H,Z.H,Z.DASR Zd.H, Zn.H, Zm.D

svasr_wide[_s16]_x

ASRR Z.H,P/M,Z.H,Z.HASRR Zdn.H, Pg/M, Zdn.H, Zm.H

ASR Z.B,P/M,Z.B,#iASR Zdn.B, Pg/M, Zdn.B, #const

svasr[_n_s8]_m

ASR Z.B,Z.B,#iASR Zd.B, Zn.B, #const

svasr[_n_s8]_x

ASR Z.B,P/M,Z.B,Z.BASR Zdn.B, Pg/M, Zdn.B, Zm.B

svasr[_s8]_m

SRSHR Z.B,P/M,Z.B,#iSRSHR Zdn.B, Pg/M, Zdn.B, #const

svrshr[_n_s8]_m

ASR Z.B,P/M,Z.B,Z.DASR Zdn.B, Pg/M, Zdn.B, Zm.D

svasr_wide[_s8]_m

ASR Z.B,Z.B,Z.DASR Zd.B, Zn.B, Zm.D

svasr_wide[_s8]_x

ASRR Z.B,P/M,Z.B,Z.BASRR Zdn.B, Pg/M, Zdn.B, Zm.B

shift right arithmetic, rounding towards zero

ASRD Z.D,P/M,Z.D,#iASRD Zdn.D, Pg/M, Zdn.D, #const

svasrd[_n_s64]_m

ASRD Z.S,P/M,Z.S,#iASRD Zdn.S, Pg/M, Zdn.S, #const

svasrd[_n_s32]_m

ASRD Z.H,P/M,Z.H,#iASRD Zdn.H, Pg/M, Zdn.H, #const

svasrd[_n_s16]_m

ASRD Z.B,P/M,Z.B,#iASRD Zdn.B, Pg/M, Zdn.B, #const

svasrd[_n_s8]_m

bidirectional shifts

SQSHL Z.D,P/M,Z.D,Z.DSQSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svqshl[_s64]_m

UQSHL Z.D,P/M,Z.D,Z.DUQSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svqshl[_u64]_m

SRSHL Z.D,P/M,Z.D,Z.DSRSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svrshl[_s64]_m

URSHL Z.D,P/M,Z.D,Z.DURSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svrshl[_u64]_m

SQRSHL Z.D,P/M,Z.D,Z.DSQRSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svqrshl[_s64]_m

UQRSHL Z.D,P/M,Z.D,Z.DUQRSHL Zdn.D, Pg/M, Zdn.D, Zm.D

svqrshl[_u64]_m

SQSHLR Z.D,P/M,Z.D,Z.DSQSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

UQSHLR Z.D,P/M,Z.D,Z.DUQSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

SRSHLR Z.D,P/M,Z.D,Z.DSRSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

URSHLR Z.D,P/M,Z.D,Z.DURSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

SQRSHLR Z.D,P/M,Z.D,Z.DSQRSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

UQRSHLR Z.D,P/M,Z.D,Z.DUQRSHLR Zdn.D, Pg/M, Zdn.D, Zm.D

SQSHL Z.S,P/M,Z.S,Z.SSQSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svqshl[_s32]_m

UQSHL Z.S,P/M,Z.S,Z.SUQSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svqshl[_u32]_m

SRSHL Z.S,P/M,Z.S,Z.SSRSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svrshl[_s32]_m

URSHL Z.S,P/M,Z.S,Z.SURSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svrshl[_u32]_m

SQRSHL Z.S,P/M,Z.S,Z.SSQRSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svqrshl[_s32]_m

UQRSHL Z.S,P/M,Z.S,Z.SUQRSHL Zdn.S, Pg/M, Zdn.S, Zm.S

svqrshl[_u32]_m

SQSHLR Z.S,P/M,Z.S,Z.SSQSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

UQSHLR Z.S,P/M,Z.S,Z.SUQSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

SRSHLR Z.S,P/M,Z.S,Z.SSRSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

URSHLR Z.S,P/M,Z.S,Z.SURSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

SQRSHLR Z.S,P/M,Z.S,Z.SSQRSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

UQRSHLR Z.S,P/M,Z.S,Z.SUQRSHLR Zdn.S, Pg/M, Zdn.S, Zm.S

SQSHL Z.H,P/M,Z.H,Z.HSQSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svqshl[_s16]_m

UQSHL Z.H,P/M,Z.H,Z.HUQSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svqshl[_u16]_m

SRSHL Z.H,P/M,Z.H,Z.HSRSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svrshl[_s16]_m

URSHL Z.H,P/M,Z.H,Z.HURSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svrshl[_u16]_m

SQRSHL Z.H,P/M,Z.H,Z.HSQRSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svqrshl[_s16]_m

UQRSHL Z.H,P/M,Z.H,Z.HUQRSHL Zdn.H, Pg/M, Zdn.H, Zm.H

svqrshl[_u16]_m

SQSHLR Z.H,P/M,Z.H,Z.HSQSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

UQSHLR Z.H,P/M,Z.H,Z.HUQSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

SRSHLR Z.H,P/M,Z.H,Z.HSRSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

URSHLR Z.H,P/M,Z.H,Z.HURSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

SQRSHLR Z.H,P/M,Z.H,Z.HSQRSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

UQRSHLR Z.H,P/M,Z.H,Z.HUQRSHLR Zdn.H, Pg/M, Zdn.H, Zm.H

SQSHL Z.B,P/M,Z.B,Z.BSQSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svqshl[_s8]_m

UQSHL Z.B,P/M,Z.B,Z.BUQSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svqshl[_u8]_m

SRSHL Z.B,P/M,Z.B,Z.BSRSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svrshl[_s8]_m

URSHL Z.B,P/M,Z.B,Z.BURSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svrshl[_u8]_m

SQRSHL Z.B,P/M,Z.B,Z.BSQRSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svqrshl[_s8]_m

UQRSHL Z.B,P/M,Z.B,Z.BUQRSHL Zdn.B, Pg/M, Zdn.B, Zm.B

svqrshl[_u8]_m

SQSHLR Z.B,P/M,Z.B,Z.BSQSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

UQSHLR Z.B,P/M,Z.B,Z.BUQSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

SRSHLR Z.B,P/M,Z.B,Z.BSRSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

URSHLR Z.B,P/M,Z.B,Z.BURSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

SQRSHLR Z.B,P/M,Z.B,Z.BSQRSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

UQRSHLR Z.B,P/M,Z.B,Z.BUQRSHLR Zdn.B, Pg/M, Zdn.B, Zm.B

narrowing right shift

SHRNB Z.S,Z.D,#iSHRNB Zd.S, Zn.D, #const

svshrnb[_n_{s,u}64]

SHRNT Z.S,Z.D,#iSHRNT Zd.S, Zn.D, #const

svshrnt[_n_{s,u}64]

RSHRNB Z.S,Z.D,#iRSHRNB Zd.S, Zn.D, #const

svrshrnb[_n_{s,u}64]

RSHRNT Z.S,Z.D,#iRSHRNT Zd.S, Zn.D, #const

svrshrnt[_n_{s,u}64]

SQRSHRNB Z.S,Z.D,#iSQRSHRNB Zd.S, Zn.D, #const

svqrshrnb[_n_s64]

SQRSHRNT Z.S,Z.D,#iSQRSHRNT Zd.S, Zn.D, #const

svqrshrnt[_n_s64]

UQRSHRNB Z.S,Z.D,#iUQRSHRNB Zd.S, Zn.D, #const

svqrshrnb[_n_u64]

UQRSHRNT Z.S,Z.D,#iUQRSHRNT Zd.S, Zn.D, #const

svqrshrnt[_n_u64]

SQSHRNB Z.S,Z.D,#iSQSHRNB Zd.S, Zn.D, #const

svqshrnb[_n_s64]

SQSHRNT Z.S,Z.D,#iSQSHRNT Zd.S, Zn.D, #const

svqshrnt[_n_s64]

UQSHRNB Z.S,Z.D,#iUQSHRNB Zd.S, Zn.D, #const

svqshrnb[_n_u64]

UQSHRNT Z.S,Z.D,#iUQSHRNT Zd.S, Zn.D, #const

svqshrnt[_n_u64]

SQRSHRUNB Z.S,Z.D,#iSQRSHRUNB Zd.S, Zn.D, #const

svqrshrunb[_n_s64]

SQRSHRUNT Z.S,Z.D,#iSQRSHRUNT Zd.S, Zn.D, #const

svqrshrunt[_n_s64]

SQSHRUNB Z.S,Z.D,#iSQSHRUNB Zd.S, Zn.D, #const

svqshrunb[_n_s64]

SQSHRUNT Z.S,Z.D,#iSQSHRUNT Zd.S, Zn.D, #const

svqshrunt[_n_s64]

SHRNB Z.H,Z.S,#iSHRNB Zd.H, Zn.S, #const

svshrnb[_n_{s,u}32]

SHRNT Z.H,Z.S,#iSHRNT Zd.H, Zn.S, #const

svshrnt[_n_{s,u}32]

RSHRNB Z.H,Z.S,#iRSHRNB Zd.H, Zn.S, #const

svrshrnb[_n_{s,u}32]

RSHRNT Z.H,Z.S,#iRSHRNT Zd.H, Zn.S, #const

svrshrnt[_n_{s,u}32]

SQRSHRNB Z.H,Z.S,#iSQRSHRNB Zd.H, Zn.S, #const

svqrshrnb[_n_s32]

SQRSHRNT Z.H,Z.S,#iSQRSHRNT Zd.H, Zn.S, #const

svqrshrnt[_n_s32]

UQRSHRNB Z.H,Z.S,#iUQRSHRNB Zd.H, Zn.S, #const

svqrshrnb[_n_u32]

UQRSHRNT Z.H,Z.S,#iUQRSHRNT Zd.H, Zn.S, #const

svqrshrnt[_n_u32]

SQSHRNB Z.H,Z.S,#iSQSHRNB Zd.H, Zn.S, #const

svqshrnb[_n_s32]

SQSHRNT Z.H,Z.S,#iSQSHRNT Zd.H, Zn.S, #const

svqshrnt[_n_s32]

UQSHRNB Z.H,Z.S,#iUQSHRNB Zd.H, Zn.S, #const

svqshrnb[_n_u32]

UQSHRNT Z.H,Z.S,#iUQSHRNT Zd.H, Zn.S, #const

svqshrnt[_n_u32]

SQRSHRUNB Z.H,Z.S,#iSQRSHRUNB Zd.H, Zn.S, #const

svqrshrunb[_n_s32]

SQRSHRUNT Z.H,Z.S,#iSQRSHRUNT Zd.H, Zn.S, #const

svqrshrunt[_n_s32]

SQSHRUNB Z.H,Z.S,#iSQSHRUNB Zd.H, Zn.S, #const

svqshrunb[_n_s32]

SQSHRUNT Z.H,Z.S,#iSQSHRUNT Zd.H, Zn.S, #const

svqshrunt[_n_s32]

SHRNB Z.B,Z.H,#iSHRNB Zd.B, Zn.H, #const

svshrnb[_n_{s,u}16]

SHRNT Z.B,Z.H,#iSHRNT Zd.B, Zn.H, #const

svshrnt[_n_{s,u}16]

RSHRNB Z.B,Z.H,#iRSHRNB Zd.B, Zn.H, #const

svrshrnb[_n_{s,u}16]

RSHRNT Z.B,Z.H,#iRSHRNT Zd.B, Zn.H, #const

svrshrnt[_n_{s,u}16]

SQRSHRNB Z.B,Z.H,#iSQRSHRNB Zd.B, Zn.H, #const

svqrshrnb[_n_s16]

SQRSHRNT Z.B,Z.H,#iSQRSHRNT Zd.B, Zn.H, #const

svqrshrnt[_n_s16]

UQRSHRNB Z.B,Z.H,#iUQRSHRNB Zd.B, Zn.H, #const

svqrshrnb[_n_u16]

UQRSHRNT Z.B,Z.H,#iUQRSHRNT Zd.B, Zn.H, #const

svqrshrnt[_n_u16]

SQSHRNB Z.B,Z.H,#iSQSHRNB Zd.B, Zn.H, #const

svqshrnb[_n_s16]

SQSHRNT Z.B,Z.H,#iSQSHRNT Zd.B, Zn.H, #const

svqshrnt[_n_s16]

UQSHRNB Z.B,Z.H,#iUQSHRNB Zd.B, Zn.H, #const

svqshrnb[_n_u16]

UQSHRNT Z.B,Z.H,#iUQSHRNT Zd.B, Zn.H, #const

svqshrnt[_n_u16]

SQRSHRUNB Z.B,Z.H,#iSQRSHRUNB Zd.B, Zn.H, #const

svqrshrunb[_n_s16]

SQRSHRUNT Z.B,Z.H,#iSQRSHRUNT Zd.B, Zn.H, #const

svqrshrunt[_n_s16]

SQSHRUNB Z.B,Z.H,#iSQSHRUNB Zd.B, Zn.H, #const

svqshrunb[_n_s16]

SQSHRUNT Z.B,Z.H,#iSQSHRUNT Zd.B, Zn.H, #const

svqshrunt[_n_s16]

interleaving narrowing right shift

SQRSHRN Z.H,{Z.S,Z.S},#iSQRSHRN Zd.H, { Zn1.S-Zn2.S }, #const

UQRSHRN Z.H,{Z.S,Z.S},#iUQRSHRN Zd.H, { Zn1.S-Zn2.S }, #const

SQRSHRUN Z.H,{Z.S,Z.S},#iSQRSHRUN Zd.H, { Zn1.S-Zn2.S }, #const

widening shift left

SSHLLB Z.D,Z.S,#iSSHLLB Zd.D, Zn.S, #const

svshllb[_n_s64]

USHLLB Z.D,Z.S,#iUSHLLB Zd.D, Zn.S, #const

svshllb[_n_u64]

SSHLLT Z.D,Z.S,#iSSHLLT Zd.D, Zn.S, #const

svshllt[_n_s64]

USHLLT Z.D,Z.S,#iUSHLLT Zd.D, Zn.S, #const

svshllt[_n_u64]

SSHLLB Z.S,Z.H,#iSSHLLB Zd.S, Zn.H, #const

svshllb[_n_s32]

USHLLB Z.S,Z.H,#iUSHLLB Zd.S, Zn.H, #const

svshllb[_n_u32]

SSHLLT Z.S,Z.H,#iSSHLLT Zd.S, Zn.H, #const

svshllt[_n_s32]

USHLLT Z.S,Z.H,#iUSHLLT Zd.S, Zn.H, #const

svshllt[_n_u32]

SSHLLB Z.H,Z.B,#iSSHLLB Zd.H, Zn.B, #const

svshllb[_n_s16]

USHLLB Z.H,Z.B,#iUSHLLB Zd.H, Zn.B, #const

svshllb[_n_u16]

SSHLLT Z.H,Z.B,#iSSHLLT Zd.H, Zn.B, #const

svshllt[_n_s16]

USHLLT Z.H,Z.B,#iUSHLLT Zd.H, Zn.B, #const

svshllt[_n_u16]

shift right and add

SSRA Z.D,Z.D,#iSSRA Zda.D, Zn.D, #const

svsra[_n_s64]

USRA Z.D,Z.D,#iUSRA Zda.D, Zn.D, #const

svsra[_n_u64]

SRSRA Z.D,Z.D,#iSRSRA Zda.D, Zn.D, #const

svrsra[_n_s64]

URSRA Z.D,Z.D,#iURSRA Zda.D, Zn.D, #const

svrsra[_n_u64]

SSRA Z.S,Z.S,#iSSRA Zda.S, Zn.S, #const

svsra[_n_s32]

USRA Z.S,Z.S,#iUSRA Zda.S, Zn.S, #const

svsra[_n_u32]

SRSRA Z.S,Z.S,#iSRSRA Zda.S, Zn.S, #const

svrsra[_n_s32]

URSRA Z.S,Z.S,#iURSRA Zda.S, Zn.S, #const

svrsra[_n_u32]

SSRA Z.H,Z.H,#iSSRA Zda.H, Zn.H, #const

svsra[_n_s16]

USRA Z.H,Z.H,#iUSRA Zda.H, Zn.H, #const

svsra[_n_u16]

SRSRA Z.H,Z.H,#iSRSRA Zda.H, Zn.H, #const

svrsra[_n_s16]

URSRA Z.H,Z.H,#iURSRA Zda.H, Zn.H, #const

svrsra[_n_u16]

SSRA Z.B,Z.B,#iSSRA Zda.B, Zn.B, #const

svsra[_n_s8]

USRA Z.B,Z.B,#iUSRA Zda.B, Zn.B, #const

svsra[_n_u8]

SRSRA Z.B,Z.B,#iSRSRA Zda.B, Zn.B, #const

svrsra[_n_s8]

URSRA Z.B,Z.B,#iURSRA Zda.B, Zn.B, #const

svrsra[_n_u8]

shift right and insert

SRI Z.D,Z.D,#iSRI Zd.D, Zn.D, #const

svsri[_n_{s,u}64]

SRI Z.S,Z.S,#iSRI Zd.S, Zn.S, #const

svsri[_n_{s,u}32]

SRI Z.H,Z.H,#iSRI Zd.H, Zn.H, #const

svsri[_n_{s,u}16]

SRI Z.B,Z.B,#iSRI Zd.B, Zn.B, #const

svsri[_n_{s,u}8]

shift left and insert

SLI Z.D,Z.D,#iSLI Zd.D, Zn.D, #const

svsli[_n_{s,u}64]

SLI Z.S,Z.S,#iSLI Zd.S, Zn.S, #const

svsli[_n_{s,u}32]

SLI Z.H,Z.H,#iSLI Zd.H, Zn.H, #const

svsli[_n_{s,u}16]

SLI Z.B,Z.B,#iSLI Zd.B, Zn.B, #const

svsli[_n_{s,u}8]

xor and rotate

XAR Z.D,Z.D,Z.D,#iXAR Zdn.D, Zdn.D, Zm.D, #const

svxar[_n_{s,u}64]

XAR Z.S,Z.S,Z.S,#iXAR Zdn.S, Zdn.S, Zm.S, #const

svxar[_n_{s,u}32]

XAR Z.H,Z.H,Z.H,#iXAR Zdn.H, Zdn.H, Zm.H, #const

svxar[_n_{s,u}16]

XAR Z.B,Z.B,Z.B,#iXAR Zdn.B, Zdn.B, Zm.B, #const

svxar[_n_{s,u}8]

Other Logical Operations

64-bit
32-bit
16-bit
8-bit

logical not

CNOT Z.D,P/M,Z.DCNOT Zd.D, Pg/M, Zn.D

svcnot[_{s,u}64]_m

CNOT Z.S,P/M,Z.SCNOT Zd.S, Pg/M, Zn.S

svcnot[_{s,u}32]_m

CNOT Z.H,P/M,Z.HCNOT Zd.H, Pg/M, Zn.H

svcnot[_{s,u}16]_m

CNOT Z.B,P/M,Z.BCNOT Zd.B, Pg/M, Zn.B

svcnot[_{s,u}8]_m

count leading zeros

CLZ Z.D,P/M,Z.DCLZ Zd.D, Pg/M, Zn.D

svclz[_{s,u}64]_m

CLZ Z.S,P/M,Z.SCLZ Zd.S, Pg/M, Zn.S

svclz[_{s,u}32]_m

CLZ Z.H,P/M,Z.HCLZ Zd.H, Pg/M, Zn.H

svclz[_{s,u}16]_m

CLZ Z.B,P/M,Z.BCLZ Zd.B, Pg/M, Zn.B

svclz[_{s,u}8]_m

count leading sign bits

CLS Z.D,P/M,Z.DCLS Zd.D, Pg/M, Zn.D

svcls[_s64]_m

CLS Z.S,P/M,Z.SCLS Zd.S, Pg/M, Zn.S

svcls[_s32]_m

CLS Z.H,P/M,Z.HCLS Zd.H, Pg/M, Zn.H

svcls[_s16]_m

CLS Z.B,P/M,Z.BCLS Zd.B, Pg/M, Zn.B

svcls[_s8]_m

count non-zero bits

CNT Z.D,P/M,Z.DCNT Zd.D, Pg/M, Zn.D

svcnt[_{s,u,f}64]_m

CNT Z.S,P/M,Z.SCNT Zd.S, Pg/M, Zn.S

svcnt[_{s,u,f}32]_m

CNT Z.H,P/M,Z.HCNT Zd.H, Pg/M, Zn.H

svcnt[_{s,u,f,bf}16]_m

CNT Z.B,P/M,Z.BCNT Zd.B, Pg/M, Zn.B

svcnt[_{s,u}8]_m

reverse bits

RBIT Z.D,P/M,Z.DRBIT Zd.D, Pg/M, Zn.D

svrbit[_{s,u}64]_m

RBIT Z.S,P/M,Z.SRBIT Zd.S, Pg/M, Zn.S

svrbit[_{s,u}32]_m

RBIT Z.H,P/M,Z.HRBIT Zd.H, Pg/M, Zn.H

svrbit[_{s,u}16]_m

RBIT Z.B,P/M,Z.BRBIT Zd.B, Pg/M, Zn.B

svrbit[_{s,u}8]_m

bit deposit

BDEP Z.D,Z.D,Z.DBDEP Zd.D, Zn.D, Zm.D

svbdep[_u64]

BDEP Z.S,Z.S,Z.SBDEP Zd.S, Zn.S, Zm.S

svbdep[_u32]

BDEP Z.H,Z.H,Z.HBDEP Zd.H, Zn.H, Zm.H

svbdep[_u16]

BDEP Z.B,Z.B,Z.BBDEP Zd.B, Zn.B, Zm.B

svbdep[_u8]

bit extract

BEXT Z.D,Z.D,Z.DBEXT Zd.D, Zn.D, Zm.D

svbext[_u64]

BEXT Z.S,Z.S,Z.SBEXT Zd.S, Zn.S, Zm.S

svbext[_u32]

BEXT Z.H,Z.H,Z.HBEXT Zd.H, Zn.H, Zm.H

svbext[_u16]

BEXT Z.B,Z.B,Z.BBEXT Zd.B, Zn.B, Zm.B

svbext[_u8]

bit group

BGRP Z.D,Z.D,Z.DBGRP Zd.D, Zn.D, Zm.D

svbgrp[_u64]

BGRP Z.S,Z.S,Z.SBGRP Zd.S, Zn.S, Zm.S

svbgrp[_u32]

BGRP Z.H,Z.H,Z.HBGRP Zd.H, Zn.H, Zm.H

svbgrp[_u16]

BGRP Z.B,Z.B,Z.BBGRP Zd.B, Zn.B, Zm.B

svbgrp[_u8]

polynomial multiply

PMUL Z.B,Z.B,Z.BPMUL Zd.B, Zn.B, Zm.B

svpmul[_u8]

widening polynomial multiply

PMULLB Z.Q,Z.D,Z.DPMULLB Zd.Q, Zn.D, Zm.D

svpmullb_pair[_u64]

PMULLT Z.Q,Z.D,Z.DPMULLT Zd.Q, Zn.D, Zm.D

svpmullt_pair[_u64]

PMULLB Z.D,Z.S,Z.SPMULLB Zd.D, Zn.S, Zm.S

svpmullb[_u64]

svpmullb_pair[_u32]

PMULLT Z.D,Z.S,Z.SPMULLT Zd.D, Zn.S, Zm.S

svpmullt[_u64]

svpmullt_pair[_u32]

PMULLB Z.H,Z.B,Z.BPMULLB Zd.H, Zn.B, Zm.B

svpmullb[_u16]

svpmullb_pair[_u8]

PMULLT Z.H,Z.B,Z.BPMULLT Zd.H, Zn.B, Zm.B

svpmullt[_u16]

svpmullt_pair[_u8]

String

64-bit
32-bit
16-bit
8-bit

find matching elements

MATCH P.H,P/Z,Z.H,Z.HMATCH Pd.H, Pg/Z, Zn.H, Zm.H

svmatch[_{s,u}16]

MATCH P.B,P/Z,Z.B,Z.BMATCH Pd.B, Pg/Z, Zn.B, Zm.B

svmatch[_{s,u}8]

find non-matching elements

NMATCH P.H,P/Z,Z.H,Z.HNMATCH Pd.H, Pg/Z, Zn.H, Zm.H

svnmatch[_{s,u}16]

NMATCH P.B,P/Z,Z.B,Z.BNMATCH Pd.B, Pg/Z, Zn.B, Zm.B

svnmatch[_{s,u}8]

count matching elements (within 128-bit segments)

HISTSEG Z.B,Z.B,Z.BHISTSEG Zd.B, Zn.B, Zm.B

svhistseg[_{s,u}8]

count matching elements (prefix-inclusive)

HISTCNT Z.D,P/Z,Z.D,Z.DHISTCNT Zd.D, Pg/Z, Zn.D, Zm.D

svhistcnt[_{s,u}64]_z

HISTCNT Z.S,P/Z,Z.S,Z.SHISTCNT Zd.S, Pg/Z, Zn.S, Zm.S

svhistcnt[_{s,u}32]_z

Predication

Compare

Integer
Floating-Point

64-bit
32-bit
16-bit
8-bit
double
single
half

compare for==

CMPEQ P.D,P/Z,Z.D,#iCMPEQ Pd.D, Pg/Z, Zn.D, #imm

svcmpeq[_n_{s,u}64]

CMPEQ P.D,P/Z,Z.D,Z.DCMPEQ Pd.D, Pg/Z, Zn.D, Zm.D

svcmpeq[_{s,u}64]

CMPEQ P.S,P/Z,Z.S,#iCMPEQ Pd.S, Pg/Z, Zn.S, #imm

svcmpeq[_n_{s,u}32]

CMPEQ P.S,P/Z,Z.S,Z.SCMPEQ Pd.S, Pg/Z, Zn.S, Zm.S

svcmpeq[_{s,u}32]

CMPEQ P.S,P/Z,Z.S,Z.DCMPEQ Pd.S, Pg/Z, Zn.S, Zm.D

svcmpeq_wide[_s32]

CMPEQ P.H,P/Z,Z.H,#iCMPEQ Pd.H, Pg/Z, Zn.H, #imm

svcmpeq[_n_{s,u}16]

CMPEQ P.H,P/Z,Z.H,Z.HCMPEQ Pd.H, Pg/Z, Zn.H, Zm.H

svcmpeq[_{s,u}16]

CMPEQ P.H,P/Z,Z.H,Z.DCMPEQ Pd.H, Pg/Z, Zn.H, Zm.D

svcmpeq_wide[_s16]

CMPEQ P.B,P/Z,Z.B,#iCMPEQ Pd.B, Pg/Z, Zn.B, #imm

svcmpeq[_n_{s,u}8]

CMPEQ P.B,P/Z,Z.B,Z.BCMPEQ Pd.B, Pg/Z, Zn.B, Zm.B

svcmpeq[_{s,u}8]

CMPEQ P.B,P/Z,Z.B,Z.DCMPEQ Pd.B, Pg/Z, Zn.B, Zm.D

svcmpeq_wide[_s8]

FCMEQ P.D,P/Z,Z.D,Z.DFCMEQ Pd.D, Pg/Z, Zn.D, Zm.D

svcmpeq[_f64]

FCMEQ P.D,P/Z,Z.D,#0.0FCMEQ Pd.D, Pg/Z, Zn.D, #0.0

svcmpeq[_n_f64]

FCMEQ P.S,P/Z,Z.S,Z.SFCMEQ Pd.S, Pg/Z, Zn.S, Zm.S

svcmpeq[_f32]

FCMEQ P.S,P/Z,Z.S,#0.0FCMEQ Pd.S, Pg/Z, Zn.S, #0.0

svcmpeq[_n_f32]

FCMEQ P.H,P/Z,Z.H,Z.HFCMEQ Pd.H, Pg/Z, Zn.H, Zm.H

svcmpeq[_f16]

FCMEQ P.H,P/Z,Z.H,#0.0FCMEQ Pd.H, Pg/Z, Zn.H, #0.0

svcmpeq[_n_f16]

compare for !=

CMPNE P.D,P/Z,Z.D,#iCMPNE Pd.D, Pg/Z, Zn.D, #imm

svcmpne[_n_{s,u}64]

CMPNE P.D,P/Z,Z.D,Z.DCMPNE Pd.D, Pg/Z, Zn.D, Zm.D

svcmpne[_{s,u}64]

CMPNE P.S,P/Z,Z.S,#iCMPNE Pd.S, Pg/Z, Zn.S, #imm

svcmpne[_n_{s,u}32]

CMPNE P.S,P/Z,Z.S,Z.SCMPNE Pd.S, Pg/Z, Zn.S, Zm.S

svcmpne[_{s,u}32]

CMPNE P.S,P/Z,Z.S,Z.DCMPNE Pd.S, Pg/Z, Zn.S, Zm.D

svcmpne_wide[_s32]

CMPNE P.H,P/Z,Z.H,#iCMPNE Pd.H, Pg/Z, Zn.H, #imm

svcmpne[_n_{s,u}16]

CMPNE P.H,P/Z,Z.H,Z.HCMPNE Pd.H, Pg/Z, Zn.H, Zm.H

svcmpne[_{s,u}16]

CMPNE P.H,P/Z,Z.H,Z.DCMPNE Pd.H, Pg/Z, Zn.H, Zm.D

svcmpne_wide[_s16]

CMPNE P.B,P/Z,Z.B,#iCMPNE Pd.B, Pg/Z, Zn.B, #imm

svcmpne[_n_{s,u}8]

CMPNE P.B,P/Z,Z.B,Z.BCMPNE Pd.B, Pg/Z, Zn.B, Zm.B

svcmpne[_{s,u}8]

CMPNE P.B,P/Z,Z.B,Z.DCMPNE Pd.B, Pg/Z, Zn.B, Zm.D

svcmpne_wide[_s8]

FCMNE P.D,P/Z,Z.D,Z.DFCMNE Pd.D, Pg/Z, Zn.D, Zm.D

svcmpne[_f64]

FCMNE P.D,P/Z,Z.D,#0.0FCMNE Pd.D, Pg/Z, Zn.D, #0.0

svcmpne[_n_f64]

FCMNE P.S,P/Z,Z.S,Z.SFCMNE Pd.S, Pg/Z, Zn.S, Zm.S

svcmpne[_f32]

FCMNE P.S,P/Z,Z.S,#0.0FCMNE Pd.S, Pg/Z, Zn.S, #0.0

svcmpne[_n_f32]

FCMNE P.H,P/Z,Z.H,Z.HFCMNE Pd.H, Pg/Z, Zn.H, Zm.H

svcmpne[_f16]

FCMNE P.H,P/Z,Z.H,#0.0FCMNE Pd.H, Pg/Z, Zn.H, #0.0

svcmpne[_n_f16]

compare for

CMPGT P.D,P/Z,Z.D,#iCMPGT Pd.D, Pg/Z, Zn.D, #imm

svcmpgt[_n_s64]

CMPGT P.D,P/Z,Z.D,Z.DCMPGT Pd.D, Pg/Z, Zn.D, Zm.D

svcmpgt[_s64]

CMPHI P.D,P/Z,Z.D,#iCMPHI Pd.D, Pg/Z, Zn.D, #imm

svcmpgt[_n_u64]

CMPHI P.D,P/Z,Z.D,Z.DCMPHI Pd.D, Pg/Z, Zn.D, Zm.D

svcmpgt[_u64]

CMPGT P.S,P/Z,Z.S,#iCMPGT Pd.S, Pg/Z, Zn.S, #imm

svcmpgt[_n_s32]

CMPGT P.S,P/Z,Z.S,Z.SCMPGT Pd.S, Pg/Z, Zn.S, Zm.S

svcmpgt[_s32]

CMPGT P.S,P/Z,Z.S,Z.DCMPGT Pd.S, Pg/Z, Zn.S, Zm.D

svcmpgt_wide[_s32]

CMPHI P.S,P/Z,Z.S,#iCMPHI Pd.S, Pg/Z, Zn.S, #imm

svcmpgt[_n_u32]

CMPHI P.S,P/Z,Z.S,Z.SCMPHI Pd.S, Pg/Z, Zn.S, Zm.S

svcmpgt[_u32]

CMPHI P.S,P/Z,Z.S,Z.DCMPHI Pd.S, Pg/Z, Zn.S, Zm.D

svcmpgt_wide[_u32]

CMPGT P.H,P/Z,Z.H,#iCMPGT Pd.H, Pg/Z, Zn.H, #imm

svcmpgt[_n_s16]

CMPGT P.H,P/Z,Z.H,Z.HCMPGT Pd.H, Pg/Z, Zn.H, Zm.H

svcmpgt[_s16]

CMPGT P.H,P/Z,Z.H,Z.DCMPGT Pd.H, Pg/Z, Zn.H, Zm.D

svcmpgt_wide[_s16]

CMPHI P.H,P/Z,Z.H,#iCMPHI Pd.H, Pg/Z, Zn.H, #imm

svcmpgt[_n_u16]

CMPHI P.H,P/Z,Z.H,Z.HCMPHI Pd.H, Pg/Z, Zn.H, Zm.H

svcmpgt[_u16]

CMPHI P.H,P/Z,Z.H,Z.DCMPHI Pd.H, Pg/Z, Zn.H, Zm.D

svcmpgt_wide[_u16]

CMPGT P.B,P/Z,Z.B,#iCMPGT Pd.B, Pg/Z, Zn.B, #imm

svcmpgt[_n_s8]

CMPGT P.B,P/Z,Z.B,Z.BCMPGT Pd.B, Pg/Z, Zn.B, Zm.B

svcmpgt[_s8]

CMPGT P.B,P/Z,Z.B,Z.DCMPGT Pd.B, Pg/Z, Zn.B, Zm.D

svcmpgt_wide[_s8]

CMPHI P.B,P/Z,Z.B,#iCMPHI Pd.B, Pg/Z, Zn.B, #imm

svcmpgt[_n_u8]

CMPHI P.B,P/Z,Z.B,Z.BCMPHI Pd.B, Pg/Z, Zn.B, Zm.B

svcmpgt[_u8]

CMPHI P.B,P/Z,Z.B,Z.DCMPHI Pd.B, Pg/Z, Zn.B, Zm.D

svcmpgt_wide[_u8]

FCMGT P.D,P/Z,Z.D,Z.DFCMGT Pd.D, Pg/Z, Zn.D, Zm.D

svcmpgt[_f64]

FCMGT P.D,P/Z,Z.D,#0.0FCMGT Pd.D, Pg/Z, Zn.D, #0.0

svcmpgt[_n_f64]

FCMGT P.S,P/Z,Z.S,Z.SFCMGT Pd.S, Pg/Z, Zn.S, Zm.S

svcmpgt[_f32]

FCMGT P.S,P/Z,Z.S,#0.0FCMGT Pd.S, Pg/Z, Zn.S, #0.0

svcmpgt[_n_f32]

FCMGT P.H,P/Z,Z.H,Z.HFCMGT Pd.H, Pg/Z, Zn.H, Zm.H

svcmpgt[_f16]

FCMGT P.H,P/Z,Z.H,#0.0FCMGT Pd.H, Pg/Z, Zn.H, #0.0

svcmpgt[_n_f16]

compare for ≤

CMPLE P.D,P/Z,Z.D,#iCMPLE Pd.D, Pg/Z, Zn.D, #imm

svcmple[_n_s64]

CMPLS P.D,P/Z,Z.D,#iCMPLS Pd.D, Pg/Z, Zn.D, #imm

svcmple[_n_u64]

CMPLE P.S,P/Z,Z.S,#iCMPLE Pd.S, Pg/Z, Zn.S, #imm

svcmple[_n_s32]

CMPLE P.S,P/Z,Z.S,Z.DCMPLE Pd.S, Pg/Z, Zn.S, Zm.D

svcmple_wide[_s32]

CMPLS P.S,P/Z,Z.S,#iCMPLS Pd.S, Pg/Z, Zn.S, #imm

svcmple[_n_u32]

CMPLS P.S,P/Z,Z.S,Z.DCMPLS Pd.S, Pg/Z, Zn.S, Zm.D

svcmple_wide[_u32]

CMPLE P.H,P/Z,Z.H,#iCMPLE Pd.H, Pg/Z, Zn.H, #imm

svcmple[_n_s16]

CMPLE P.H,P/Z,Z.H,Z.DCMPLE Pd.H, Pg/Z, Zn.H, Zm.D

svcmple_wide[_s16]

CMPLS P.H,P/Z,Z.H,#iCMPLS Pd.H, Pg/Z, Zn.H, #imm

svcmple[_n_u16]

CMPLS P.H,P/Z,Z.H,Z.DCMPLS Pd.H, Pg/Z, Zn.H, Zm.D

svcmple_wide[_u16]

CMPLE P.B,P/Z,Z.B,#iCMPLE Pd.B, Pg/Z, Zn.B, #imm

svcmple[_n_s8]

CMPLE P.B,P/Z,Z.B,Z.DCMPLE Pd.B, Pg/Z, Zn.B, Zm.D

svcmple_wide[_s8]

CMPLS P.B,P/Z,Z.B,#iCMPLS Pd.B, Pg/Z, Zn.B, #imm

svcmple[_n_u8]

CMPLS P.B,P/Z,Z.B,Z.DCMPLS Pd.B, Pg/Z, Zn.B, Zm.D

svcmple_wide[_u8]

FCMLE P.D,P/Z,Z.D,#0.0FCMLE Pd.D, Pg/Z, Zn.D, #0.0

svcmple[_n_f64]

FCMLE P.S,P/Z,Z.S,#0.0FCMLE Pd.S, Pg/Z, Zn.S, #0.0

svcmple[_n_f32]

FCMLE P.H,P/Z,Z.H,#0.0FCMLE Pd.H, Pg/Z, Zn.H, #0.0

svcmple[_n_f16]

compare for ≥

CMPGE P.D,P/Z,Z.D,#iCMPGE Pd.D, Pg/Z, Zn.D, #imm

svcmpge[_n_s64]

CMPGE P.D,P/Z,Z.D,Z.DCMPGE Pd.D, Pg/Z, Zn.D, Zm.D

svcmpge[_s64]

CMPHS P.D,P/Z,Z.D,#iCMPHS Pd.D, Pg/Z, Zn.D, #imm

svcmpge[_n_u64]

CMPHS P.D,P/Z,Z.D,Z.DCMPHS Pd.D, Pg/Z, Zn.D, Zm.D

svcmpge[_u64]

CMPGE P.S,P/Z,Z.S,#iCMPGE Pd.S, Pg/Z, Zn.S, #imm

svcmpge[_n_s32]

CMPGE P.S,P/Z,Z.S,Z.SCMPGE Pd.S, Pg/Z, Zn.S, Zm.S

svcmpge[_s32]

CMPGE P.S,P/Z,Z.S,Z.DCMPGE Pd.S, Pg/Z, Zn.S, Zm.D

svcmpge_wide[_s32]

CMPHS P.S,P/Z,Z.S,#iCMPHS Pd.S, Pg/Z, Zn.S, #imm

svcmpge[_n_u32]

CMPHS P.S,P/Z,Z.S,Z.SCMPHS Pd.S, Pg/Z, Zn.S, Zm.S

svcmpge[_u32]

CMPHS P.S,P/Z,Z.S,Z.DCMPHS Pd.S, Pg/Z, Zn.S, Zm.D

svcmpge_wide[_u32]

CMPGE P.H,P/Z,Z.H,#iCMPGE Pd.H, Pg/Z, Zn.H, #imm

svcmpge[_n_s16]

CMPGE P.H,P/Z,Z.H,Z.HCMPGE Pd.H, Pg/Z, Zn.H, Zm.H

svcmpge[_s16]

CMPGE P.H,P/Z,Z.H,Z.DCMPGE Pd.H, Pg/Z, Zn.H, Zm.D

svcmpge_wide[_s16]

CMPHS P.H,P/Z,Z.H,#iCMPHS Pd.H, Pg/Z, Zn.H, #imm

svcmpge[_n_u16]

CMPHS P.H,P/Z,Z.H,Z.HCMPHS Pd.H, Pg/Z, Zn.H, Zm.H

svcmpge[_u16]

CMPHS P.H,P/Z,Z.H,Z.DCMPHS Pd.H, Pg/Z, Zn.H, Zm.D

svcmpge_wide[_u16]

CMPGE P.B,P/Z,Z.B,#iCMPGE Pd.B, Pg/Z, Zn.B, #imm

svcmpge[_n_s8]

CMPGE P.B,P/Z,Z.B,Z.BCMPGE Pd.B, Pg/Z, Zn.B, Zm.B

svcmpge[_s8]

CMPGE P.B,P/Z,Z.B,Z.DCMPGE Pd.B, Pg/Z, Zn.B, Zm.D

svcmpge_wide[_s8]

CMPHS P.B,P/Z,Z.B,#iCMPHS Pd.B, Pg/Z, Zn.B, #imm

svcmpge[_n_u8]

CMPHS P.B,P/Z,Z.B,Z.BCMPHS Pd.B, Pg/Z, Zn.B, Zm.B

svcmpge[_u8]

CMPHS P.B,P/Z,Z.B,Z.DCMPHS Pd.B, Pg/Z, Zn.B, Zm.D

svcmpge_wide[_u8]

FCMGE P.D,P/Z,Z.D,Z.DFCMGE Pd.D, Pg/Z, Zn.D, Zm.D

svcmpge[_f64]

FCMGE P.D,P/Z,Z.D,#0.0FCMGE Pd.D, Pg/Z, Zn.D, #0.0

svcmpge[_n_f64]

FCMGE P.S,P/Z,Z.S,Z.SFCMGE Pd.S, Pg/Z, Zn.S, Zm.S

svcmpge[_f32]

FCMGE P.S,P/Z,Z.S,#0.0FCMGE Pd.S, Pg/Z, Zn.S, #0.0

svcmpge[_n_f32]

FCMGE P.H,P/Z,Z.H,Z.HFCMGE Pd.H, Pg/Z, Zn.H, Zm.H

svcmpge[_f16]

FCMGE P.H,P/Z,Z.H,#0.0FCMGE Pd.H, Pg/Z, Zn.H, #0.0

svcmpge[_n_f16]

compare for unordered

FCMUO P.D,P/Z,Z.D,Z.DFCMUO Pd.D, Pg/Z, Zn.D, Zm.D

svcmpuo[_f64]

FCMUO P.S,P/Z,Z.S,Z.SFCMUO Pd.S, Pg/Z, Zn.S, Zm.S

svcmpuo[_f32]

FCMUO P.H,P/Z,Z.H,Z.HFCMUO Pd.H, Pg/Z, Zn.H, Zm.H

svcmpuo[_f16]

compare absolute value for>

FACGT P.D,P/Z,Z.D,Z.DFACGT Pd.D, Pg/Z, Zn.D, Zm.D

svacgt[_f64]

FACGT P.S,P/Z,Z.S,Z.SFACGT Pd.S, Pg/Z, Zn.S, Zm.S

svacgt[_f32]

FACGT P.H,P/Z,Z.H,Z.HFACGT Pd.H, Pg/Z, Zn.H, Zm.H

svacgt[_f16]

compare absolute value for ≥

FACGE P.D,P/Z,Z.D,Z.DFACGE Pd.D, Pg/Z, Zn.D, Zm.D

svacge[_f64]

FACGE P.S,P/Z,Z.S,Z.SFACGE Pd.S, Pg/Z, Zn.S, Zm.S

svacge[_f32]

FACGE P.H,P/Z,Z.H,Z.HFACGE Pd.H, Pg/Z, Zn.H, Zm.H

svacge[_f16]

Predicate Operations

64-bit
32-bit
16-bit
8-bit

set predicate register

PTRUE P.D,pPTRUE Pd.D{, pattern}

svptrue_pat_b64

PTRUE PN.DPTRUE PNd.D

PTRUES P.D,pPTRUES Pd.D{, pattern}

PTRUE P.S,pPTRUE Pd.S{, pattern}

svptrue_pat_b32

PTRUE PN.SPTRUE PNd.S

PTRUES P.S,pPTRUES Pd.S{, pattern}

PTRUE P.H,pPTRUE Pd.H{, pattern}

svptrue_pat_b16

PTRUE PN.HPTRUE PNd.H

PTRUES P.H,pPTRUES Pd.H{, pattern}

PTRUE P.B,pPTRUE Pd.B{, pattern}

svptrue_pat_b8

PTRUE PN.BPTRUE PNd.B

PTRUES P.B,pPTRUES Pd.B{, pattern}

zero predicate register

PFALSE P.BPFALSE Pd.B

svpfalse[_b]

zip

ZIP1 P.D,P.D,P.DZIP1 Pd.D, Pn.D, Pm.D

svzip1_b64

ZIP2 P.D,P.D,P.DZIP2 Pd.D, Pn.D, Pm.D

svzip2_b64

ZIP1 P.S,P.S,P.SZIP1 Pd.S, Pn.S, Pm.S

svzip1_b32

ZIP2 P.S,P.S,P.SZIP2 Pd.S, Pn.S, Pm.S

svzip2_b32

ZIP1 P.H,P.H,P.HZIP1 Pd.H, Pn.H, Pm.H

svzip1_b16

ZIP2 P.H,P.H,P.HZIP2 Pd.H, Pn.H, Pm.H

svzip2_b16

ZIP1 P.B,P.B,P.BZIP1 Pd.B, Pn.B, Pm.B

svzip1_b8

ZIP2 P.B,P.B,P.BZIP2 Pd.B, Pn.B, Pm.B

svzip2_b8

unzip

UZP1 P.D,P.D,P.DUZP1 Pd.D, Pn.D, Pm.D

svuzp1_b64

UZP2 P.D,P.D,P.DUZP2 Pd.D, Pn.D, Pm.D

svuzp2_b64

UZP1 P.S,P.S,P.SUZP1 Pd.S, Pn.S, Pm.S

svuzp1_b32

UZP2 P.S,P.S,P.SUZP2 Pd.S, Pn.S, Pm.S

svuzp2_b32

UZP1 P.H,P.H,P.HUZP1 Pd.H, Pn.H, Pm.H

svuzp1_b16

UZP2 P.H,P.H,P.HUZP2 Pd.H, Pn.H, Pm.H

svuzp2_b16

UZP1 P.B,P.B,P.BUZP1 Pd.B, Pn.B, Pm.B

svuzp1_b8

UZP2 P.B,P.B,P.BUZP2 Pd.B, Pn.B, Pm.B

svuzp2_b8

transpose

TRN1 P.D,P.D,P.DTRN1 Pd.D, Pn.D, Pm.D

svtrn1_b64

TRN2 P.D,P.D,P.DTRN2 Pd.D, Pn.D, Pm.D

svtrn2_b64

TRN1 P.S,P.S,P.STRN1 Pd.S, Pn.S, Pm.S

svtrn1_b32

TRN2 P.S,P.S,P.STRN2 Pd.S, Pn.S, Pm.S

svtrn2_b32

TRN1 P.H,P.H,P.HTRN1 Pd.H, Pn.H, Pm.H

svtrn1_b16

TRN2 P.H,P.H,P.HTRN2 Pd.H, Pn.H, Pm.H

svtrn2_b16

TRN1 P.B,P.B,P.BTRN1 Pd.B, Pn.B, Pm.B

svtrn1_b8

TRN2 P.B,P.B,P.BTRN2 Pd.B, Pn.B, Pm.B

svtrn2_b8

reverse

REV P.D,P.DREV Pd.D, Pn.D

svrev_b64

REV P.S,P.SREV Pd.S, Pn.S

svrev_b32

REV P.H,P.HREV Pd.H, Pn.H

svrev_b16

REV P.B,P.BREV Pd.B, Pn.B

svrev_b8

unpack

PUNPKHI P.H,P.BPUNPKHI Pd.H, Pn.B

svunpkhi[_b]

PUNPKLO P.H,P.BPUNPKLO Pd.H, Pn.B

svunpklo[_b]

extract predicate from predicate-as-counter

PEXT P.D,PN[i]PEXT Pd.D, PNn[imm]

PEXT {P.D,P.D},PN[i]PEXT { Pd1.D, Pd2.D }, PNn[imm]

PEXT P.S,PN[i]PEXT Pd.S, PNn[imm]

PEXT {P.S,P.S},PN[i]PEXT { Pd1.S, Pd2.S }, PNn[imm]

PEXT P.H,PN[i]PEXT Pd.H, PNn[imm]

PEXT {P.H,P.H},PN[i]PEXT { Pd1.H, Pd2.H }, PNn[imm]

PEXT P.B,PN[i]PEXT Pd.B, PNn[imm]

PEXT {P.B,P.B},PN[i]PEXT { Pd1.B, Pd2.B }, PNn[imm]

Predicate Bitwise Operations

64-bit
32-bit
16-bit
8-bit

test

PTEST P,P.BPTEST Pg, Pn.B

svptest_any

svptest_first

svptest_last

and

AND P.B,P/Z,P.B,P.BAND Pd.B, Pg/Z, Pn.B, Pm.B

svand[_b]_z

ANDS P.B,P/Z,P.B,P.BANDS Pd.B, Pg/Z, Pn.B, Pm.B

or

ORR P.B,P/Z,P.B,P.BORR Pd.B, Pg/Z, Pn.B, Pm.B

svorr[_b]_z

ORRS P.B,P/Z,P.B,P.BORRS Pd.B, Pg/Z, Pn.B, Pm.B

xor

EOR P.B,P/Z,P.B,P.BEOR Pd.B, Pg/Z, Pn.B, Pm.B

sveor[_b]_z

EORS P.B,P/Z,P.B,P.BEORS Pd.B, Pg/Z, Pn.B, Pm.B

and not

BIC P.B,P/Z,P.B,P.BBIC Pd.B, Pg/Z, Pn.B, Pm.B

svbic[_b]_z

BICS P.B,P/Z,P.B,P.BBICS Pd.B, Pg/Z, Pn.B, Pm.B

or not

ORN P.B,P/Z,P.B,P.BORN Pd.B, Pg/Z, Pn.B, Pm.B

svorn[_b]_z

ORNS P.B,P/Z,P.B,P.BORNS Pd.B, Pg/Z, Pn.B, Pm.B

not and

NAND P.B,P/Z,P.B,P.BNAND Pd.B, Pg/Z, Pn.B, Pm.B

svnand[_b]_z

NANDS P.B,P/Z,P.B,P.BNANDS Pd.B, Pg/Z, Pn.B, Pm.B

not or

NOR P.B,P/Z,P.B,P.BNOR Pd.B, Pg/Z, Pn.B, Pm.B

svnor[_b]_z

NORS P.B,P/Z,P.B,P.BNORS Pd.B, Pg/Z, Pn.B, Pm.B

select

SEL P.B,P,P.B,P.BSEL Pd.B, Pg, Pn.B, Pm.B

svsel[_b]

Predicate Loop Control Operations

64-bit
32-bit
16-bit
8-bit

while WHILELT P.D,W,WWHILELT Pd.D, Wn, Wm

svwhilelt_b64[_s32]

WHILELT P.D,X,XWHILELT Pd.D, Xn, Xm

svwhilelt_b64[_s64]

WHILELT {P.D,P.D},X,XWHILELT { Pd1.D, Pd2.D }, Xn, Xm

WHILELT PN.D,X,X,VLx2WHILELT PNd.D, Xn, Xm, VLx2

WHILELT PN.D,X,X,VLx4WHILELT PNd.D, Xn, Xm, VLx4

WHILELT P.S,W,WWHILELT Pd.S, Wn, Wm

svwhilelt_b32[_s32]

WHILELT P.S,X,XWHILELT Pd.S, Xn, Xm

svwhilelt_b32[_s64]

WHILELT {P.S,P.S},X,XWHILELT { Pd1.S, Pd2.S }, Xn, Xm

WHILELT PN.S,X,X,VLx2WHILELT PNd.S, Xn, Xm, VLx2

WHILELT PN.S,X,X,VLx4WHILELT PNd.S, Xn, Xm, VLx4

WHILELT P.H,W,WWHILELT Pd.H, Wn, Wm

svwhilelt_b16[_s32]

WHILELT P.H,X,XWHILELT Pd.H, Xn, Xm

svwhilelt_b16[_s64]

WHILELT {P.H,P.H},X,XWHILELT { Pd1.H, Pd2.H }, Xn, Xm

WHILELT PN.H,X,X,VLx2WHILELT PNd.H, Xn, Xm, VLx2

WHILELT PN.H,X,X,VLx4WHILELT PNd.H, Xn, Xm, VLx4

WHILELT P.B,W,WWHILELT Pd.B, Wn, Wm

svwhilelt_b8[_s32]

WHILELT P.B,X,XWHILELT Pd.B, Xn, Xm

svwhilelt_b8[_s64]

WHILELT {P.B,P.B},X,XWHILELT { Pd1.B, Pd2.B }, Xn, Xm

WHILELT PN.B,X,X,VLx2WHILELT PNd.B, Xn, Xm, VLx2

WHILELT PN.B,X,X,VLx4WHILELT PNd.B, Xn, Xm, VLx4

while> (signed)

WHILEGT P.D,W,WWHILEGT Pd.D, Wn, Wm

svwhilegt_b64[_s32]

WHILEGT P.D,X,XWHILEGT Pd.D, Xn, Xm

svwhilegt_b64[_s64]

WHILEGT {P.D,P.D},X,XWHILEGT { Pd1.D, Pd2.D }, Xn, Xm

WHILEGT PN.D,X,X,VLx2WHILEGT PNd.D, Xn, Xm, VLx2

WHILEGT PN.D,X,X,VLx4WHILEGT PNd.D, Xn, Xm, VLx4

WHILEGT P.S,W,WWHILEGT Pd.S, Wn, Wm

svwhilegt_b32[_s32]

WHILEGT P.S,X,XWHILEGT Pd.S, Xn, Xm

svwhilegt_b32[_s64]

WHILEGT {P.S,P.S},X,XWHILEGT { Pd1.S, Pd2.S }, Xn, Xm

WHILEGT PN.S,X,X,VLx2WHILEGT PNd.S, Xn, Xm, VLx2

WHILEGT PN.S,X,X,VLx4WHILEGT PNd.S, Xn, Xm, VLx4

WHILEGT P.H,W,WWHILEGT Pd.H, Wn, Wm

svwhilegt_b16[_s32]

WHILEGT P.H,X,XWHILEGT Pd.H, Xn, Xm

svwhilegt_b16[_s64]

WHILEGT {P.H,P.H},X,XWHILEGT { Pd1.H, Pd2.H }, Xn, Xm

WHILEGT PN.H,X,X,VLx2WHILEGT PNd.H, Xn, Xm, VLx2

WHILEGT PN.H,X,X,VLx4WHILEGT PNd.H, Xn, Xm, VLx4

WHILEGT P.B,W,WWHILEGT Pd.B, Wn, Wm

svwhilegt_b8[_s32]

WHILEGT P.B,X,XWHILEGT Pd.B, Xn, Xm

svwhilegt_b8[_s64]

WHILEGT {P.B,P.B},X,XWHILEGT { Pd1.B, Pd2.B }, Xn, Xm

WHILEGT PN.B,X,X,VLx2WHILEGT PNd.B, Xn, Xm, VLx2

WHILEGT PN.B,X,X,VLx4WHILEGT PNd.B, Xn, Xm, VLx4

while ≤ (signed)

WHILELE P.D,W,WWHILELE Pd.D, Wn, Wm

svwhilele_b64[_s32]

WHILELE P.D,X,XWHILELE Pd.D, Xn, Xm

svwhilele_b64[_s64]

WHILELE {P.D,P.D},X,XWHILELE { Pd1.D, Pd2.D }, Xn, Xm

WHILELE PN.D,X,X,VLx2WHILELE PNd.D, Xn, Xm, VLx2

WHILELE PN.D,X,X,VLx4WHILELE PNd.D, Xn, Xm, VLx4

WHILELE P.S,W,WWHILELE Pd.S, Wn, Wm

svwhilele_b32[_s32]

WHILELE P.S,X,XWHILELE Pd.S, Xn, Xm

svwhilele_b32[_s64]

WHILELE {P.S,P.S},X,XWHILELE { Pd1.S, Pd2.S }, Xn, Xm

WHILELE PN.S,X,X,VLx2WHILELE PNd.S, Xn, Xm, VLx2

WHILELE PN.S,X,X,VLx4WHILELE PNd.S, Xn, Xm, VLx4

WHILELE P.H,W,WWHILELE Pd.H, Wn, Wm

svwhilele_b16[_s32]

WHILELE P.H,X,XWHILELE Pd.H, Xn, Xm

svwhilele_b16[_s64]

WHILELE {P.H,P.H},X,XWHILELE { Pd1.H, Pd2.H }, Xn, Xm

WHILELE PN.H,X,X,VLx2WHILELE PNd.H, Xn, Xm, VLx2

WHILELE PN.H,X,X,VLx4WHILELE PNd.H, Xn, Xm, VLx4

WHILELE P.B,W,WWHILELE Pd.B, Wn, Wm

svwhilele_b8[_s32]

WHILELE P.B,X,XWHILELE Pd.B, Xn, Xm

svwhilele_b8[_s64]

WHILELE {P.B,P.B},X,XWHILELE { Pd1.B, Pd2.B }, Xn, Xm

WHILELE PN.B,X,X,VLx2WHILELE PNd.B, Xn, Xm, VLx2

WHILELE PN.B,X,X,VLx4WHILELE PNd.B, Xn, Xm, VLx4

while ≥ (signed)

WHILEGE P.D,W,WWHILEGE Pd.D, Wn, Wm

svwhilege_b64[_s32]

WHILEGE P.D,X,XWHILEGE Pd.D, Xn, Xm

svwhilege_b64[_s64]

WHILEGE {P.D,P.D},X,XWHILEGE { Pd1.D, Pd2.D }, Xn, Xm

WHILEGE PN.D,X,X,VLx2WHILEGE PNd.D, Xn, Xm, VLx2

WHILEGE PN.D,X,X,VLx4WHILEGE PNd.D, Xn, Xm, VLx4

WHILEGE P.S,W,WWHILEGE Pd.S, Wn, Wm

svwhilege_b32[_s32]

WHILEGE P.S,X,XWHILEGE Pd.S, Xn, Xm

svwhilege_b32[_s64]

WHILEGE {P.S,P.S},X,XWHILEGE { Pd1.S, Pd2.S }, Xn, Xm

WHILEGE PN.S,X,X,VLx2WHILEGE PNd.S, Xn, Xm, VLx2

WHILEGE PN.S,X,X,VLx4WHILEGE PNd.S, Xn, Xm, VLx4

WHILEGE P.H,W,WWHILEGE Pd.H, Wn, Wm

svwhilege_b16[_s32]

WHILEGE P.H,X,XWHILEGE Pd.H, Xn, Xm

svwhilege_b16[_s64]

WHILEGE {P.H,P.H},X,XWHILEGE { Pd1.H, Pd2.H }, Xn, Xm

WHILEGE PN.H,X,X,VLx2WHILEGE PNd.H, Xn, Xm, VLx2

WHILEGE PN.H,X,X,VLx4WHILEGE PNd.H, Xn, Xm, VLx4

WHILEGE P.B,W,WWHILEGE Pd.B, Wn, Wm

svwhilege_b8[_s32]

WHILEGE P.B,X,XWHILEGE Pd.B, Xn, Xm

svwhilege_b8[_s64]

WHILEGE {P.B,P.B},X,XWHILEGE { Pd1.B, Pd2.B }, Xn, Xm

WHILEGE PN.B,X,X,VLx2WHILEGE PNd.B, Xn, Xm, VLx2

WHILEGE PN.B,X,X,VLx4WHILEGE PNd.B, Xn, Xm, VLx4

while WHILELO P.D,W,WWHILELO Pd.D, Wn, Wm

svwhilelt_b64[_u32]

WHILELO P.D,X,XWHILELO Pd.D, Xn, Xm

svwhilelt_b64[_u64]

WHILELO {P.D,P.D},X,XWHILELO { Pd1.D, Pd2.D }, Xn, Xm

WHILELO PN.D,X,X,VLx2WHILELO PNd.D, Xn, Xm, VLx2

WHILELO PN.D,X,X,VLx4WHILELO PNd.D, Xn, Xm, VLx4

WHILELO P.S,W,WWHILELO Pd.S, Wn, Wm

svwhilelt_b32[_u32]

WHILELO P.S,X,XWHILELO Pd.S, Xn, Xm

svwhilelt_b32[_u64]

WHILELO {P.S,P.S},X,XWHILELO { Pd1.S, Pd2.S }, Xn, Xm

WHILELO PN.S,X,X,VLx2WHILELO PNd.S, Xn, Xm, VLx2

WHILELO PN.S,X,X,VLx4WHILELO PNd.S, Xn, Xm, VLx4

WHILELO P.H,W,WWHILELO Pd.H, Wn, Wm

svwhilelt_b16[_u32]

WHILELO P.H,X,XWHILELO Pd.H, Xn, Xm

svwhilelt_b16[_u64]

WHILELO {P.H,P.H},X,XWHILELO { Pd1.H, Pd2.H }, Xn, Xm

WHILELO PN.H,X,X,VLx2WHILELO PNd.H, Xn, Xm, VLx2

WHILELO PN.H,X,X,VLx4WHILELO PNd.H, Xn, Xm, VLx4

WHILELO P.B,W,WWHILELO Pd.B, Wn, Wm

svwhilelt_b8[_u32]

WHILELO P.B,X,XWHILELO Pd.B, Xn, Xm

svwhilelt_b8[_u64]

WHILELO {P.B,P.B},X,XWHILELO { Pd1.B, Pd2.B }, Xn, Xm

WHILELO PN.B,X,X,VLx2WHILELO PNd.B, Xn, Xm, VLx2

WHILELO PN.B,X,X,VLx4WHILELO PNd.B, Xn, Xm, VLx4

while> (unsigned)

WHILEHI P.D,W,WWHILEHI Pd.D, Wn, Wm

svwhilegt_b64[_u32]

WHILEHI P.D,X,XWHILEHI Pd.D, Xn, Xm

svwhilegt_b64[_u64]

WHILEHI {P.D,P.D},X,XWHILEHI { Pd1.D, Pd2.D }, Xn, Xm

WHILEHI PN.D,X,X,VLx2WHILEHI PNd.D, Xn, Xm, VLx2

WHILEHI PN.D,X,X,VLx4WHILEHI PNd.D, Xn, Xm, VLx4

WHILEHI P.S,W,WWHILEHI Pd.S, Wn, Wm

svwhilegt_b32[_u32]

WHILEHI P.S,X,XWHILEHI Pd.S, Xn, Xm

svwhilegt_b32[_u64]

WHILEHI {P.S,P.S},X,XWHILEHI { Pd1.S, Pd2.S }, Xn, Xm

WHILEHI PN.S,X,X,VLx2WHILEHI PNd.S, Xn, Xm, VLx2

WHILEHI PN.S,X,X,VLx4WHILEHI PNd.S, Xn, Xm, VLx4

WHILEHI P.H,W,WWHILEHI Pd.H, Wn, Wm

svwhilegt_b16[_u32]

WHILEHI P.H,X,XWHILEHI Pd.H, Xn, Xm

svwhilegt_b16[_u64]

WHILEHI {P.H,P.H},X,XWHILEHI { Pd1.H, Pd2.H }, Xn, Xm

WHILEHI PN.H,X,X,VLx2WHILEHI PNd.H, Xn, Xm, VLx2

WHILEHI PN.H,X,X,VLx4WHILEHI PNd.H, Xn, Xm, VLx4

WHILEHI P.B,W,WWHILEHI Pd.B, Wn, Wm

svwhilegt_b8[_u32]

WHILEHI P.B,X,XWHILEHI Pd.B, Xn, Xm

svwhilegt_b8[_u64]

WHILEHI {P.B,P.B},X,XWHILEHI { Pd1.B, Pd2.B }, Xn, Xm

WHILEHI PN.B,X,X,VLx2WHILEHI PNd.B, Xn, Xm, VLx2

WHILEHI PN.B,X,X,VLx4WHILEHI PNd.B, Xn, Xm, VLx4

while ≤ (unsigned)

WHILELS P.D,W,WWHILELS Pd.D, Wn, Wm

svwhilele_b64[_u32]

WHILELS P.D,X,XWHILELS Pd.D, Xn, Xm

svwhilele_b64[_u64]

WHILELS {P.D,P.D},X,XWHILELS { Pd1.D, Pd2.D }, Xn, Xm

WHILELS PN.D,X,X,VLx2WHILELS PNd.D, Xn, Xm, VLx2

WHILELS PN.D,X,X,VLx4WHILELS PNd.D, Xn, Xm, VLx4

WHILELS P.S,W,WWHILELS Pd.S, Wn, Wm

svwhilele_b32[_u32]

WHILELS P.S,X,XWHILELS Pd.S, Xn, Xm

svwhilele_b32[_u64]

WHILELS {P.S,P.S},X,XWHILELS { Pd1.S, Pd2.S }, Xn, Xm

WHILELS PN.S,X,X,VLx2WHILELS PNd.S, Xn, Xm, VLx2

WHILELS PN.S,X,X,VLx4WHILELS PNd.S, Xn, Xm, VLx4

WHILELS P.H,W,WWHILELS Pd.H, Wn, Wm

svwhilele_b16[_u32]

WHILELS P.H,X,XWHILELS Pd.H, Xn, Xm

svwhilele_b16[_u64]

WHILELS {P.H,P.H},X,XWHILELS { Pd1.H, Pd2.H }, Xn, Xm

WHILELS PN.H,X,X,VLx2WHILELS PNd.H, Xn, Xm, VLx2

WHILELS PN.H,X,X,VLx4WHILELS PNd.H, Xn, Xm, VLx4

WHILELS P.B,W,WWHILELS Pd.B, Wn, Wm

svwhilele_b8[_u32]

WHILELS P.B,X,XWHILELS Pd.B, Xn, Xm

svwhilele_b8[_u64]

WHILELS {P.B,P.B},X,XWHILELS { Pd1.B, Pd2.B }, Xn, Xm

WHILELS PN.B,X,X,VLx2WHILELS PNd.B, Xn, Xm, VLx2

WHILELS PN.B,X,X,VLx4WHILELS PNd.B, Xn, Xm, VLx4

while ≥ (unsigned)

WHILEHS P.D,W,WWHILEHS Pd.D, Wn, Wm

svwhilege_b64[_u32]

WHILEHS P.D,X,XWHILEHS Pd.D, Xn, Xm

svwhilege_b64[_u64]

WHILEHS {P.D,P.D},X,XWHILEHS { Pd1.D, Pd2.D }, Xn, Xm

WHILEHS PN.D,X,X,VLx2WHILEHS PNd.D, Xn, Xm, VLx2

WHILEHS PN.D,X,X,VLx4WHILEHS PNd.D, Xn, Xm, VLx4

WHILEHS P.S,W,WWHILEHS Pd.S, Wn, Wm

svwhilege_b32[_u32]

WHILEHS P.S,X,XWHILEHS Pd.S, Xn, Xm

svwhilege_b32[_u64]

WHILEHS {P.S,P.S},X,XWHILEHS { Pd1.S, Pd2.S }, Xn, Xm

WHILEHS PN.S,X,X,VLx2WHILEHS PNd.S, Xn, Xm, VLx2

WHILEHS PN.S,X,X,VLx4WHILEHS PNd.S, Xn, Xm, VLx4

WHILEHS P.H,W,WWHILEHS Pd.H, Wn, Wm

svwhilege_b16[_u32]

WHILEHS P.H,X,XWHILEHS Pd.H, Xn, Xm

svwhilege_b16[_u64]

WHILEHS {P.H,P.H},X,XWHILEHS { Pd1.H, Pd2.H }, Xn, Xm

WHILEHS PN.H,X,X,VLx2WHILEHS PNd.H, Xn, Xm, VLx2

WHILEHS PN.H,X,X,VLx4WHILEHS PNd.H, Xn, Xm, VLx4

WHILEHS P.B,W,WWHILEHS Pd.B, Wn, Wm

svwhilege_b8[_u32]

WHILEHS P.B,X,XWHILEHS Pd.B, Xn, Xm

svwhilege_b8[_u64]

WHILEHS {P.B,P.B},X,XWHILEHS { Pd1.B, Pd2.B }, Xn, Xm

WHILEHS PN.B,X,X,VLx2WHILEHS PNd.B, Xn, Xm, VLx2

WHILEHS PN.B,X,X,VLx4WHILEHS PNd.B, Xn, Xm, VLx4

while no read-after-write conflict

WHILERW P.D,X,XWHILERW Pd.D, Xn, Xm

svwhilerw[_{s,u,f}64]

WHILERW P.S,X,XWHILERW Pd.S, Xn, Xm

svwhilerw[_{s,u,f}32]

WHILERW P.H,X,XWHILERW Pd.H, Xn, Xm

svwhilerw[_{s,u,f,bf}16]

WHILERW P.B,X,XWHILERW Pd.B, Xn, Xm

svwhilerw[_{s,u}8]

while no write-after-read/write conflict

WHILEWR P.D,X,XWHILEWR Pd.D, Xn, Xm

svwhilewr[_{s,u,f}64]

WHILEWR P.S,X,XWHILEWR Pd.S, Xn, Xm

svwhilewr[_{s,u,f}32]

WHILEWR P.H,X,XWHILEWR Pd.H, Xn, Xm

svwhilewr[_{s,u,f,bf}16]

WHILEWR P.B,X,XWHILEWR Pd.B, Xn, Xm

svwhilewr[_{s,u}8]

break after

BRKA P.B,P/M,P.BBRKA Pd.B, Pg/M, Pn.B

svbrka[_b]_m

BRKA P.B,P/Z,P.BBRKA Pd.B, Pg/Z, Pn.B

svbrka[_b]_z

BRKAS P.B,P/Z,P.BBRKAS Pd.B, Pg/Z, Pn.B

break after (propagating)

BRKPA P.B,P/Z,P.B,P.BBRKPA Pd.B, Pg/Z, Pn.B, Pm.B

svbrkpa[_b]_z

BRKPAS P.B,P/Z,P.B,P.BBRKPAS Pd.B, Pg/Z, Pn.B, Pm.B

break before

BRKB P.B,P/M,P.BBRKB Pd.B, Pg/M, Pn.B

svbrkb[_b]_m

BRKB P.B,P/Z,P.BBRKB Pd.B, Pg/Z, Pn.B

svbrkb[_b]_z

BRKBS P.B,P/Z,P.BBRKBS Pd.B, Pg/Z, Pn.B

break before (propagating)

BRKPB P.B,P/Z,P.B,P.BBRKPB Pd.B, Pg/Z, Pn.B, Pm.B

svbrkpb[_b]_z

BRKPBS P.B,P/Z,P.B,P.BBRKPBS Pd.B, Pg/Z, Pn.B, Pm.B

propagate break

BRKN P.B,P/Z,P.B,P.BBRKN Pdm.B, Pg/Z, Pn.B, Pdm.B

svbrkn[_b]_z

BRKNS P.B,P/Z,P.B,P.BBRKNS Pdm.B, Pg/Z, Pn.B, Pdm.B

Predicate Iteration Operations

64-bit
32-bit
16-bit
8-bit

find first active element

PFIRST P.B,P,P.BPFIRST Pdn.B, Pg, Pdn.B

svpfirst[_b]

find next active element

PNEXT P.D,P,P.DPNEXT Pdn.D, Pv, Pdn.D

svpnext_b64

PNEXT P.S,P,P.SPNEXT Pdn.S, Pv, Pdn.S

svpnext_b32

PNEXT P.H,P,P.HPNEXT Pdn.H, Pv, Pdn.H

svpnext_b16

PNEXT P.B,P,P.BPNEXT Pdn.B, Pv, Pdn.B

svpnext_b8

Other Predicate Operations

64-bit
32-bit
16-bit
8-bit

and with indexed bit

PSEL P,P,P.D[W,i]PSEL Pd, Pn, Pm.D[Wv, imm]

PSEL P,P,P.S[W,i]PSEL Pd, Pn, Pm.S[Wv, imm]

PSEL P,P,P.H[W,i]PSEL Pd, Pn, Pm.H[Wv, imm]

PSEL P,P,P.B[W,i]PSEL Pd, Pn, Pm.B[Wv, imm]

count predicate

CNTP X,P,P.DCNTP Xd, Pg, Pn.D

svcntp_b64

CNTP X,PN.D,VLx2CNTP Xd, PNn.D, VLx2

CNTP X,PN.D,VLx4CNTP Xd, PNn.D, VLx4

CNTP X,P,P.SCNTP Xd, Pg, Pn.S

svcntp_b32

CNTP X,PN.S,VLx2CNTP Xd, PNn.S, VLx2

CNTP X,PN.S,VLx4CNTP Xd, PNn.S, VLx4

CNTP X,P,P.HCNTP Xd, Pg, Pn.H

svcntp_b16

CNTP X,PN.H,VLx2CNTP Xd, PNn.H, VLx2

CNTP X,PN.H,VLx4CNTP Xd, PNn.H, VLx4

CNTP X,P,P.BCNTP Xd, Pg, Pn.B

svcntp_b8

CNTP X,PN.B,VLx2CNTP Xd, PNn.B, VLx2

CNTP X,PN.B,VLx4CNTP Xd, PNn.B, VLx4

increment by predicate count

SQINCP X,P.D,WSQINCP Xdn, Pm.D, Wdn

svqincp[_n_s32]_b64

SQINCP X,P.DSQINCP Xdn, Pm.D

svqincp[_n_s64]_b64

UQINCP W,P.DUQINCP Wdn, Pm.D

svqincp[_n_u32]_b64

UQINCP X,P.DUQINCP Xdn, Pm.D

svqincp[_n_u64]_b64

INCP X,P.DINCP Xdn, Pm.D

INCP Z.D,P.DINCP Zdn.D, Pm.D

SQINCP Z.D,P.DSQINCP Zdn.D, Pm.D

UQINCP Z.D,P.DUQINCP Zdn.D, Pm.D

SQINCP X,P.S,WSQINCP Xdn, Pm.S, Wdn

svqincp[_n_s32]_b32

SQINCP X,P.SSQINCP Xdn, Pm.S

svqincp[_n_s64]_b32

UQINCP W,P.SUQINCP Wdn, Pm.S

svqincp[_n_u32]_b32

UQINCP X,P.SUQINCP Xdn, Pm.S

svqincp[_n_u64]_b32

INCP X,P.SINCP Xdn, Pm.S

INCP Z.S,P.SINCP Zdn.S, Pm.S

SQINCP Z.S,P.SSQINCP Zdn.S, Pm.S

UQINCP Z.S,P.SUQINCP Zdn.S, Pm.S

SQINCP X,P.H,WSQINCP Xdn, Pm.H, Wdn

svqincp[_n_s32]_b16

SQINCP X,P.HSQINCP Xdn, Pm.H

svqincp[_n_s64]_b16

UQINCP W,P.HUQINCP Wdn, Pm.H

svqincp[_n_u32]_b16

UQINCP X,P.HUQINCP Xdn, Pm.H

svqincp[_n_u64]_b16

INCP X,P.HINCP Xdn, Pm.H

INCP Z.H,P.HINCP Zdn.H, Pm.H

SQINCP Z.H,P.HSQINCP Zdn.H, Pm.H

UQINCP Z.H,P.HUQINCP Zdn.H, Pm.H

SQINCP X,P.B,WSQINCP Xdn, Pm.B, Wdn

svqincp[_n_s32]_b8

SQINCP X,P.BSQINCP Xdn, Pm.B

svqincp[_n_s64]_b8

UQINCP W,P.BUQINCP Wdn, Pm.B

svqincp[_n_u32]_b8

UQINCP X,P.BUQINCP Xdn, Pm.B

svqincp[_n_u64]_b8

INCP X,P.BINCP Xdn, Pm.B

decrement by predicate count

SQDECP X,P.D,WSQDECP Xdn, Pm.D, Wdn

svqdecp[_n_s32]_b64

SQDECP X,P.DSQDECP Xdn, Pm.D

svqdecp[_n_s64]_b64

UQDECP W,P.DUQDECP Wdn, Pm.D

svqdecp[_n_u32]_b64

UQDECP X,P.DUQDECP Xdn, Pm.D

svqdecp[_n_u64]_b64

DECP X,P.DDECP Xdn, Pm.D

DECP Z.D,P.DDECP Zdn.D, Pm.D

SQDECP Z.D,P.DSQDECP Zdn.D, Pm.D

UQDECP Z.D,P.DUQDECP Zdn.D, Pm.D

SQDECP X,P.S,WSQDECP Xdn, Pm.S, Wdn

svqdecp[_n_s32]_b32

SQDECP X,P.SSQDECP Xdn, Pm.S

svqdecp[_n_s64]_b32

UQDECP W,P.SUQDECP Wdn, Pm.S

svqdecp[_n_u32]_b32

UQDECP X,P.SUQDECP Xdn, Pm.S

svqdecp[_n_u64]_b32

DECP X,P.SDECP Xdn, Pm.S

DECP Z.S,P.SDECP Zdn.S, Pm.S

SQDECP Z.S,P.SSQDECP Zdn.S, Pm.S

UQDECP Z.S,P.SUQDECP Zdn.S, Pm.S

SQDECP X,P.H,WSQDECP Xdn, Pm.H, Wdn

svqdecp[_n_s32]_b16

SQDECP X,P.HSQDECP Xdn, Pm.H

svqdecp[_n_s64]_b16

UQDECP W,P.HUQDECP Wdn, Pm.H

svqdecp[_n_u32]_b16

UQDECP X,P.HUQDECP Xdn, Pm.H

svqdecp[_n_u64]_b16

DECP X,P.HDECP Xdn, Pm.H

DECP Z.H,P.HDECP Zdn.H, Pm.H

SQDECP Z.H,P.HSQDECP Zdn.H, Pm.H

UQDECP Z.H,P.HUQDECP Zdn.H, Pm.H

SQDECP X,P.B,WSQDECP Xdn, Pm.B, Wdn

svqdecp[_n_s32]_b8

SQDECP X,P.BSQDECP Xdn, Pm.B

svqdecp[_n_s64]_b8

UQDECP W,P.BUQDECP Wdn, Pm.B

svqdecp[_n_u32]_b8

UQDECP X,P.BUQDECP Xdn, Pm.B

svqdecp[_n_u64]_b8

DECP X,P.BDECP Xdn, Pm.B

Predicate Constraint Operations

64-bit
32-bit
16-bit
8-bit

count predicate constraint

CNTD X{,p{,MUL #i}}CNTD Xd{, pattern{, MUL #imm}}

CNTW X{,p{,MUL #i}}CNTW Xd{, pattern{, MUL #imm}}

CNTH X{,p{,MUL #i}}CNTH Xd{, pattern{, MUL #imm}}

CNTB X{,p{,MUL #i}}CNTB Xd{, pattern{, MUL #imm}}

increment by predicate constraint count

SQINCD Z.D{,p{,MUL #i}}SQINCD Zdn.D{, pattern{, MUL #imm}}

svqincd_pat[_s64]

UQINCD Z.D{,p{,MUL #i}}UQINCD Zdn.D{, pattern{, MUL #imm}}

svqincd_pat[_u64]

SQINCD X,W{,p{,MUL #i}}SQINCD Xdn, Wdn{, pattern{, MUL #imm}}

svqincd_pat[_n_s32]

SQINCD X{,p{,MUL #i}}SQINCD Xdn{, pattern{, MUL #imm}}

svqincd_pat[_n_s64]

UQINCD W{,p{,MUL #i}}UQINCD Wdn{, pattern{, MUL #imm}}

svqincd_pat[_n_u32]

UQINCD X{,p{,MUL #i}}UQINCD Xdn{, pattern{, MUL #imm}}

svqincd_pat[_n_u64]

INCD Z.D{,p{,MUL #i}}INCD Zdn.D{, pattern{, MUL #imm}}

INCD X{,p{,MUL #i}}INCD Xdn{, pattern{, MUL #imm}}

SQINCW Z.S{,p{,MUL #i}}SQINCW Zdn.S{, pattern{, MUL #imm}}

svqincw_pat[_s32]

UQINCW Z.S{,p{,MUL #i}}UQINCW Zdn.S{, pattern{, MUL #imm}}

svqincw_pat[_u32]

SQINCW X,W{,p{,MUL #i}}SQINCW Xdn, Wdn{, pattern{, MUL #imm}}

svqincw_pat[_n_s32]

SQINCW X{,p{,MUL #i}}SQINCW Xdn{, pattern{, MUL #imm}}

svqincw_pat[_n_s64]

UQINCW W{,p{,MUL #i}}UQINCW Wdn{, pattern{, MUL #imm}}

svqincw_pat[_n_u32]

UQINCW X{,p{,MUL #i}}UQINCW Xdn{, pattern{, MUL #imm}}

svqincw_pat[_n_u64]

INCW Z.S{,p{,MUL #i}}INCW Zdn.S{, pattern{, MUL #imm}}

INCW X{,p{,MUL #i}}INCW Xdn{, pattern{, MUL #imm}}

SQINCH Z.H{,p{,MUL #i}}SQINCH Zdn.H{, pattern{, MUL #imm}}

svqinch_pat[_s16]

UQINCH Z.H{,p{,MUL #i}}UQINCH Zdn.H{, pattern{, MUL #imm}}

svqinch_pat[_u16]

SQINCH X,W{,p{,MUL #i}}SQINCH Xdn, Wdn{, pattern{, MUL #imm}}

svqinch_pat[_n_s32]

SQINCH X{,p{,MUL #i}}SQINCH Xdn{, pattern{, MUL #imm}}

svqinch_pat[_n_s64]

UQINCH W{,p{,MUL #i}}UQINCH Wdn{, pattern{, MUL #imm}}

svqinch_pat[_n_u32]

UQINCH X{,p{,MUL #i}}UQINCH Xdn{, pattern{, MUL #imm}}

svqinch_pat[_n_u64]

INCH Z.H{,p{,MUL #i}}INCH Zdn.H{, pattern{, MUL #imm}}

INCH X{,p{,MUL #i}}INCH Xdn{, pattern{, MUL #imm}}

SQINCB X,W{,p{,MUL #i}}SQINCB Xdn, Wdn{, pattern{, MUL #imm}}

svqincb_pat[_n_s32]

SQINCB X{,p{,MUL #i}}SQINCB Xdn{, pattern{, MUL #imm}}

svqincb_pat[_n_s64]

UQINCB W{,p{,MUL #i}}UQINCB Wdn{, pattern{, MUL #imm}}

svqincb_pat[_n_u32]

UQINCB X{,p{,MUL #i}}UQINCB Xdn{, pattern{, MUL #imm}}

svqincb_pat[_n_u64]

INCB X{,p{,MUL #i}}INCB Xdn{, pattern{, MUL #imm}}

decrement vector by predicate constraint count

SQDECD Z.D{,p{,MUL #i}}SQDECD Zdn.D{, pattern{, MUL #imm}}

svqdecd_pat[_s64]

UQDECD Z.D{,p{,MUL #i}}UQDECD Zdn.D{, pattern{, MUL #imm}}

svqdecd_pat[_u64]

SQDECD X,W{,p{,MUL #i}}SQDECD Xdn, Wdn{, pattern{, MUL #imm}}

svqdecd_pat[_n_s32]

SQDECD X{,p{,MUL #i}}SQDECD Xdn{, pattern{, MUL #imm}}

svqdecd_pat[_n_s64]

UQDECD W{,p{,MUL #i}}UQDECD Wdn{, pattern{, MUL #imm}}

svqdecd_pat[_n_u32]

UQDECD X{,p{,MUL #i}}UQDECD Xdn{, pattern{, MUL #imm}}

svqdecd_pat[_n_u64]

DECD Z.D{,p{,MUL #i}}DECD Zdn.D{, pattern{, MUL #imm}}

DECD X{,p{,MUL #i}}DECD Xdn{, pattern{, MUL #imm}}

SQDECW Z.S{,p{,MUL #i}}SQDECW Zdn.S{, pattern{, MUL #imm}}

svqdecw_pat[_s32]

UQDECW Z.S{,p{,MUL #i}}UQDECW Zdn.S{, pattern{, MUL #imm}}

svqdecw_pat[_u32]

SQDECW X,W{,p{,MUL #i}}SQDECW Xdn, Wdn{, pattern{, MUL #imm}}

svqdecw_pat[_n_s32]

SQDECW X{,p{,MUL #i}}SQDECW Xdn{, pattern{, MUL #imm}}

svqdecw_pat[_n_s64]

UQDECW W{,p{,MUL #i}}UQDECW Wdn{, pattern{, MUL #imm}}

svqdecw_pat[_n_u32]

UQDECW X{,p{,MUL #i}}UQDECW Xdn{, pattern{, MUL #imm}}

svqdecw_pat[_n_u64]

DECW Z.S{,p{,MUL #i}}DECW Zdn.S{, pattern{, MUL #imm}}

DECW X{,p{,MUL #i}}DECW Xdn{, pattern{, MUL #imm}}

SQDECH Z.H{,p{,MUL #i}}SQDECH Zdn.H{, pattern{, MUL #imm}}

svqdech_pat[_s16]

UQDECH Z.H{,p{,MUL #i}}UQDECH Zdn.H{, pattern{, MUL #imm}}

svqdech_pat[_u16]

SQDECH X,W{,p{,MUL #i}}SQDECH Xdn, Wdn{, pattern{, MUL #imm}}

svqdech_pat[_n_s32]

SQDECH X{,p{,MUL #i}}SQDECH Xdn{, pattern{, MUL #imm}}

svqdech_pat[_n_s64]

UQDECH W{,p{,MUL #i}}UQDECH Wdn{, pattern{, MUL #imm}}

svqdech_pat[_n_u32]

UQDECH X{,p{,MUL #i}}UQDECH Xdn{, pattern{, MUL #imm}}

svqdech_pat[_n_u64]

DECH Z.H{,p{,MUL #i}}DECH Zdn.H{, pattern{, MUL #imm}}

DECH X{,p{,MUL #i}}DECH Xdn{, pattern{, MUL #imm}}

SQDECB X,W{,p{,MUL #i}}SQDECB Xdn, Wdn{, pattern{, MUL #imm}}

svqdecb_pat[_n_s32]

SQDECB X{,p{,MUL #i}}SQDECB Xdn{, pattern{, MUL #imm}}

svqdecb_pat[_n_s64]

UQDECB W{,p{,MUL #i}}UQDECB Wdn{, pattern{, MUL #imm}}

svqdecb_pat[_n_u32]

UQDECB X{,p{,MUL #i}}UQDECB Xdn{, pattern{, MUL #imm}}

svqdecb_pat[_n_u64]

DECB X{,p{,MUL #i}}DECB Xdn{, pattern{, MUL #imm}}

Loads and Stores

Contiguous Loads

128-bit
64-bit
32-bit
16-bit
8-bit

load (unpredicated)

LDR Z,[X,#i,MUL VL]LDR Zt, [Xn, #imm, MUL VL]

LDR P,[X,#i,MUL VL]LDR Pt, [Xn, #imm, MUL VL]

load (predicated)

LD1W {Z.Q},P/Z,[X,#i,MUL VL]LD1W { Zt.Q }, Pg/Z, [Xn, #imm, MUL VL]

LD1W {Z.Q},P/Z,[X,X,LSL #2]LD1W { Zt.Q }, Pg/Z, [Xn, Xm, LSL #2]

LD1D {Z.Q},P/Z,[X,#i,MUL VL]LD1D { Zt.Q }, Pg/Z, [Xn, #imm, MUL VL]

LD1D {Z.Q},P/Z,[X,X,LSL #3]LD1D { Zt.Q }, Pg/Z, [Xn, Xm, LSL #3]

LD1B {Z.D},P/Z,[X,#i,MUL VL]LD1B { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1ub_vnum_{s,u}64

LD1B {Z.D},P/Z,[X,X]LD1B { Zt.D }, Pg/Z, [Xn, Xm]

svld1ub_{s,u}64

LD1SB {Z.D},P/Z,[X,#i,MUL VL]LD1SB { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1sb_vnum_{s,u}64

LD1SB {Z.D},P/Z,[X,X]LD1SB { Zt.D }, Pg/Z, [Xn, Xm]

svld1sb_{s,u}64

LD1H {Z.D},P/Z,[X,#i,MUL VL]LD1H { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1uh_vnum_{s,u}64

LD1H {Z.D},P/Z,[X,X,LSL #1]LD1H { Zt.D }, Pg/Z, [Xn, Xm, LSL #1]

svld1uh_{s,u}64

LD1SH {Z.D},P/Z,[X,#i,MUL VL]LD1SH { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1sh_vnum_{s,u}64

LD1SH {Z.D},P/Z,[X,X,LSL #1]LD1SH { Zt.D }, Pg/Z, [Xn, Xm, LSL #1]

svld1sh_{s,u}64

LD1W {Z.D},P/Z,[X,#i,MUL VL]LD1W { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1uw_vnum_{s,u}64

LD1W {Z.D},P/Z,[X,X,LSL #2]LD1W { Zt.D }, Pg/Z, [Xn, Xm, LSL #2]

svld1uw_{s,u}64

LD1SW {Z.D},P/Z,[X,#i,MUL VL]LD1SW { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1sw_vnum_{s,u}64

LD1SW {Z.D},P/Z,[X,X,LSL #2]LD1SW { Zt.D }, Pg/Z, [Xn, Xm, LSL #2]

svld1sw_{s,u}64

LD1D {Z.D},P/Z,[X,#i,MUL VL]LD1D { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svld1_vnum[_{s,u,f}64]

LD1D {Z.D},P/Z,[X,X,LSL #3]LD1D { Zt.D }, Pg/Z, [Xn, Xm, LSL #3]

svld1[_{s,u,f}64]

LD1B {Z.S},P/Z,[X,#i,MUL VL]LD1B { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svld1ub_vnum_{s,u}32

LD1B {Z.S},P/Z,[X,X]LD1B { Zt.S }, Pg/Z, [Xn, Xm]

svld1ub_{s,u}32

LD1SB {Z.S},P/Z,[X,#i,MUL VL]LD1SB { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svld1sb_vnum_{s,u}32

LD1SB {Z.S},P/Z,[X,X]LD1SB { Zt.S }, Pg/Z, [Xn, Xm]

svld1sb_{s,u}32

LD1H {Z.S},P/Z,[X,#i,MUL VL]LD1H { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svld1uh_vnum_{s,u}32

LD1H {Z.S},P/Z,[X,X,LSL #1]LD1H { Zt.S }, Pg/Z, [Xn, Xm, LSL #1]

svld1uh_{s,u}32

LD1SH {Z.S},P/Z,[X,#i,MUL VL]LD1SH { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svld1sh_vnum_{s,u}32

LD1SH {Z.S},P/Z,[X,X,LSL #1]LD1SH { Zt.S }, Pg/Z, [Xn, Xm, LSL #1]

svld1sh_{s,u}32

LD1W {Z.S},P/Z,[X,#i,MUL VL]LD1W { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svld1_vnum[_{s,u,f}32]

LD1W {Z.S},P/Z,[X,X,LSL #2]LD1W { Zt.S }, Pg/Z, [Xn, Xm, LSL #2]

svld1[_{s,u,f}32]

LD1B {Z.H},P/Z,[X,#i,MUL VL]LD1B { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svld1ub_vnum_{s,u}16

LD1B {Z.H},P/Z,[X,X]LD1B { Zt.H }, Pg/Z, [Xn, Xm]

svld1ub_{s,u}16

LD1SB {Z.H},P/Z,[X,#i,MUL VL]LD1SB { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svld1sb_vnum_{s,u}16

LD1SB {Z.H},P/Z,[X,X]LD1SB { Zt.H }, Pg/Z, [Xn, Xm]

svld1sb_{s,u}16

LD1H {Z.H},P/Z,[X,#i,MUL VL]LD1H { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svld1_vnum[_{s,u,f,bf}16]

LD1H {Z.H},P/Z,[X,X,LSL #1]LD1H { Zt.H }, Pg/Z, [Xn, Xm, LSL #1]

svld1[_{s,u,f,bf}16]

LD1B {Z.B},P/Z,[X,#i,MUL VL]LD1B { Zt.B }, Pg/Z, [Xn, #imm, MUL VL]

svld1_vnum[_{s,u}8]

LD1B {Z.B},P/Z,[X,X]LD1B { Zt.B }, Pg/Z, [Xn, Xm]

svld1[_{s,u}8]

load (predicated by counter)

LD1D {Z.D,Z.D},PN/Z,[X,#i,MUL VL]LD1D { Zt1.D-Zt2.D }, PNg/Z, [Xn, #imm, MUL VL]

LD1D {Z.D,Z.D},PN/Z,[X,X,LSL #3]LD1D { Zt1.D-Zt2.D }, PNg/Z, [Xn, Xm, LSL #3]

LD1D {Z.D,Z.D,Z.D,Z.D},PN/Z,[X,#i,MUL VL]LD1D { Zt1.D-Zt4.D }, PNg/Z, [Xn, #imm, MUL VL]

LD1D {Z.D,Z.D,Z.D,Z.D},PN/Z,[X,X,LSL #3]LD1D { Zt1.D-Zt4.D }, PNg/Z, [Xn, Xm, LSL #3]

LD1W {Z.S,Z.S},PN/Z,[X,#i,MUL VL]LD1W { Zt1.S-Zt2.S }, PNg/Z, [Xn, #imm, MUL VL]

LD1W {Z.S,Z.S},PN/Z,[X,X,LSL #2]LD1W { Zt1.S-Zt2.S }, PNg/Z, [Xn, Xm, LSL #2]

LD1W {Z.S,Z.S,Z.S,Z.S},PN/Z,[X,#i,MUL VL]LD1W { Zt1.S-Zt4.S }, PNg/Z, [Xn, #imm, MUL VL]

LD1W {Z.S,Z.S,Z.S,Z.S},PN/Z,[X,X,LSL #2]LD1W { Zt1.S-Zt4.S }, PNg/Z, [Xn, Xm, LSL #2]

LD1H {Z.H,Z.H},PN/Z,[X,#i,MUL VL]LD1H { Zt1.H-Zt2.H }, PNg/Z, [Xn, #imm, MUL VL]

LD1H {Z.H,Z.H},PN/Z,[X,X,LSL #1]LD1H { Zt1.H-Zt2.H }, PNg/Z, [Xn, Xm, LSL #1]

LD1H {Z.H,Z.H,Z.H,Z.H},PN/Z,[X,#i,MUL VL]LD1H { Zt1.H-Zt4.H }, PNg/Z, [Xn, #imm, MUL VL]

LD1H {Z.H,Z.H,Z.H,Z.H},PN/Z,[X,X,LSL #1]LD1H { Zt1.H-Zt4.H }, PNg/Z, [Xn, Xm, LSL #1]

LD1B {Z.B,Z.B},PN/Z,[X,#i,MUL VL]LD1B { Zt1.B-Zt2.B }, PNg/Z, [Xn, #imm, MUL VL]

LD1B {Z.B,Z.B},PN/Z,[X,X]LD1B { Zt1.B-Zt2.B }, PNg/Z, [Xn, Xm]

LD1B {Z.B,Z.B,Z.B,Z.B},PN/Z,[X,#i,MUL VL]LD1B { Zt1.B-Zt4.B }, PNg/Z, [Xn, #imm, MUL VL]

LD1B {Z.B,Z.B,Z.B,Z.B},PN/Z,[X,X]LD1B { Zt1.B-Zt4.B }, PNg/Z, [Xn, Xm]

load and deinterleave

LD2Q {Z.Q,Z.Q},P/Z,[X,#i,MUL VL]LD2Q { Zt1.Q, Zt2.Q }, Pg/Z, [Xn, #imm, MUL VL]

LD2Q {Z.Q,Z.Q},P/Z,[X,X,LSL #4]LD2Q { Zt1.Q, Zt2.Q }, Pg/Z, [Xn, Xm, LSL #4]

LD3Q {Z.Q,Z.Q,Z.Q},P/Z,[X,#i,MUL VL]LD3Q { Zt1.Q, Zt2.Q, Zt3.Q }, Pg/Z, [Xn, #imm, MUL VL]

LD3Q {Z.Q,Z.Q,Z.Q},P/Z,[X,X,LSL #4]LD3Q { Zt1.Q, Zt2.Q, Zt3.Q }, Pg/Z, [Xn, Xm, LSL #4]

LD4Q {Z.Q,Z.Q,Z.Q,Z.Q},P/Z,[X,#i,MUL VL]LD4Q { Zt1.Q, Zt2.Q, Zt3.Q, Zt4.Q }, Pg/Z, [Xn, #imm, MUL VL]

LD4Q {Z.Q,Z.Q,Z.Q,Z.Q},P/Z,[X,X,LSL #4]LD4Q { Zt1.Q, Zt2.Q, Zt3.Q, Zt4.Q }, Pg/Z, [Xn, Xm, LSL #4]

LD2D {Z.D,Z.D},P/Z,[X,#i,MUL VL]LD2D { Zt1.D-Zt2.D }, Pg/Z, [Xn, #imm, MUL VL]

svld2_vnum[_{s,u,f}64]

LD2D {Z.D,Z.D},P/Z,[X,X,LSL #3]LD2D { Zt1.D-Zt2.D }, Pg/Z, [Xn, Xm, LSL #3]

svld2[_{s,u,f}64]

LD3D {Z.D,Z.D,Z.D},P/Z,[X,#i,MUL VL]LD3D { Zt1.D-Zt3.D }, Pg/Z, [Xn, #imm, MUL VL]

svld3_vnum[_{s,u,f}64]

LD3D {Z.D,Z.D,Z.D},P/Z,[X,X,LSL #3]LD3D { Zt1.D-Zt3.D }, Pg/Z, [Xn, Xm, LSL #3]

svld3[_{s,u,f}64]

LD4D {Z.D,Z.D,Z.D,Z.D},P/Z,[X,#i,MUL VL]LD4D { Zt1.D-Zt4.D }, Pg/Z, [Xn, #imm, MUL VL]

svld4_vnum[_{s,u,f}64]

LD4D {Z.D,Z.D,Z.D,Z.D},P/Z,[X,X,LSL #3]LD4D { Zt1.D-Zt4.D }, Pg/Z, [Xn, Xm, LSL #3]

svld4[_{s,u,f}64]

LD2W {Z.S,Z.S},P/Z,[X,#i,MUL VL]LD2W { Zt1.S-Zt2.S }, Pg/Z, [Xn, #imm, MUL VL]

svld2_vnum[_{s,u,f}32]

LD2W {Z.S,Z.S},P/Z,[X,X,LSL #2]LD2W { Zt1.S-Zt2.S }, Pg/Z, [Xn, Xm, LSL #2]

svld2[_{s,u,f}32]

LD3W {Z.S,Z.S,Z.S},P/Z,[X,#i,MUL VL]LD3W { Zt1.S-Zt3.S }, Pg/Z, [Xn, #imm, MUL VL]

svld3_vnum[_{s,u,f}32]

LD3W {Z.S,Z.S,Z.S},P/Z,[X,X,LSL #2]LD3W { Zt1.S-Zt3.S }, Pg/Z, [Xn, Xm, LSL #2]

svld3[_{s,u,f}32]

LD4W {Z.S,Z.S,Z.S,Z.S},P/Z,[X,#i,MUL VL]LD4W { Zt1.S-Zt4.S }, Pg/Z, [Xn, #imm, MUL VL]

svld4_vnum[_{s,u,f}32]

LD4W {Z.S,Z.S,Z.S,Z.S},P/Z,[X,X,LSL #2]LD4W { Zt1.S-Zt4.S }, Pg/Z, [Xn, Xm, LSL #2]

svld4[_{s,u,f}32]

LD2H {Z.H,Z.H},P/Z,[X,#i,MUL VL]LD2H { Zt1.H-Zt2.H }, Pg/Z, [Xn, #imm, MUL VL]

svld2_vnum[_{s,u,f,bf}16]

LD2H {Z.H,Z.H},P/Z,[X,X,LSL #1]LD2H { Zt1.H-Zt2.H }, Pg/Z, [Xn, Xm, LSL #1]

svld2[_{s,u,f,bf}16]

LD3H {Z.H,Z.H,Z.H},P/Z,[X,#i,MUL VL]LD3H { Zt1.H-Zt3.H }, Pg/Z, [Xn, #imm, MUL VL]

svld3_vnum[_{s,u,f,bf}16]

LD3H {Z.H,Z.H,Z.H},P/Z,[X,X,LSL #1]LD3H { Zt1.H-Zt3.H }, Pg/Z, [Xn, Xm, LSL #1]

svld3[_{s,u,f,bf}16]

LD4H {Z.H,Z.H,Z.H,Z.H},P/Z,[X,#i,MUL VL]LD4H { Zt1.H-Zt4.H }, Pg/Z, [Xn, #imm, MUL VL]

svld4_vnum[_{s,u,f,bf}16]

LD4H {Z.H,Z.H,Z.H,Z.H},P/Z,[X,X,LSL #1]LD4H { Zt1.H-Zt4.H }, Pg/Z, [Xn, Xm, LSL #1]

svld4[_{s,u,f,bf}16]

LD2B {Z.B,Z.B},P/Z,[X,#i,MUL VL]LD2B { Zt1.B-Zt2.B }, Pg/Z, [Xn, #imm, MUL VL]

svld2_vnum[_{s,u}8]

LD2B {Z.B,Z.B},P/Z,[X,X]LD2B { Zt1.B-Zt2.B }, Pg/Z, [Xn, Xm]

svld2[_{s,u}8]

LD3B {Z.B,Z.B,Z.B},P/Z,[X,#i,MUL VL]LD3B { Zt1.B-Zt3.B }, Pg/Z, [Xn, #imm, MUL VL]

svld3_vnum[_{s,u}8]

LD3B {Z.B,Z.B,Z.B},P/Z,[X,X]LD3B { Zt1.B-Zt3.B }, Pg/Z, [Xn, Xm]

svld3[_{s,u}8]

LD4B {Z.B,Z.B,Z.B,Z.B},P/Z,[X,#i,MUL VL]LD4B { Zt1.B-Zt4.B }, Pg/Z, [Xn, #imm, MUL VL]

svld4_vnum[_{s,u}8]

LD4B {Z.B,Z.B,Z.B,Z.B},P/Z,[X,X]LD4B { Zt1.B-Zt4.B }, Pg/Z, [Xn, Xm]

svld4[_{s,u}8]

load and broadcast

LD1RB {Z.D},P/Z,[X,#i]LD1RB { Zt.D }, Pg/Z, [Xn, #imm]

LD1RSB {Z.D},P/Z,[X,#i]LD1RSB { Zt.D }, Pg/Z, [Xn, #imm]

LD1RH {Z.D},P/Z,[X,#i]LD1RH { Zt.D }, Pg/Z, [Xn, #imm]

LD1RSH {Z.D},P/Z,[X,#i]LD1RSH { Zt.D }, Pg/Z, [Xn, #imm]

LD1RW {Z.D},P/Z,[X,#i]LD1RW { Zt.D }, Pg/Z, [Xn, #imm]

LD1RSW {Z.D},P/Z,[X,#i]LD1RSW { Zt.D }, Pg/Z, [Xn, #imm]

LD1RD {Z.D},P/Z,[X,#i]LD1RD { Zt.D }, Pg/Z, [Xn, #imm]

LD1RB {Z.S},P/Z,[X,#i]LD1RB { Zt.S }, Pg/Z, [Xn, #imm]

LD1RSB {Z.S},P/Z,[X,#i]LD1RSB { Zt.S }, Pg/Z, [Xn, #imm]

LD1RH {Z.S},P/Z,[X,#i]LD1RH { Zt.S }, Pg/Z, [Xn, #imm]

LD1RSH {Z.S},P/Z,[X,#i]LD1RSH { Zt.S }, Pg/Z, [Xn, #imm]

LD1RW {Z.S},P/Z,[X,#i]LD1RW { Zt.S }, Pg/Z, [Xn, #imm]

LD1RB {Z.H},P/Z,[X,#i]LD1RB { Zt.H }, Pg/Z, [Xn, #imm]

LD1RSB {Z.H},P/Z,[X,#i]LD1RSB { Zt.H }, Pg/Z, [Xn, #imm]

LD1RH {Z.H},P/Z,[X,#i]LD1RH { Zt.H }, Pg/Z, [Xn, #imm]

LD1RB {Z.B},P/Z,[X,#i]LD1RB { Zt.B }, Pg/Z, [Xn, #imm]

load and replicate 128-bit segment

LD1RQD {Z.D},P/Z,[X,#i]LD1RQD { Zt.D }, Pg/Z, [Xn, #imm]

LD1RQD {Z.D},P/Z,[X,X,LSL #3]LD1RQD { Zt.D }, Pg/Z, [Xn, Xm, LSL #3]

svld1rq[_{s,u,f}64]

LD1RQW {Z.S},P/Z,[X,#i]LD1RQW { Zt.S }, Pg/Z, [Xn, #imm]

LD1RQW {Z.S},P/Z,[X,X,LSL #2]LD1RQW { Zt.S }, Pg/Z, [Xn, Xm, LSL #2]

svld1rq[_{s,u,f}32]

LD1RQH {Z.H},P/Z,[X,#i]LD1RQH { Zt.H }, Pg/Z, [Xn, #imm]

LD1RQH {Z.H},P/Z,[X,X,LSL #1]LD1RQH { Zt.H }, Pg/Z, [Xn, Xm, LSL #1]

svld1rq[_{s,u,f,bf}16]

LD1RQB {Z.B},P/Z,[X,#i]LD1RQB { Zt.B }, Pg/Z, [Xn, #imm]

LD1RQB {Z.B},P/Z,[X,X]LD1RQB { Zt.B }, Pg/Z, [Xn, Xm]

svld1rq[_{s,u}8]

load and replicate 256-bit segment

LD1ROD {Z.D},P/Z,[X,#i]LD1ROD { Zt.D }, Pg/Z, [Xn, #imm]

LD1ROD {Z.D},P/Z,[X,X,LSL #3]LD1ROD { Zt.D }, Pg/Z, [Xn, Xm, LSL #3]

svld1ro[_{s,u,f}64]

LD1ROW {Z.S},P/Z,[X,#i]LD1ROW { Zt.S }, Pg/Z, [Xn, #imm]

LD1ROW {Z.S},P/Z,[X,X,LSL #2]LD1ROW { Zt.S }, Pg/Z, [Xn, Xm, LSL #2]

svld1ro[_{s,u,f}32]

LD1ROH {Z.H},P/Z,[X,#i]LD1ROH { Zt.H }, Pg/Z, [Xn, #imm]

LD1ROH {Z.H},P/Z,[X,X,LSL #1]LD1ROH { Zt.H }, Pg/Z, [Xn, Xm, LSL #1]

svld1ro[_{s,u,f,bf}16]

LD1ROB {Z.B},P/Z,[X,#i]LD1ROB { Zt.B }, Pg/Z, [Xn, #imm]

LD1ROB {Z.B},P/Z,[X,X]LD1ROB { Zt.B }, Pg/Z, [Xn, Xm]

svld1ro[_{s,u}8]

Gathers

register lane size

128-bit
64-bit
32-bit

memory
element
size128-bit

LD1Q {Z.Q},P/Z,[Z.D{,X}]LD1Q { Zt.Q }, Pg/Z, [Zn.D{, Xm}]

64-bit

LD1D {Z.D},P/Z,[Z.D,#i]LD1D { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1_gather[_u64base]_offset_{s,u,f}64

LD1D {Z.D},P/Z,[X,Z.D,LSL #3]LD1D { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #3]

svld1_gather_[{s,u}64]index[_{s,u,f}64]

LD1D {Z.D},P/Z,[X,Z.D]LD1D { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1_gather_[{s,u}64]offset[_{s,u,f}64]

LD1D {Z.D},P/Z,[X,Z.D,{S,U}XTW #3]LD1D { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #3]

LD1D {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1D { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

32-bit

LD1W {Z.D},P/Z,[Z.D,#i]LD1W { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1uw_gather[_u64base]_offset_{s,u}64

LD1W {Z.D},P/Z,[X,Z.D,LSL #2]LD1W { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #2]

svld1uw_gather_[{s,u}64]index_{s,u}64

LD1W {Z.D},P/Z,[X,Z.D]LD1W { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1uw_gather_[{s,u}64]offset_{s,u}64

LD1SW {Z.D},P/Z,[Z.D,#i]LD1SW { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1sw_gather[_u64base]_offset_{s,u}64

LD1SW {Z.D},P/Z,[X,Z.D,LSL #2]LD1SW { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #2]

svld1sw_gather_[{s,u}64]index_{s,u}64

LD1SW {Z.D},P/Z,[X,Z.D]LD1SW { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1sw_gather_[{s,u}64]offset_{s,u}64

LD1W {Z.D},P/Z,[X,Z.D,{S,U}XTW #2]LD1W { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #2]

LD1W {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1W { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1SW {Z.D},P/Z,[X,Z.D,{S,U}XTW #2]LD1SW { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #2]

LD1SW {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1SW { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1W {Z.S},P/Z,[Z.S,#i]LD1W { Zt.S }, Pg/Z, [Zn.S, #imm]

svld1_gather[_u32base]_offset_{s,u,f}32

LD1W {Z.S},P/Z,[X,Z.S,{S,U}XTW #2]LD1W { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #2]

svld1_gather_[{s,u}32]index[_{s,u,f}32]

LD1W {Z.S},P/Z,[X,Z.S,{S,U}XTW]LD1W { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svld1_gather_[{s,u}32]offset[_{s,u,f}32]

16-bit

LD1H {Z.D},P/Z,[Z.D,#i]LD1H { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1uh_gather[_u64base]_offset_{s,u}64

LD1H {Z.D},P/Z,[X,Z.D,LSL #1]LD1H { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #1]

svld1uh_gather_[{s,u}64]index_{s,u}64

LD1H {Z.D},P/Z,[X,Z.D]LD1H { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1uh_gather_[{s,u}64]offset_{s,u}64

LD1SH {Z.D},P/Z,[Z.D,#i]LD1SH { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1sh_gather[_u64base]_offset_{s,u}64

LD1SH {Z.D},P/Z,[X,Z.D,LSL #1]LD1SH { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #1]

svld1sh_gather_[{s,u}64]index_{s,u}64

LD1SH {Z.D},P/Z,[X,Z.D]LD1SH { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1sh_gather_[{s,u}64]offset_{s,u}64

LD1H {Z.D},P/Z,[X,Z.D,{S,U}XTW #1]LD1H { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #1]

LD1H {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1H { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1SH {Z.D},P/Z,[X,Z.D,{S,U}XTW #1]LD1SH { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #1]

LD1SH {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1SH { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1H {Z.S},P/Z,[Z.S,#i]LD1H { Zt.S }, Pg/Z, [Zn.S, #imm]

svld1uh_gather[_u32base]_offset_{s,u}32

LD1H {Z.S},P/Z,[X,Z.S,{S,U}XTW #1]LD1H { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #1]

svld1uh_gather_[{s,u}32]index_{s,u}32

LD1H {Z.S},P/Z,[X,Z.S,{S,U}XTW]LD1H { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svld1uh_gather_[{s,u}32]offset_{s,u}32

LD1SH {Z.S},P/Z,[Z.S,#i]LD1SH { Zt.S }, Pg/Z, [Zn.S, #imm]

svld1sh_gather[_u32base]_offset_{s,u}32

LD1SH {Z.S},P/Z,[X,Z.S,{S,U}XTW #1]LD1SH { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #1]

svld1sh_gather_[{s,u}32]index_{s,u}32

LD1SH {Z.S},P/Z,[X,Z.S,{S,U}XTW]LD1SH { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svld1sh_gather_[{s,u}32]offset_{s,u}32

8-bit

LD1B {Z.D},P/Z,[Z.D,#i]LD1B { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1ub_gather[_u64base]_offset_{s,u}64

LD1B {Z.D},P/Z,[X,Z.D]LD1B { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1ub_gather_[{s,u}64]offset_{s,u}64

LD1SB {Z.D},P/Z,[Z.D,#i]LD1SB { Zt.D }, Pg/Z, [Zn.D, #imm]

svld1sb_gather[_u64base]_offset_{s,u}64

LD1SB {Z.D},P/Z,[X,Z.D]LD1SB { Zt.D }, Pg/Z, [Xn, Zm.D]

svld1sb_gather_[{s,u}64]offset_{s,u}64

LD1B {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1B { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1SB {Z.D},P/Z,[X,Z.D,{S,U}XTW]LD1SB { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LD1B {Z.S},P/Z,[Z.S,#i]LD1B { Zt.S }, Pg/Z, [Zn.S, #imm]

svld1ub_gather[_u32base]_offset_{s,u}32

LD1B {Z.S},P/Z,[X,Z.S,{S,U}XTW]LD1B { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svld1ub_gather_[{s,u}32]offset_{s,u}32

LD1SB {Z.S},P/Z,[Z.S,#i]LD1SB { Zt.S }, Pg/Z, [Zn.S, #imm]

svld1sb_gather[_u32base]_offset_{s,u}32

LD1SB {Z.S},P/Z,[X,Z.S,{S,U}XTW]LD1SB { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svld1sb_gather_[{s,u}32]offset_{s,u}32

Contiguous Stores

128-bit
64-bit
32-bit
16-bit
8-bit

store (unpredicated)

STR Z,[X,#i,MUL VL]STR Zt, [Xn, #imm, MUL VL]

STR P,[X,#i,MUL VL]STR Pt, [Xn, #imm, MUL VL]

store (predicated)

ST1W {Z.Q},P,[X,#i,MUL VL]ST1W { Zt.Q }, Pg, [Xn, #imm, MUL VL]

ST1W {Z.Q},P,[X,X,LSL #2]ST1W { Zt.Q }, Pg, [Xn, Xm, LSL #2]

ST1D {Z.Q},P,[X,#i,MUL VL]ST1D { Zt.Q }, Pg, [Xn, #imm, MUL VL]

ST1D {Z.Q},P,[X,X,LSL #3]ST1D { Zt.Q }, Pg, [Xn, Xm, LSL #3]

ST1B {Z.D},P,[X,#i,MUL VL]ST1B { Zt.D }, Pg, [Xn, #imm, MUL VL]

svst1b_vnum[_{s,u}64]

ST1B {Z.D},P,[X,X]ST1B { Zt.D }, Pg, [Xn, Xm]

svst1b[_{s,u}64]

ST1H {Z.D},P,[X,#i,MUL VL]ST1H { Zt.D }, Pg, [Xn, #imm, MUL VL]

svst1h_vnum[_{s,u}64]

ST1H {Z.D},P,[X,X,LSL #1]ST1H { Zt.D }, Pg, [Xn, Xm, LSL #1]

svst1h[_{s,u}64]

ST1W {Z.D},P,[X,#i,MUL VL]ST1W { Zt.D }, Pg, [Xn, #imm, MUL VL]

svst1w_vnum[_{s,u}64]

ST1W {Z.D},P,[X,X,LSL #2]ST1W { Zt.D }, Pg, [Xn, Xm, LSL #2]

svst1w[_{s,u}64]

ST1D {Z.D},P,[X,#i,MUL VL]ST1D { Zt.D }, Pg, [Xn, #imm, MUL VL]

svst1_vnum[_{s,u,f}64]

ST1D {Z.D},P,[X,X,LSL #3]ST1D { Zt.D }, Pg, [Xn, Xm, LSL #3]

svst1[_{s,u,f}64]

ST1B {Z.S},P,[X,#i,MUL VL]ST1B { Zt.S }, Pg, [Xn, #imm, MUL VL]

svst1b_vnum[_{s,u}32]

ST1B {Z.S},P,[X,X]ST1B { Zt.S }, Pg, [Xn, Xm]

svst1b[_{s,u}32]

ST1H {Z.S},P,[X,#i,MUL VL]ST1H { Zt.S }, Pg, [Xn, #imm, MUL VL]

svst1h_vnum[_{s,u}32]

ST1H {Z.S},P,[X,X,LSL #1]ST1H { Zt.S }, Pg, [Xn, Xm, LSL #1]

svst1h[_{s,u}32]

ST1W {Z.S},P,[X,#i,MUL VL]ST1W { Zt.S }, Pg, [Xn, #imm, MUL VL]

svst1_vnum[_{s,u,f}32]

ST1W {Z.S},P,[X,X,LSL #2]ST1W { Zt.S }, Pg, [Xn, Xm, LSL #2]

svst1[_{s,u,f}32]

ST1B {Z.H},P,[X,#i,MUL VL]ST1B { Zt.H }, Pg, [Xn, #imm, MUL VL]

svst1b_vnum[_{s,u}16]

ST1B {Z.H},P,[X,X]ST1B { Zt.H }, Pg, [Xn, Xm]

svst1b[_{s,u}16]

ST1H {Z.H},P,[X,#i,MUL VL]ST1H { Zt.H }, Pg, [Xn, #imm, MUL VL]

svst1_vnum[_{s,u,f,bf}16]

ST1H {Z.H},P,[X,X,LSL #1]ST1H { Zt.H }, Pg, [Xn, Xm, LSL #1]

svst1[_{s,u,f,bf}16]

ST1B {Z.B},P,[X,#i,MUL VL]ST1B { Zt.B }, Pg, [Xn, #imm, MUL VL]

svst1_vnum[_{s,u}8]

ST1B {Z.B},P,[X,X]ST1B { Zt.B }, Pg, [Xn, Xm]

svst1[_{s,u}8]

store (predicated by counter)

ST1D {Z.D,Z.D},PN,[X,#i,MUL VL]ST1D { Zt1.D-Zt2.D }, PNg, [Xn, #imm, MUL VL]

ST1D {Z.D,Z.D},PN,[X,X,LSL #3]ST1D { Zt1.D-Zt2.D }, PNg, [Xn, Xm, LSL #3]

ST1D {Z.D,Z.D,Z.D,Z.D},PN,[X,#i,MUL VL]ST1D { Zt1.D-Zt4.D }, PNg, [Xn, #imm, MUL VL]

ST1D {Z.D,Z.D,Z.D,Z.D},PN,[X,X,LSL #3]ST1D { Zt1.D-Zt4.D }, PNg, [Xn, Xm, LSL #3]

ST1W {Z.S,Z.S},PN,[X,#i,MUL VL]ST1W { Zt1.S-Zt2.S }, PNg, [Xn, #imm, MUL VL]

ST1W {Z.S,Z.S},PN,[X,X,LSL #2]ST1W { Zt1.S-Zt2.S }, PNg, [Xn, Xm, LSL #2]

ST1W {Z.S,Z.S,Z.S,Z.S},PN,[X,#i,MUL VL]ST1W { Zt1.S-Zt4.S }, PNg, [Xn, #imm, MUL VL]

ST1W {Z.S,Z.S,Z.S,Z.S},PN,[X,X,LSL #2]ST1W { Zt1.S-Zt4.S }, PNg, [Xn, Xm, LSL #2]

ST1H {Z.H,Z.H},PN,[X,#i,MUL VL]ST1H { Zt1.H-Zt2.H }, PNg, [Xn, #imm, MUL VL]

ST1H {Z.H,Z.H},PN,[X,X,LSL #1]ST1H { Zt1.H-Zt2.H }, PNg, [Xn, Xm, LSL #1]

ST1H {Z.H,Z.H,Z.H,Z.H},PN,[X,#i,MUL VL]ST1H { Zt1.H-Zt4.H }, PNg, [Xn, #imm, MUL VL]

ST1H {Z.H,Z.H,Z.H,Z.H},PN,[X,X,LSL #1]ST1H { Zt1.H-Zt4.H }, PNg, [Xn, Xm, LSL #1]

ST1B {Z.B,Z.B},PN,[X,#i,MUL VL]ST1B { Zt1.B-Zt2.B }, PNg, [Xn, #imm, MUL VL]

ST1B {Z.B,Z.B},PN,[X,X]ST1B { Zt1.B-Zt2.B }, PNg, [Xn, Xm]

ST1B {Z.B,Z.B,Z.B,Z.B},PN,[X,#i,MUL VL]ST1B { Zt1.B-Zt4.B }, PNg, [Xn, #imm, MUL VL]

ST1B {Z.B,Z.B,Z.B,Z.B},PN,[X,X]ST1B { Zt1.B-Zt4.B }, PNg, [Xn, Xm]

store and interleave

ST2Q {Z.Q,Z.Q},P,[X,#i,MUL VL]ST2Q { Zt1.Q, Zt2.Q }, Pg, [Xn, #imm, MUL VL]

ST2Q {Z.Q,Z.Q},P,[X,X,LSL #4]ST2Q { Zt1.Q, Zt2.Q }, Pg, [Xn, Xm, LSL #4]

ST3Q {Z.Q,Z.Q,Z.Q},P,[X,#i,MUL VL]ST3Q { Zt1.Q, Zt2.Q, Zt3.Q }, Pg, [Xn, #imm, MUL VL]

ST3Q {Z.Q,Z.Q,Z.Q},P,[X,X,LSL #4]ST3Q { Zt1.Q, Zt2.Q, Zt3.Q }, Pg, [Xn, Xm, LSL #4]

ST4Q {Z.Q,Z.Q,Z.Q,Z.Q},P,[X,#i,MUL VL]ST4Q { Zt1.Q, Zt2.Q, Zt3.Q, Zt4.Q }, Pg, [Xn, #imm, MUL VL]

ST4Q {Z.Q,Z.Q,Z.Q,Z.Q},P,[X,X,LSL #4]ST4Q { Zt1.Q, Zt2.Q, Zt3.Q, Zt4.Q }, Pg, [Xn, Xm, LSL #4]

ST2D {Z.D,Z.D},P,[X,#i,MUL VL]ST2D { Zt1.D-Zt2.D }, Pg, [Xn, #imm, MUL VL]

svst2_vnum[_{s,u,f}64]

ST2D {Z.D,Z.D},P,[X,X,LSL #3]ST2D { Zt1.D-Zt2.D }, Pg, [Xn, Xm, LSL #3]

svst2[_{s,u,f}64]

ST3D {Z.D,Z.D,Z.D},P,[X,#i,MUL VL]ST3D { Zt1.D-Zt3.D }, Pg, [Xn, #imm, MUL VL]

svst3_vnum[_{s,u,f}64]

ST3D {Z.D,Z.D,Z.D},P,[X,X,LSL #3]ST3D { Zt1.D-Zt3.D }, Pg, [Xn, Xm, LSL #3]

svst3[_{s,u,f}64]

ST4D {Z.D,Z.D,Z.D,Z.D},P,[X,#i,MUL VL]ST4D { Zt1.D-Zt4.D }, Pg, [Xn, #imm, MUL VL]

svst4_vnum[_{s,u,f}64]

ST4D {Z.D,Z.D,Z.D,Z.D},P,[X,X,LSL #3]ST4D { Zt1.D-Zt4.D }, Pg, [Xn, Xm, LSL #3]

svst4[_{s,u,f}64]

ST2W {Z.S,Z.S},P,[X,#i,MUL VL]ST2W { Zt1.S-Zt2.S }, Pg, [Xn, #imm, MUL VL]

svst2_vnum[_{s,u,f}32]

ST2W {Z.S,Z.S},P,[X,X,LSL #2]ST2W { Zt1.S-Zt2.S }, Pg, [Xn, Xm, LSL #2]

svst2[_{s,u,f}32]

ST3W {Z.S,Z.S,Z.S},P,[X,#i,MUL VL]ST3W { Zt1.S-Zt3.S }, Pg, [Xn, #imm, MUL VL]

svst3_vnum[_{s,u,f}32]

ST3W {Z.S,Z.S,Z.S},P,[X,X,LSL #2]ST3W { Zt1.S-Zt3.S }, Pg, [Xn, Xm, LSL #2]

svst3[_{s,u,f}32]

ST4W {Z.S,Z.S,Z.S,Z.S},P,[X,#i,MUL VL]ST4W { Zt1.S-Zt4.S }, Pg, [Xn, #imm, MUL VL]

svst4_vnum[_{s,u,f}32]

ST4W {Z.S,Z.S,Z.S,Z.S},P,[X,X,LSL #2]ST4W { Zt1.S-Zt4.S }, Pg, [Xn, Xm, LSL #2]

svst4[_{s,u,f}32]

ST2H {Z.H,Z.H},P,[X,#i,MUL VL]ST2H { Zt1.H-Zt2.H }, Pg, [Xn, #imm, MUL VL]

svst2_vnum[_{s,u,f,bf}16]

ST2H {Z.H,Z.H},P,[X,X,LSL #1]ST2H { Zt1.H-Zt2.H }, Pg, [Xn, Xm, LSL #1]

svst2[_{s,u,f,bf}16]

ST3H {Z.H,Z.H,Z.H},P,[X,#i,MUL VL]ST3H { Zt1.H-Zt3.H }, Pg, [Xn, #imm, MUL VL]

svst3_vnum[_{s,u,f,bf}16]

ST3H {Z.H,Z.H,Z.H},P,[X,X,LSL #1]ST3H { Zt1.H-Zt3.H }, Pg, [Xn, Xm, LSL #1]

svst3[_{s,u,f,bf}16]

ST4H {Z.H,Z.H,Z.H,Z.H},P,[X,#i,MUL VL]ST4H { Zt1.H-Zt4.H }, Pg, [Xn, #imm, MUL VL]

svst4_vnum[_{s,u,f,bf}16]

ST4H {Z.H,Z.H,Z.H,Z.H},P,[X,X,LSL #1]ST4H { Zt1.H-Zt4.H }, Pg, [Xn, Xm, LSL #1]

svst4[_{s,u,f,bf}16]

ST2B {Z.B,Z.B},P,[X,#i,MUL VL]ST2B { Zt1.B-Zt2.B }, Pg, [Xn, #imm, MUL VL]

svst2_vnum[_{s,u}8]

ST2B {Z.B,Z.B},P,[X,X]ST2B { Zt1.B-Zt2.B }, Pg, [Xn, Xm]

svst2[_{s,u}8]

ST3B {Z.B,Z.B,Z.B},P,[X,#i,MUL VL]ST3B { Zt1.B-Zt3.B }, Pg, [Xn, #imm, MUL VL]

svst3_vnum[_{s,u}8]

ST3B {Z.B,Z.B,Z.B},P,[X,X]ST3B { Zt1.B-Zt3.B }, Pg, [Xn, Xm]

svst3[_{s,u}8]

ST4B {Z.B,Z.B,Z.B,Z.B},P,[X,#i,MUL VL]ST4B { Zt1.B-Zt4.B }, Pg, [Xn, #imm, MUL VL]

svst4_vnum[_{s,u}8]

ST4B {Z.B,Z.B,Z.B,Z.B},P,[X,X]ST4B { Zt1.B-Zt4.B }, Pg, [Xn, Xm]

svst4[_{s,u}8]

Scatters

register lane size

128-bit
64-bit
32-bit

memory
element
size128-bit

ST1Q {Z.Q},P,[Z.D{,X}]ST1Q { Zt.Q }, Pg, [Zn.D{, Xm}]

64-bit

ST1D {Z.D},P,[Z.D,#i]ST1D { Zt.D }, Pg, [Zn.D, #imm]

svst1_scatter[_u64base]_offset[_{s,u,f}64]

ST1D {Z.D},P,[X,Z.D,LSL #3]ST1D { Zt.D }, Pg, [Xn, Zm.D, LSL #3]

svst1_scatter_[{s,u}64]index[_{s,u,f}64]

ST1D {Z.D},P,[X,Z.D]ST1D { Zt.D }, Pg, [Xn, Zm.D]

svst1_scatter_[{s,u}64]offset[_{s,u,f}64]

ST1D {Z.D},P,[X,Z.D,{S,U}XTW #3]ST1D { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW #3]

ST1D {Z.D},P,[X,Z.D,{S,U}XTW]ST1D { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW]

32-bit

ST1W {Z.D},P,[Z.D,#i]ST1W { Zt.D }, Pg, [Zn.D, #imm]

svst1w_scatter[_u64base]_offset[_{s,u}64]

ST1W {Z.D},P,[X,Z.D,LSL #2]ST1W { Zt.D }, Pg, [Xn, Zm.D, LSL #2]

svst1w_scatter_[{s,u}64]index[_{s,u}64]

ST1W {Z.D},P,[X,Z.D]ST1W { Zt.D }, Pg, [Xn, Zm.D]

svst1w_scatter_[{s,u}64]offset[_{s,u}64]

ST1W {Z.D},P,[X,Z.D,{S,U}XTW #2]ST1W { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW #2]

ST1W {Z.D},P,[X,Z.D,{S,U}XTW]ST1W { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW]

ST1W {Z.S},P,[Z.S,#i]ST1W { Zt.S }, Pg, [Zn.S, #imm]

svst1_scatter[_u32base]_offset[_{s,u,f}32]

ST1W {Z.S},P,[X,Z.S,{S,U}XTW #2]ST1W { Zt.S }, Pg, [Xn, Zm.S, {S,U}XTW #2]

svst1_scatter_[{s,u}32]index[_{s,u,f}32]

ST1W {Z.S},P,[X,Z.S,{S,U}XTW]ST1W { Zt.S }, Pg, [Xn, Zm.S, {S,U}XTW]

svst1_scatter_[{s,u}32]offset[_{s,u,f}32]

16-bit

ST1H {Z.D},P,[Z.D,#i]ST1H { Zt.D }, Pg, [Zn.D, #imm]

svst1h_scatter[_u64base]_offset[_{s,u}64]

ST1H {Z.D},P,[X,Z.D,LSL #1]ST1H { Zt.D }, Pg, [Xn, Zm.D, LSL #1]

svst1h_scatter_[{s,u}64]index[_{s,u}64]

ST1H {Z.D},P,[X,Z.D]ST1H { Zt.D }, Pg, [Xn, Zm.D]

svst1h_scatter_[{s,u}64]offset[_{s,u}64]

ST1H {Z.D},P,[X,Z.D,{S,U}XTW #1]ST1H { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW #1]

ST1H {Z.D},P,[X,Z.D,{S,U}XTW]ST1H { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW]

ST1H {Z.S},P,[Z.S,#i]ST1H { Zt.S }, Pg, [Zn.S, #imm]

svst1h_scatter[_u32base]_offset[_{s,u}32]

ST1H {Z.S},P,[X,Z.S,{S,U}XTW #1]ST1H { Zt.S }, Pg, [Xn, Zm.S, {S,U}XTW #1]

svst1h_scatter_[{s,u}32]index[_{s,u}32]

ST1H {Z.S},P,[X,Z.S,{S,U}XTW]ST1H { Zt.S }, Pg, [Xn, Zm.S, {S,U}XTW]

svst1h_scatter_[{s,u}32]offset[_{s,u}32]

8-bit

ST1B {Z.D},P,[Z.D,#i]ST1B { Zt.D }, Pg, [Zn.D, #imm]

svst1b_scatter[_u64base]_offset[_{s,u}64]

ST1B {Z.D},P,[X,Z.D]ST1B { Zt.D }, Pg, [Xn, Zm.D]

svst1b_scatter_[{s,u}64]offset[_{s,u}64]

ST1B {Z.D},P,[X,Z.D,{S,U}XTW]ST1B { Zt.D }, Pg, [Xn, Zm.D, {S,U}XTW]

ST1B {Z.S},P,[Z.S,#i]ST1B { Zt.S }, Pg, [Zn.S, #imm]

svst1b_scatter[_u32base]_offset[_{s,u}32]

ST1B {Z.S},P,[X,Z.S,{S,U}XTW]ST1B { Zt.S }, Pg, [Xn, Zm.S, {S,U}XTW]

svst1b_scatter_[{s,u}32]offset[_{s,u}32]

First/Non-Faulting Loads

64-bit
32-bit
16-bit
8-bit

load first-fault

LDFF1B {Z.D},P/Z,[X{,X}]LDFF1B { Zt.D }, Pg/Z, [Xn{, Xm}]

svldff1ub_{s,u}64

LDFF1SB {Z.D},P/Z,[X{,X}]LDFF1SB { Zt.D }, Pg/Z, [Xn{, Xm}]

svldff1sb_{s,u}64

LDFF1H {Z.D},P/Z,[X{,X,LSL #1}]LDFF1H { Zt.D }, Pg/Z, [Xn{, Xm, LSL #1}]

svldff1uh_{s,u}64

LDFF1SH {Z.D},P/Z,[X{,X,LSL #1}]LDFF1SH { Zt.D }, Pg/Z, [Xn{, Xm, LSL #1}]

svldff1sh_{s,u}64

LDFF1W {Z.D},P/Z,[X{,X,LSL #2}]LDFF1W { Zt.D }, Pg/Z, [Xn{, Xm, LSL #2}]

svldff1uw_{s,u}64

LDFF1SW {Z.D},P/Z,[X{,X,LSL #2}]LDFF1SW { Zt.D }, Pg/Z, [Xn{, Xm, LSL #2}]

svldff1sw_{s,u}64

LDFF1D {Z.D},P/Z,[X{,X,LSL #3}]LDFF1D { Zt.D }, Pg/Z, [Xn{, Xm, LSL #3}]

svldff1[_{s,u,f}64]

LDFF1B {Z.S},P/Z,[X{,X}]LDFF1B { Zt.S }, Pg/Z, [Xn{, Xm}]

svldff1ub_{s,u}32

LDFF1SB {Z.S},P/Z,[X{,X}]LDFF1SB { Zt.S }, Pg/Z, [Xn{, Xm}]

svldff1sb_{s,u}32

LDFF1H {Z.S},P/Z,[X{,X,LSL #1}]LDFF1H { Zt.S }, Pg/Z, [Xn{, Xm, LSL #1}]

svldff1uh_{s,u}32

LDFF1SH {Z.S},P/Z,[X{,X,LSL #1}]LDFF1SH { Zt.S }, Pg/Z, [Xn{, Xm, LSL #1}]

svldff1sh_{s,u}32

LDFF1W {Z.S},P/Z,[X{,X,LSL #2}]LDFF1W { Zt.S }, Pg/Z, [Xn{, Xm, LSL #2}]

svldff1[_{s,u,f}32]

LDFF1B {Z.H},P/Z,[X{,X}]LDFF1B { Zt.H }, Pg/Z, [Xn{, Xm}]

svldff1ub_{s,u}16

LDFF1SB {Z.H},P/Z,[X{,X}]LDFF1SB { Zt.H }, Pg/Z, [Xn{, Xm}]

svldff1sb_{s,u}16

LDFF1H {Z.H},P/Z,[X{,X,LSL #1}]LDFF1H { Zt.H }, Pg/Z, [Xn{, Xm, LSL #1}]

svldff1[_{s,u,f,bf}16]

LDFF1B {Z.B},P/Z,[X{,X}]LDFF1B { Zt.B }, Pg/Z, [Xn{, Xm}]

svldff1[_{s,u}8]

load non-fault

LDNF1B {Z.D},P/Z,[X,#i,MUL VL]LDNF1B { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1ub_vnum_{s,u}64

LDNF1SB {Z.D},P/Z,[X,#i,MUL VL]LDNF1SB { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sb_vnum_{s,u}64

LDNF1H {Z.D},P/Z,[X,#i,MUL VL]LDNF1H { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1uh_vnum_{s,u}64

LDNF1SH {Z.D},P/Z,[X,#i,MUL VL]LDNF1SH { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sh_vnum_{s,u}64

LDNF1W {Z.D},P/Z,[X,#i,MUL VL]LDNF1W { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1uw_vnum_{s,u}64

LDNF1SW {Z.D},P/Z,[X,#i,MUL VL]LDNF1SW { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sw_vnum_{s,u}64

LDNF1D {Z.D},P/Z,[X,#i,MUL VL]LDNF1D { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1_vnum[_{s,u,f}64]

LDNF1B {Z.S},P/Z,[X,#i,MUL VL]LDNF1B { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1ub_vnum_{s,u}32

LDNF1SB {Z.S},P/Z,[X,#i,MUL VL]LDNF1SB { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sb_vnum_{s,u}32

LDNF1H {Z.S},P/Z,[X,#i,MUL VL]LDNF1H { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1uh_vnum_{s,u}32

LDNF1SH {Z.S},P/Z,[X,#i,MUL VL]LDNF1SH { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sh_vnum_{s,u}32

LDNF1W {Z.S},P/Z,[X,#i,MUL VL]LDNF1W { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1_vnum[_{s,u,f}32]

LDNF1B {Z.H},P/Z,[X,#i,MUL VL]LDNF1B { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1ub_vnum_{s,u}16

LDNF1SB {Z.H},P/Z,[X,#i,MUL VL]LDNF1SB { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1sb_vnum_{s,u}16

LDNF1H {Z.H},P/Z,[X,#i,MUL VL]LDNF1H { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1_vnum[_{s,u,f,bf}16]

LDNF1B {Z.B},P/Z,[X,#i,MUL VL]LDNF1B { Zt.B }, Pg/Z, [Xn, #imm, MUL VL]

svldnf1_vnum[_{s,u}8]

gather first-fault

LDFF1B {Z.D},P/Z,[Z.D,#i]LDFF1B { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1ub_gather[_u64base]_offset_{s,u}64

LDFF1SB {Z.D},P/Z,[Z.D,#i]LDFF1SB { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1sb_gather[_u64base]_offset_{s,u}64

LDFF1H {Z.D},P/Z,[Z.D,#i]LDFF1H { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1uh_gather[_u64base]_offset_{s,u}64

LDFF1SH {Z.D},P/Z,[Z.D,#i]LDFF1SH { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1sh_gather[_u64base]_offset_{s,u}64

LDFF1W {Z.D},P/Z,[Z.D,#i]LDFF1W { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1uw_gather[_u64base]_offset_{s,u}64

LDFF1SW {Z.D},P/Z,[Z.D,#i]LDFF1SW { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1sw_gather[_u64base]_offset_{s,u}64

LDFF1D {Z.D},P/Z,[Z.D,#i]LDFF1D { Zt.D }, Pg/Z, [Zn.D, #imm]

svldff1_gather[_u64base]_offset_{s,u,f}64

LDFF1B {Z.D},P/Z,[X,Z.D]LDFF1B { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1ub_gather_[{s,u}64]offset_{s,u}64

LDFF1SB {Z.D},P/Z,[X,Z.D]LDFF1SB { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1sb_gather_[{s,u}64]offset_{s,u}64

LDFF1H {Z.D},P/Z,[X,Z.D,LSL #1]LDFF1H { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #1]

svldff1uh_gather_[{s,u}64]index_{s,u}64

LDFF1H {Z.D},P/Z,[X,Z.D]LDFF1H { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1uh_gather_[{s,u}64]offset_{s,u}64

LDFF1SH {Z.D},P/Z,[X,Z.D,LSL #1]LDFF1SH { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #1]

svldff1sh_gather_[{s,u}64]index_{s,u}64

LDFF1SH {Z.D},P/Z,[X,Z.D]LDFF1SH { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1sh_gather_[{s,u}64]offset_{s,u}64

LDFF1W {Z.D},P/Z,[X,Z.D,LSL #2]LDFF1W { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #2]

svldff1uw_gather_[{s,u}64]index_{s,u}64

LDFF1W {Z.D},P/Z,[X,Z.D]LDFF1W { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1uw_gather_[{s,u}64]offset_{s,u}64

LDFF1SW {Z.D},P/Z,[X,Z.D,LSL #2]LDFF1SW { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #2]

svldff1sw_gather_[{s,u}64]index_{s,u}64

LDFF1SW {Z.D},P/Z,[X,Z.D]LDFF1SW { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1sw_gather_[{s,u}64]offset_{s,u}64

LDFF1D {Z.D},P/Z,[X,Z.D,LSL #3]LDFF1D { Zt.D }, Pg/Z, [Xn, Zm.D, LSL #3]

svldff1_gather_[{s,u}64]index[_{s,u,f}64]

LDFF1D {Z.D},P/Z,[X,Z.D]LDFF1D { Zt.D }, Pg/Z, [Xn, Zm.D]

svldff1_gather_[{s,u}64]offset[_{s,u,f}64]

LDFF1B {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1B { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1SB {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1SB { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1H {Z.D},P/Z,[X,Z.D,{S,U}XTW #1]LDFF1H { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #1]

LDFF1H {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1H { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1SH {Z.D},P/Z,[X,Z.D,{S,U}XTW #1]LDFF1SH { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #1]

LDFF1SH {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1SH { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1W {Z.D},P/Z,[X,Z.D,{S,U}XTW #2]LDFF1W { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #2]

LDFF1W {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1W { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1SW {Z.D},P/Z,[X,Z.D,{S,U}XTW #2]LDFF1SW { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #2]

LDFF1SW {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1SW { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1D {Z.D},P/Z,[X,Z.D,{S,U}XTW #3]LDFF1D { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW #3]

LDFF1D {Z.D},P/Z,[X,Z.D,{S,U}XTW]LDFF1D { Zt.D }, Pg/Z, [Xn, Zm.D, {S,U}XTW]

LDFF1B {Z.S},P/Z,[Z.S,#i]LDFF1B { Zt.S }, Pg/Z, [Zn.S, #imm]

svldff1ub_gather[_u32base]_offset_{s,u}32

LDFF1SB {Z.S},P/Z,[Z.S,#i]LDFF1SB { Zt.S }, Pg/Z, [Zn.S, #imm]

svldff1sb_gather[_u32base]_offset_{s,u}32

LDFF1H {Z.S},P/Z,[Z.S,#i]LDFF1H { Zt.S }, Pg/Z, [Zn.S, #imm]

svldff1uh_gather[_u32base]_offset_{s,u}32

LDFF1SH {Z.S},P/Z,[Z.S,#i]LDFF1SH { Zt.S }, Pg/Z, [Zn.S, #imm]

svldff1sh_gather[_u32base]_offset_{s,u}32

LDFF1W {Z.S},P/Z,[Z.S,#i]LDFF1W { Zt.S }, Pg/Z, [Zn.S, #imm]

svldff1_gather[_u32base]_offset_{s,u,f}32

LDFF1B {Z.S},P/Z,[X,Z.S,{S,U}XTW]LDFF1B { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svldff1ub_gather_[{s,u}32]offset_{s,u}32

LDFF1SB {Z.S},P/Z,[X,Z.S,{S,U}XTW]LDFF1SB { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svldff1sb_gather_[{s,u}32]offset_{s,u}32

LDFF1H {Z.S},P/Z,[X,Z.S,{S,U}XTW #1]LDFF1H { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #1]

svldff1uh_gather_[{s,u}32]index_{s,u}32

LDFF1H {Z.S},P/Z,[X,Z.S,{S,U}XTW]LDFF1H { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svldff1uh_gather_[{s,u}32]offset_{s,u}32

LDFF1SH {Z.S},P/Z,[X,Z.S,{S,U}XTW #1]LDFF1SH { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #1]

svldff1sh_gather_[{s,u}32]index_{s,u}32

LDFF1SH {Z.S},P/Z,[X,Z.S,{S,U}XTW]LDFF1SH { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svldff1sh_gather_[{s,u}32]offset_{s,u}32

LDFF1W {Z.S},P/Z,[X,Z.S,{S,U}XTW #2]LDFF1W { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW #2]

svldff1_gather_[{s,u}32]index[_{s,u,f}32]

LDFF1W {Z.S},P/Z,[X,Z.S,{S,U}XTW]LDFF1W { Zt.S }, Pg/Z, [Xn, Zm.S, {S,U}XTW]

svldff1_gather_[{s,u}32]offset[_{s,u,f}32]

read first-fault register

RDFFR P.BRDFFR Pd.B

svrdffr

RDFFR P.B,P/ZRDFFR Pd.B, Pg/Z

svrdffr_z

RDFFRS P.B,P/ZRDFFRS Pd.B, Pg/Z

write first-fault register

SETFFRSETFFR

svsetffr

WRFFR P.BWRFFR Pn.B

svwrffr

Other Memory Operations

64-bit
32-bit
16-bit
8-bit

load non-temporal

LDNT1D {Z.D},P/Z,[X,#i,MUL VL]LDNT1D { Zt.D }, Pg/Z, [Xn, #imm, MUL VL]

svldnt1_vnum[_{s,u,f}64]

LDNT1D {Z.D},P/Z,[X,X,LSL #3]LDNT1D { Zt.D }, Pg/Z, [Xn, Xm, LSL #3]

svldnt1[_{s,u,f}64]

LDNT1W {Z.S},P/Z,[X,#i,MUL VL]LDNT1W { Zt.S }, Pg/Z, [Xn, #imm, MUL VL]

svldnt1_vnum[_{s,u,f}32]

LDNT1W {Z.S},P/Z,[X,X,LSL #2]LDNT1W { Zt.S }, Pg/Z, [Xn, Xm, LSL #2]

svldnt1[_{s,u,f}32]

LDNT1H {Z.H},P/Z,[X,#i,MUL VL]LDNT1H { Zt.H }, Pg/Z, [Xn, #imm, MUL VL]

svldnt1_vnum[_{s,u,f,bf}16]

LDNT1H {Z.H},P/Z,[X,X,LSL #1]LDNT1H { Zt.H }, Pg/Z, [Xn, Xm, LSL #1]

svldnt1[_{s,u,f,bf}16]

LDNT1B {Z.B},P/Z,[X,#i,MUL VL]LDNT1B { Zt.B }, Pg/Z, [Xn, #imm, MUL VL]

svldnt1_vnum[_{s,u}8]

LDNT1B {Z.B},P/Z,[X,X]LDNT1B { Zt.B }, Pg/Z, [Xn, Xm]

svldnt1[_{s,u}8]

store non-temporal

STNT1D {Z.D},P,[X,#i,MUL VL]STNT1D { Zt.D }, Pg, [Xn, #imm, MUL VL]

svstnt1_vnum[_{s,u,f}64]

STNT1D {Z.D},P,[X,X,LSL #3]STNT1D { Zt.D }, Pg, [Xn, Xm, LSL #3]

svstnt1[_{s,u,f}64]

STNT1W {Z.S},P,[X,#i,MUL VL]STNT1W { Zt.S }, Pg, [Xn, #imm, MUL VL]

svstnt1_vnum[_{s,u,f}32]

STNT1W {Z.S},P,[X,X,LSL #2]STNT1W { Zt.S }, Pg, [Xn, Xm, LSL #2]

svstnt1[_{s,u,f}32]

STNT1H {Z.H},P,[X,#i,MUL VL]STNT1H { Zt.H }, Pg, [Xn, #imm, MUL VL]

svstnt1_vnum[_{s,u,f,bf}16]

STNT1H {Z.H},P,[X,X,LSL #1]STNT1H { Zt.H }, Pg, [Xn, Xm, LSL #1]

svstnt1[_{s,u,f,bf}16]

STNT1B {Z.B},P,[X,#i,MUL VL]STNT1B { Zt.B }, Pg, [Xn, #imm, MUL VL]

svstnt1_vnum[_{s,u}8]

STNT1B {Z.B},P,[X,X]STNT1B { Zt.B }, Pg, [Xn, Xm]

svstnt1[_{s,u}8]

load non-temporal (predicated by counter)

LDNT1D {Z.D,Z.D},PN/Z,[X,#i,MUL VL]LDNT1D { Zt1.D-Zt2.D }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1D {Z.D,Z.D},PN/Z,[X,X,LSL #3]LDNT1D { Zt1.D-Zt2.D }, PNg/Z, [Xn, Xm, LSL #3]

LDNT1D {Z.D,Z.D,Z.D,Z.D},PN/Z,[X,#i,MUL VL]LDNT1D { Zt1.D-Zt4.D }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1D {Z.D,Z.D,Z.D,Z.D},PN/Z,[X,X,LSL #3]LDNT1D { Zt1.D-Zt4.D }, PNg/Z, [Xn, Xm, LSL #3]

LDNT1W {Z.S,Z.S},PN/Z,[X,#i,MUL VL]LDNT1W { Zt1.S-Zt2.S }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1W {Z.S,Z.S},PN/Z,[X,X,LSL #2]LDNT1W { Zt1.S-Zt2.S }, PNg/Z, [Xn, Xm, LSL #2]

LDNT1W {Z.S,Z.S,Z.S,Z.S},PN/Z,[X,#i,MUL VL]LDNT1W { Zt1.S-Zt4.S }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1W {Z.S,Z.S,Z.S,Z.S},PN/Z,[X,X,LSL #2]LDNT1W { Zt1.S-Zt4.S }, PNg/Z, [Xn, Xm, LSL #2]

LDNT1H {Z.H,Z.H},PN/Z,[X,#i,MUL VL]LDNT1H { Zt1.H-Zt2.H }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1H {Z.H,Z.H},PN/Z,[X,X,LSL #1]LDNT1H { Zt1.H-Zt2.H }, PNg/Z, [Xn, Xm, LSL #1]

LDNT1H {Z.H,Z.H,Z.H,Z.H},PN/Z,[X,#i,MUL VL]LDNT1H { Zt1.H-Zt4.H }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1H {Z.H,Z.H,Z.H,Z.H},PN/Z,[X,X,LSL #1]LDNT1H { Zt1.H-Zt4.H }, PNg/Z, [Xn, Xm, LSL #1]

LDNT1B {Z.B,Z.B},PN/Z,[X,#i,MUL VL]LDNT1B { Zt1.B-Zt2.B }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1B {Z.B,Z.B},PN/Z,[X,X]LDNT1B { Zt1.B-Zt2.B }, PNg/Z, [Xn, Xm]

LDNT1B {Z.B,Z.B,Z.B,Z.B},PN/Z,[X,#i,MUL VL]LDNT1B { Zt1.B-Zt4.B }, PNg/Z, [Xn, #imm, MUL VL]

LDNT1B {Z.B,Z.B,Z.B,Z.B},PN/Z,[X,X]LDNT1B { Zt1.B-Zt4.B }, PNg/Z, [Xn, Xm]

store non-temporal (predicated by counter)

STNT1D {Z.D,Z.D},PN,[X,#i,MUL VL]STNT1D { Zt1.D-Zt2.D }, PNg, [Xn, #imm, MUL VL]

STNT1D {Z.D,Z.D},PN,[X,X,LSL #3]STNT1D { Zt1.D-Zt2.D }, PNg, [Xn, Xm, LSL #3]

STNT1D {Z.D,Z.D,Z.D,Z.D},PN,[X,#i,MUL VL]STNT1D { Zt1.D-Zt4.D }, PNg, [Xn, #imm, MUL VL]

STNT1D {Z.D,Z.D,Z.D,Z.D},PN,[X,X,LSL #3]STNT1D { Zt1.D-Zt4.D }, PNg, [Xn, Xm, LSL #3]

STNT1W {Z.S,Z.S},PN,[X,#i,MUL VL]STNT1W { Zt1.S-Zt2.S }, PNg, [Xn, #imm, MUL VL]

STNT1W {Z.S,Z.S},PN,[X,X,LSL #2]STNT1W { Zt1.S-Zt2.S }, PNg, [Xn, Xm, LSL #2]

STNT1W {Z.S,Z.S,Z.S,Z.S},PN,[X,#i,MUL VL]STNT1W { Zt1.S-Zt4.S }, PNg, [Xn, #imm, MUL VL]

STNT1W {Z.S,Z.S,Z.S,Z.S},PN,[X,X,LSL #2]STNT1W { Zt1.S-Zt4.S }, PNg, [Xn, Xm, LSL #2]

STNT1H {Z.H,Z.H},PN,[X,#i,MUL VL]STNT1H { Zt1.H-Zt2.H }, PNg, [Xn, #imm, MUL VL]

STNT1H {Z.H,Z.H},PN,[X,X,LSL #1]STNT1H { Zt1.H-Zt2.H }, PNg, [Xn, Xm, LSL #1]

STNT1H {Z.H,Z.H,Z.H,Z.H},PN,[X,#i,MUL VL]STNT1H { Zt1.H-Zt4.H }, PNg, [Xn, #imm, MUL VL]

STNT1H {Z.H,Z.H,Z.H,Z.H},PN,[X,X,LSL #1]STNT1H { Zt1.H-Zt4.H }, PNg, [Xn, Xm, LSL #1]

STNT1B {Z.B,Z.B},PN,[X,#i,MUL VL]STNT1B { Zt1.B-Zt2.B }, PNg, [Xn, #imm, MUL VL]

STNT1B {Z.B,Z.B},PN,[X,X]STNT1B { Zt1.B-Zt2.B }, PNg, [Xn, Xm]

STNT1B {Z.B,Z.B,Z.B,Z.B},PN,[X,#i,MUL VL]STNT1B { Zt1.B-Zt4.B }, PNg, [Xn, #imm, MUL VL]

STNT1B {Z.B,Z.B,Z.B,Z.B},PN,[X,X]STNT1B { Zt1.B-Zt4.B }, PNg, [Xn, Xm]

gather non-temporal

LDNT1B {Z.D},P/Z,[Z.D{,X}]LDNT1B { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1ub_gather_[{s,u}64]offset_{s,u}64

svldnt1ub_gather[_u64base]_offset_{s,u}64

LDNT1SB {Z.D},P/Z,[Z.D{,X}]LDNT1SB { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1sb_gather_[{s,u}64]offset_{s,u}64

svldnt1sb_gather[_u64base]_offset_{s,u}64

LDNT1H {Z.D},P/Z,[Z.D{,X}]LDNT1H { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1uh_gather_[{s,u}64]offset_{s,u}64

svldnt1uh_gather[_u64base]_offset_{s,u}64

LDNT1SH {Z.D},P/Z,[Z.D{,X}]LDNT1SH { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1sh_gather_[{s,u}64]offset_{s,u}64

svldnt1sh_gather[_u64base]_offset_{s,u}64

LDNT1W {Z.D},P/Z,[Z.D{,X}]LDNT1W { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1uw_gather_[{s,u}64]offset_{s,u}64

svldnt1uw_gather[_u64base]_offset_{s,u}64

LDNT1SW {Z.D},P/Z,[Z.D{,X}]LDNT1SW { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1sw_gather_[{s,u}64]offset_{s,u}64

svldnt1sw_gather[_u64base]_offset_{s,u}64

LDNT1D {Z.D},P/Z,[Z.D{,X}]LDNT1D { Zt.D }, Pg/Z, [Zn.D{, Xm}]

svldnt1_gather_[{s,u}64]offset[_{s,u,f}64]

svldnt1_gather[_u64base]_offset_{s,u,f}64

LDNT1B {Z.S},P/Z,[Z.S{,X}]LDNT1B { Zt.S }, Pg/Z, [Zn.S{, Xm}]

svldnt1ub_gather_[u32]offset_{s,u}32

svldnt1ub_gather[_u32base]_offset_{s,u}32

LDNT1SB {Z.S},P/Z,[Z.S{,X}]LDNT1SB { Zt.S }, Pg/Z, [Zn.S{, Xm}]

svldnt1sb_gather_[u32]offset_{s,u}32

svldnt1sb_gather[_u32base]_offset_{s,u}32

LDNT1H {Z.S},P/Z,[Z.S{,X}]LDNT1H { Zt.S }, Pg/Z, [Zn.S{, Xm}]

svldnt1uh_gather_[u32]offset_{s,u}32

svldnt1uh_gather[_u32base]_offset_{s,u}32

LDNT1SH {Z.S},P/Z,[Z.S{,X}]LDNT1SH { Zt.S }, Pg/Z, [Zn.S{, Xm}]

svldnt1sh_gather_[u32]offset_{s,u}32

svldnt1sh_gather[_u32base]_offset_{s,u}32

LDNT1W {Z.S},P/Z,[Z.S{,X}]LDNT1W { Zt.S }, Pg/Z, [Zn.S{, Xm}]

svldnt1_gather_[u32]offset[_{s,u,f}32]

svldnt1_gather[_u32base]_offset_{s,u,f}32

scatter non-temporal

STNT1B {Z.D},P,[Z.D{,X}]STNT1B { Zt.D }, Pg, [Zn.D{, Xm}]

svstnt1b_scatter_[{s,u}64]offset[_{s,u}64]

svstnt1b_scatter[_u64base]_offset[_{s,u}64]

STNT1H {Z.D},P,[Z.D{,X}]STNT1H { Zt.D }, Pg, [Zn.D{, Xm}]

svstnt1h_scatter_[{s,u}64]offset[_{s,u}64]

svstnt1h_scatter[_u64base]_offset[_{s,u}64]

STNT1W {Z.D},P,[Z.D{,X}]STNT1W { Zt.D }, Pg, [Zn.D{, Xm}]

svstnt1w_scatter_[{s,u}64]offset[_{s,u}64]

svstnt1w_scatter[_u64base]_offset[_{s,u}64]

STNT1D {Z.D},P,[Z.D{,X}]STNT1D { Zt.D }, Pg, [Zn.D{, Xm}]

svstnt1_scatter_[{s,u}64]offset[_{s,u,f}64]

svstnt1_scatter[_u64base]_offset[_{s,u,f}64]

STNT1B {Z.S},P,[Z.S{,X}]STNT1B { Zt.S }, Pg, [Zn.S{, Xm}]

svstnt1b_scatter_[u32]offset[_{s,u}32]

svstnt1b_scatter[_u32base]_offset[_{s,u}32]

STNT1H {Z.S},P,[Z.S{,X}]STNT1H { Zt.S }, Pg, [Zn.S{, Xm}]

svstnt1h_scatter_[u32]offset[_{s,u}32]

svstnt1h_scatter[_u32base]_offset[_{s,u}32]

STNT1W {Z.S},P,[Z.S{,X}]STNT1W { Zt.S }, Pg, [Zn.S{, Xm}]

svstnt1_scatter_[u32]offset[_{s,u,f}32]

svstnt1_scatter[_u32base]_offset[_{s,u,f}32]

prefetch (gather)

PRFB prfop,P,[X,Z.D]PRFB prfop, Pg, [Xn, Zm.D]

svprfb_gather_[{s,u}64]offset

PRFB prfop,P,[Z.D,#i]PRFB prfop, Pg, [Zn.D, #imm]

svprfb_gather[_u64base]_offset

PRFH prfop,P,[X,Z.D,LSL #1]PRFH prfop, Pg, [Xn, Zm.D, LSL #1]

svprfh_gather_[{s,u}64]index

PRFW prfop,P,[X,Z.D,LSL #2]PRFW prfop, Pg, [Xn, Zm.D, LSL #2]

svprfw_gather_[{s,u}64]index

PRFD prfop,P,[X,Z.D,LSL #3]PRFD prfop, Pg, [Xn, Zm.D, LSL #3]

svprfd_gather_[{s,u}64]index

PRFB prfop,P,[X,Z.D,SXTW]PRFB prfop, Pg, [Xn, Zm.D, SXTW]

PRFB prfop,P,[X,Z.D,UXTW]PRFB prfop, Pg, [Xn, Zm.D, UXTW]

PRFH prfop,P,[X,Z.D,SXTW #1]PRFH prfop, Pg, [Xn, Zm.D, SXTW #1]

PRFH prfop,P,[X,Z.D,UXTW #1]PRFH prfop, Pg, [Xn, Zm.D, UXTW #1]

PRFH prfop,P,[Z.D,#i]PRFH prfop, Pg, [Zn.D, #imm]

PRFW prfop,P,[X,Z.D,SXTW #2]PRFW prfop, Pg, [Xn, Zm.D, SXTW #2]

PRFW prfop,P,[X,Z.D,UXTW #2]PRFW prfop, Pg, [Xn, Zm.D, UXTW #2]

PRFW prfop,P,[Z.D,#i]PRFW prfop, Pg, [Zn.D, #imm]

PRFD prfop,P,[X,Z.D,SXTW #3]PRFD prfop, Pg, [Xn, Zm.D, SXTW #3]

PRFD prfop,P,[X,Z.D,UXTW #3]PRFD prfop, Pg, [Xn, Zm.D, UXTW #3]

PRFD prfop,P,[Z.D,#i]PRFD prfop, Pg, [Zn.D, #imm]

PRFB prfop,P,[X,Z.S,SXTW]PRFB prfop, Pg, [Xn, Zm.S, SXTW]

svprfb_gather_[s32]offset

PRFB prfop,P,[X,Z.S,UXTW]PRFB prfop, Pg, [Xn, Zm.S, UXTW]

svprfb_gather_[u32]offset

PRFB prfop,P,[Z.S,#i]PRFB prfop, Pg, [Zn.S, #imm]

svprfb_gather[_u32base]_offset

PRFH prfop,P,[X,Z.S,SXTW #1]PRFH prfop, Pg, [Xn, Zm.S, SXTW #1]

svprfh_gather_[s32]index

PRFH prfop,P,[X,Z.S,UXTW #1]PRFH prfop, Pg, [Xn, Zm.S, UXTW #1]

svprfh_gather_[u32]index

PRFW prfop,P,[X,Z.S,SXTW #2]PRFW prfop, Pg, [Xn, Zm.S, SXTW #2]

svprfw_gather_[s32]index

PRFW prfop,P,[X,Z.S,UXTW #2]PRFW prfop, Pg, [Xn, Zm.S, UXTW #2]

svprfw_gather_[u32]index

PRFD prfop,P,[X,Z.S,SXTW #3]PRFD prfop, Pg, [Xn, Zm.S, SXTW #3]

svprfd_gather_[s32]index

PRFD prfop,P,[X,Z.S,UXTW #3]PRFD prfop, Pg, [Xn, Zm.S, UXTW #3]

svprfd_gather_[u32]index

PRFH prfop,P,[Z.S,#i]PRFH prfop, Pg, [Zn.S, #imm]

PRFW prfop,P,[Z.S,#i]PRFW prfop, Pg, [Zn.S, #imm]

PRFD prfop,P,[Z.S,#i]PRFD prfop, Pg, [Zn.S, #imm]

prefetch (contiguous)

PRFB prfop,P,[X,#i,MUL VL]PRFB prfop, Pg, [Xn, #imm, MUL VL]

svprfb_vnum

PRFB prfop,P,[X,X]PRFB prfop, Pg, [Xn, Xm]

svprfb

PRFH prfop,P,[X,#i,MUL VL]PRFH prfop, Pg, [Xn, #imm, MUL VL]

svprfh_vnum

PRFH prfop,P,[X,X,LSL #1]PRFH prfop, Pg, [Xn, Xm, LSL #1]

svprfh

PRFW prfop,P,[X,#i,MUL VL]PRFW prfop, Pg, [Xn, #imm, MUL VL]

svprfw_vnum

PRFW prfop,P,[X,X,LSL #2]PRFW prfop, Pg, [Xn, Xm, LSL #2]

svprfw

PRFD prfop,P,[X,#i,MUL VL]PRFD prfop, Pg, [Xn, #imm, MUL VL]

svprfd_vnum

PRFD prfop,P,[X,X,LSL #3]PRFD prfop, Pg, [Xn, Xm, LSL #3]

svprfd

Others

AES Operations

Perform a single round of AES encryptionPerform a single round of AES decryptionPerform a single round of the AES “mix columns” transformationPerform a single round of the AES “inverse mix columns” transformation

SM4 Operations

SHA3 Operations

Scalar Operations

Add multiple of vector length in bytesAdd multiple of predicate length in bytesGet multiple of predicate length in bytes

Move Prefix

Move operations that may only be used as prefixes to certain instructions

Created by Dougall Johnson, 2023.
Arm is a registered trademark of Arm Limited (or its subsidiaries) in some places.
>>> Read full article>>>
Copyright for syndicated content belongs to the linked Source : Hacker News – https://dougallj.github.io/asil/

Exit mobile version