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/