Top-level Encoding Groups for SVE

Instruction bits Encoding Group
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 0 0 SVE Integer Binary Arithmetic - Predicated
0 0 0 0 0 1 0 0 0 0 0 1 SVE Integer Reduction
0 0 0 0 0 1 0 0 0 1 0 0 SVE Bitwise Shift - Predicated
0 0 0 0 0 1 0 0 0 1 0 1 SVE Integer Unary Arithmetic - Predicated
0 0 0 0 0 1 0 0 0 1 SVE Integer Multiply-Add - Predicated
0 0 0 0 0 1 0 0 1 0 0 0 SVE Integer Arithmetic - Unpredicated
0 0 0 0 0 1 0 0 1 0 0 1 SVE Bitwise Logical - Unpredicated
0 0 0 0 0 1 0 0 1 0 1 0 0 SVE Index Generation
0 0 0 0 0 1 0 0 1 0 1 0 1 SVE Stack Allocation
0 0 0 0 0 1 0 0 1 0 1 1 UNALLOCATED
0 0 0 0 0 1 0 0 1 1 0 0 SVE Bitwise Shift - Unpredicated
0 0 0 0 0 1 0 0 1 1 0 1 0 SVE Address Generation
0 0 0 0 0 1 0 0 1 1 0 1 1 SVE Integer Misc - Unpredicated
0 0 0 0 0 1 0 0 1 1 1 SVE Element Count
0 0 0 0 0 1 0 1 0 0 SVE Bitwise Immediate
0 0 0 0 0 1 0 1 0 1 SVE Integer Wide Immediate - Predicated
0 0 0 0 0 1 0 1 1 0 0 0 SVE Permute Vector - Extract
0 0 0 0 0 1 0 1 1 0 0 1 SVE Permute Vector - Unpredicated
0 0 0 0 0 1 0 1 1 0 1 0 SVE Permute Predicate
0 0 0 0 0 1 0 1 1 0 1 1 SVE Permute Vector - Interleaving
0 0 0 0 0 1 0 1 1 1 0 SVE Permute Vector - Predicated
0 0 0 0 0 1 0 1 1 1 1 SVE Vector Select
0 0 1 0 0 1 0 0 0 SVE Integer Compare - Vectors
0 0 1 0 0 1 0 0 1 SVE Integer Compare - Unsigned Immediate
0 0 1 0 0 1 0 1 0 0 0 1 SVE Predicate Logical Operations
0 0 1 0 0 1 0 1 0 0 1 1 SVE Propagate Break
0 0 1 0 0 1 0 1 0 1 0 1 SVE Partition Break
0 0 1 0 0 1 0 1 0 1 1 1 SVE Predicate Misc
0 0 1 0 0 1 0 1 0 0 SVE Integer Compare - Signed Immediate
0 0 1 0 0 1 0 1 1 0 0 1 0 SVE Predicate Count
0 0 1 0 0 1 0 1 1 0 1 1 0 0 0 SVE Inc/Dec by Predicate Count
0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 SVE Write FFR
0 0 1 0 0 1 0 1 1 0 1 1 0 1 UNALLOCATED
0 0 1 0 0 1 0 1 1 1 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 0 SVE Integer Compare - Scalars
0 0 1 0 0 1 0 1 1 0 1 UNALLOCATED
0 0 1 0 0 1 0 1 1 1 1 SVE Integer Wide Immediate - Unpredicated
0 1 0 0 0 1 0 0 0 0 SVE Integer Multiply-Add - Unpredicated
0 1 0 0 0 1 0 0 0 1 UNALLOCATED
0 1 0 0 0 1 0 0 1 SVE Multiply - Indexed
0 1 0 0 0 1 0 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 SVE Floating Point Complex Addition
0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 0 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 0 0 SVE Floating Point Complex Multiply-Add
0 1 1 0 0 1 0 0 1 0 0 0 0 0 SVE Floating Point Multiply-Add - Indexed
0 1 1 0 0 1 0 0 1 0 0 0 1 SVE Floating Point Complex Multiply-Add - Indexed
0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 SVE Floating Point Multiply - Indexed
0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 UNALLOCATED
0 1 1 0 0 1 0 0 1 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 0 1 0 0 0 1 UNALLOCATED
0 1 1 0 0 1 0 0 1 0 1 UNALLOCATED
0 1 1 0 0 1 0 0 1 1 UNALLOCATED
0 1 1 0 0 1 0 1 0 0 0 0 0 1 SVE Floating Point Fast Reduction
0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 UNALLOCATED
0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 SVE Floating Point Unary Operations - Unpredicated
0 1 1 0 0 1 0 1 0 1 0 0 0 1 SVE Floating Point Compare - with Zero
0 1 1 0 0 1 0 1 0 1 1 0 0 1 SVE Floating Point Accumulating Reduction
0 1 1 0 0 1 0 1 0 0 0 0 SVE Floating Point Arithmetic - Unpredicated
0 1 1 0 0 1 0 1 0 1 0 0 SVE Floating Point Arithmetic - Predicated
0 1 1 0 0 1 0 1 0 1 0 1 SVE Floating Point Unary Operations - Predicated
0 1 1 0 0 1 0 1 0 1 SVE Floating Point Compare - Vectors
0 1 1 0 0 1 0 1 1 SVE Floating Point Multiply-Add
1 0 0 0 0 1 0 SVE Memory - 32-bit Gather and Unsized Contiguous
1 0 1 0 0 1 0 SVE Memory - Contiguous Load
1 1 0 0 0 1 0 SVE Memory - 64-bit Gather
1 1 1 0 0 1 0 SVE Memory - Store

SVE Integer Binary Arithmetic - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 0 0 0 0 SVE integer add/subtract vectors (predicated)
0 0 0 0 0 1 0 0 0 0 1 0 0 0 SVE integer min/max/difference (predicated)
0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 SVE integer multiply vectors (predicated)
0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 SVE integer divide vectors (predicated)
0 0 0 0 0 1 0 0 0 1 1 0 0 0 SVE bitwise logical operations (predicated)

SVE bitwise logical operations (predicated)

313029282726252423222120191817161514131211109876543210
00000100size011opc000PgZmZdn
Decode fields Instruction Details
opc
000 ORR (vectors, predicated)
001 EOR (vectors, predicated)
010 AND (vectors, predicated)
011 BIC (vectors, predicated)
1xx UNALLOCATED

SVE integer add/subtract vectors (predicated)

313029282726252423222120191817161514131211109876543210
00000100size000opc000PgZmZdn
Decode fields Instruction Details
opc
000 ADD (vectors, predicated)
001 SUB (vectors, predicated)
010 UNALLOCATED
011 SUBR (vectors)
1xx UNALLOCATED

SVE integer divide vectors (predicated)

313029282726252423222120191817161514131211109876543210
00000100size0101RU000PgZmZdn
Decode fields Instruction Details
R U
0 0 SDIV
0 1 UDIV
1 0 SDIVR
1 1 UDIVR

SVE integer min/max/difference (predicated)

313029282726252423222120191817161514131211109876543210
00000100size001opcU000PgZmZdn
Decode fields Instruction Details
opc U
00 0 SMAX (vectors)
00 1 UMAX (vectors)
01 0 SMIN (vectors)
01 1 UMIN (vectors)
10 0 SABD
10 1 UABD
11 UNALLOCATED

SVE integer multiply vectors (predicated)

313029282726252423222120191817161514131211109876543210
00000100size0100HU000PgZmZdn
Decode fields Instruction Details
H U
0 0 MUL (vectors)
0 1 UNALLOCATED
1 0 SMULH
1 1 UMULH

SVE Integer Reduction Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 0 0 0 1 SVE integer add reduction (predicated)
0 0 0 0 0 1 0 0 0 0 1 0 0 1 SVE integer min/max reduction (predicated)
0 0 0 0 0 1 0 0 0 1 0 0 0 1 SVE constructive prefix (predicated)
0 0 0 0 0 1 0 0 0 1 1 0 0 1 SVE bitwise logical reduction (predicated)

SVE bitwise logical reduction (predicated)

313029282726252423222120191817161514131211109876543210
00000100size011opc001PgZnVd
Decode fields Instruction Details
opc
000 ORV
001 EORV
010 ANDV
011 UNALLOCATED
1xx UNALLOCATED

SVE constructive prefix (predicated)

313029282726252423222120191817161514131211109876543210
00000100size010opcM001PgZnZd
Decode fields Instruction Details
opc
00 MOVPRFX (predicated)
01 UNALLOCATED
1x UNALLOCATED

SVE integer add reduction (predicated)

313029282726252423222120191817161514131211109876543210
00000100size000opcU001PgZnVd
Decode fields Instruction Details
opc U
00 0 SADDV
00 1 UADDV
01 UNALLOCATED
1x UNALLOCATED

SVE integer min/max reduction (predicated)

313029282726252423222120191817161514131211109876543210
00000100size001opcU001PgZnVd
Decode fields Instruction Details
opc U
00 0 SMAXV
00 1 UMAXV
01 0 SMINV
01 1 UMINV
1x UNALLOCATED

SVE Bitwise Shift - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 1 0 0 SVE bitwise shift by immediate (predicated)
0 0 0 0 0 1 0 0 0 1 0 1 0 0 SVE bitwise shift by vector (predicated)
0 0 0 0 0 1 0 0 0 1 1 1 0 0 SVE bitwise shift by wide elements (predicated)

SVE bitwise shift by immediate (predicated)

313029282726252423222120191817161514131211109876543210
00000100tszh00opcLU100Pgtszlimm3Zdn
Decode fields Instruction Details
opc L U
00 0 0 ASR (immediate, predicated)
00 0 1 LSR (immediate, predicated)
00 1 0 UNALLOCATED
00 1 1 LSL (immediate, predicated)
01 0 0 ASRD
01 0 1 UNALLOCATED
01 1 UNALLOCATED
1x UNALLOCATED

SVE bitwise shift by vector (predicated)

313029282726252423222120191817161514131211109876543210
00000100size010RLU100PgZmZdn
Decode fields Instruction Details
R L U
1 0 UNALLOCATED
0 0 0 ASR (vectors)
0 0 1 LSR (vectors)
0 1 1 LSL (vectors)
1 0 0 ASRR
1 0 1 LSRR
1 1 1 LSLR

SVE bitwise shift by wide elements (predicated)

313029282726252423222120191817161514131211109876543210
00000100size011RLU100PgZmZdn
Decode fields Instruction Details
R L U
0 0 0 ASR (wide elements, predicated)
0 0 1 LSR (wide elements, predicated)
0 1 0 UNALLOCATED
0 1 1 LSL (wide elements, predicated)
1 UNALLOCATED

SVE Integer Unary Arithmetic - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 0 0 1 0 1 0 1 SVE integer unary operations (predicated)
0 0 0 0 0 1 0 0 0 1 1 1 0 1 SVE bitwise unary operations (predicated)

SVE bitwise unary operations (predicated)

313029282726252423222120191817161514131211109876543210
00000100size011opc101PgZnZd
Decode fields Instruction Details
opc
000 CLS
001 CLZ
010 CNT
011 CNOT
100 FABS
101 FNEG
110 NOT (vector)
111 UNALLOCATED

SVE integer unary operations (predicated)

313029282726252423222120191817161514131211109876543210
00000100size010opc101PgZnZd
Decode fields Instruction Details
opc
000 SXTB, SXTH, SXTWSXTB
001 UXTB, UXTH, UXTWUXTB
010 SXTB, SXTH, SXTWSXTH
011 UXTB, UXTH, UXTWUXTH
100 SXTB, SXTH, SXTWSXTW
101 UXTB, UXTH, UXTWUXTW
110 ABS
111 NEG

SVE Integer Multiply-Add - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 0 0 1 SVE integer multiply-accumulate writing addend (predicated)
0 0 0 0 0 1 0 0 0 1 1 SVE integer multiply-add writing multiplicand (predicated)

SVE integer multiply-accumulate writing addend (predicated)

313029282726252423222120191817161514131211109876543210
00000100size0Zm01opPgZnZda
Decode fields Instruction Details
op
0 MLA
1 MLS

SVE integer multiply-add writing multiplicand (predicated)

313029282726252423222120191817161514131211109876543210
00000100size0Zm11opPgZaZdn
Decode fields Instruction Details
op
0 MAD
1 MSB

SVE Integer Arithmetic - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 0 0 0 SVE integer add/subtract vectors (unpredicated)

SVE integer add/subtract vectors (unpredicated)

313029282726252423222120191817161514131211109876543210
00000100size1Zm000opcZnZd
Decode fields Instruction Details
opc
000 ADD (vectors, unpredicated)
001 SUB (vectors, unpredicated)
01x UNALLOCATED
100 SQADD (vectors)
101 UQADD (vectors)
110 SQSUB (vectors)
111 UQSUB (vectors)

SVE Bitwise Logical - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 0 0 1 0 UNALLOCATED
0 0 0 0 0 1 0 0 1 0 0 1 1 0 0 SVE bitwise logical operations (unpredicated)
0 0 0 0 0 1 0 0 1 0 0 1 1 != 00 UNALLOCATED

SVE bitwise logical operations (unpredicated)

313029282726252423222120191817161514131211109876543210
00000100opc1Zm001100ZnZd
Decode fields Instruction Details
opc
00 AND (vectors, unpredicated)
01 ORR (vectors, unpredicated)
10 EOR (vectors, unpredicated)
11 BIC (vectors, unpredicated)

SVE Index Generation Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 SVE index generation (immediate start, immediate increment)
0 0 0 0 0 1 0 0 1 0 1 0 0 0 1 SVE index generation (register start, immediate increment)
0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 SVE index generation (immediate start, register increment)
0 0 0 0 0 1 0 0 1 0 1 0 0 1 1 SVE index generation (register start, register increment)

SVE index generation (immediate start, immediate increment)

313029282726252423222120191817161514131211109876543210
00000100size1imm5b010000imm5Zd
Instruction Details
INDEX (immediates)

SVE index generation (immediate start, register increment)

313029282726252423222120191817161514131211109876543210
00000100size1Rm010010imm5Zd
Instruction Details
INDEX (immediate, scalar)

SVE index generation (register start, immediate increment)

313029282726252423222120191817161514131211109876543210
00000100size1imm5010001RnZd
Instruction Details
INDEX (scalar, immediate)

SVE index generation (register start, register increment)

313029282726252423222120191817161514131211109876543210
00000100size1Rm010011RnZd
Instruction Details
INDEX (scalars)

SVE Stack Allocation Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 0 1 0 1 1 UNALLOCATED
0 0 0 0 0 1 0 0 0 1 0 1 0 1 0 SVE stack frame adjustment
0 0 0 0 0 1 0 0 1 1 0 1 0 1 0 SVE stack frame size

SVE stack frame adjustment

313029282726252423222120191817161514131211109876543210
000001000op1Rn01010imm6Rd
Decode fields Instruction Details
op
0 ADDVL
1 ADDPL

SVE stack frame size

313029282726252423222120191817161514131211109876543210
000001001op1opc201010imm6Rd
Decode fields Instruction Details
op opc2
0 0xxxx UNALLOCATED
0 10xxx UNALLOCATED
0 110xx UNALLOCATED
0 1110x UNALLOCATED
0 11110 UNALLOCATED
0 11111 RDVL
1 UNALLOCATED

SVE Bitwise Shift - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 1 0 0 0 SVE bitwise shift by wide elements (unpredicated)
0 0 0 0 0 1 0 0 1 1 0 0 1 SVE bitwise shift by immediate (unpredicated)

SVE bitwise shift by immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00000100tszh1tszlimm31001opcZnZd
Decode fields Instruction Details
opc
00 ASR (immediate, unpredicated)
01 LSR (immediate, unpredicated)
10 UNALLOCATED
11 LSL (immediate, unpredicated)

SVE bitwise shift by wide elements (unpredicated)

313029282726252423222120191817161514131211109876543210
00000100size1Zm1000opcZnZd
Decode fields Instruction Details
opc
00 ASR (wide elements, unpredicated)
01 LSR (wide elements, unpredicated)
10 UNALLOCATED
11 LSL (wide elements, unpredicated)

SVE Address Generation Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 1 0 1 0 SVE address generation

SVE address generation

313029282726252423222120191817161514131211109876543210
00000100opc1Zm1010mszZnZd
Decode fields Instruction Details
opc
00 ADRUnpacked 32-bit signed offsets
01 ADRUnpacked 32-bit unsigned offsets
1x ADRPacked offsets

SVE Integer Misc - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 1 0 1 1 0 SVE floating-point trig select coefficient
0 0 0 0 0 1 0 0 1 1 0 1 1 1 0 SVE floating-point exponential accelerator
0 0 0 0 0 1 0 0 1 1 0 1 1 1 1 SVE constructive prefix (unpredicated)

SVE constructive prefix (unpredicated)

313029282726252423222120191817161514131211109876543210
00000100opc1opc2101111ZnZd
Decode fields Instruction Details
opc opc2
00 00000 MOVPRFX (unpredicated)
00 00001 UNALLOCATED
00 0001x UNALLOCATED
00 001xx UNALLOCATED
00 01xxx UNALLOCATED
00 1xxxx UNALLOCATED
01 UNALLOCATED
1x UNALLOCATED

SVE floating-point exponential accelerator

313029282726252423222120191817161514131211109876543210
00000100size1opc101110ZnZd
Decode fields Instruction Details
opc
00000 FEXPA
00001 UNALLOCATED
0001x UNALLOCATED
001xx UNALLOCATED
01xxx UNALLOCATED
1xxxx UNALLOCATED

SVE floating-point trig select coefficient

313029282726252423222120191817161514131211109876543210
00000100size1Zm10110opZnZd
Decode fields Instruction Details
op
0 FTSSEL
1 UNALLOCATED

SVE Element Count Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0 1 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 0 1 1 1 1 1 SVE saturating inc/dec register by element count
0 0 0 0 0 1 0 0 1 0 1 1 0 0 SVE saturating inc/dec vector by element count
0 0 0 0 0 1 0 0 1 0 1 1 1 0 0 SVE element count
0 0 0 0 0 1 0 0 1 0 1 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 0 1 1 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 0 1 1 1 1 0 0 0 SVE inc/dec vector by element count
0 0 0 0 0 1 0 0 1 1 1 1 1 0 0 SVE inc/dec register by element count

SVE element count

313029282726252423222120191817161514131211109876543210
00000100size10imm411100oppatternRd
Decode fields Instruction Details
size op
1 UNALLOCATED
00 0 CNTB, CNTD, CNTH, CNTWCNTB
01 0 CNTB, CNTD, CNTH, CNTWCNTH
10 0 CNTB, CNTD, CNTH, CNTWCNTW
11 0 CNTB, CNTD, CNTH, CNTWCNTD

SVE inc/dec register by element count

313029282726252423222120191817161514131211109876543210
00000100size11imm411100DpatternRdn
Decode fields Instruction Details
size D
00 0 INCB, INCD, INCH, INCW (scalar)INCB
00 1 DECB, DECD, DECH, DECW (scalar)DECB
01 0 INCB, INCD, INCH, INCW (scalar)INCH
01 1 DECB, DECD, DECH, DECW (scalar)DECH
10 0 INCB, INCD, INCH, INCW (scalar)INCW
10 1 DECB, DECD, DECH, DECW (scalar)DECW
11 0 INCB, INCD, INCH, INCW (scalar)INCD
11 1 DECB, DECD, DECH, DECW (scalar)DECD

SVE inc/dec vector by element count

313029282726252423222120191817161514131211109876543210
00000100size11imm411000DpatternZdn
Decode fields Instruction Details
size D
00 UNALLOCATED
01 0 INCD, INCH, INCW (vector)INCH
01 1 DECD, DECH, DECW (vector)DECH
10 0 INCD, INCH, INCW (vector)INCW
10 1 DECD, DECH, DECW (vector)DECW
11 0 INCD, INCH, INCW (vector)INCD
11 1 DECD, DECH, DECW (vector)DECD

SVE saturating inc/dec register by element count

313029282726252423222120191817161514131211109876543210
00000100size1sfimm41111DUpatternRdn
Decode fields Instruction Details
size sf D U
00 0 0 0 SQINCB32-bit
00 0 0 1 UQINCB32-bit
00 0 1 0 SQDECB32-bit
00 0 1 1 UQDECB32-bit
00 1 0 0 SQINCB64-bit
00 1 0 1 UQINCB64-bit
00 1 1 0 SQDECB64-bit
00 1 1 1 UQDECB64-bit
01 0 0 0 SQINCH (scalar)32-bit
01 0 0 1 UQINCH (scalar)32-bit
01 0 1 0 SQDECH (scalar)32-bit
01 0 1 1 UQDECH (scalar)32-bit
01 1 0 0 SQINCH (scalar)64-bit
01 1 0 1 UQINCH (scalar)64-bit
01 1 1 0 SQDECH (scalar)64-bit
01 1 1 1 UQDECH (scalar)64-bit
10 0 0 0 SQINCW (scalar)32-bit
10 0 0 1 UQINCW (scalar)32-bit
10 0 1 0 SQDECW (scalar)32-bit
10 0 1 1 UQDECW (scalar)32-bit
10 1 0 0 SQINCW (scalar)64-bit
10 1 0 1 UQINCW (scalar)64-bit
10 1 1 0 SQDECW (scalar)64-bit
10 1 1 1 UQDECW (scalar)64-bit
11 0 0 0 SQINCD (scalar)32-bit
11 0 0 1 UQINCD (scalar)32-bit
11 0 1 0 SQDECD (scalar)32-bit
11 0 1 1 UQDECD (scalar)32-bit
11 1 0 0 SQINCD (scalar)64-bit
11 1 0 1 UQINCD (scalar)64-bit
11 1 1 0 SQDECD (scalar)64-bit
11 1 1 1 UQDECD (scalar)64-bit

SVE saturating inc/dec vector by element count

313029282726252423222120191817161514131211109876543210
00000100size10imm41100DUpatternZdn
Decode fields Instruction Details
size D U
00 UNALLOCATED
01 0 0 SQINCH (vector)
01 0 1 UQINCH (vector)
01 1 0 SQDECH (vector)
01 1 1 UQDECH (vector)
10 0 0 SQINCW (vector)
10 0 1 UQINCW (vector)
10 1 0 SQDECW (vector)
10 1 1 UQDECW (vector)
11 0 0 SQINCD (vector)
11 0 1 UQINCD (vector)
11 1 0 SQDECD (vector)
11 1 1 UQDECD (vector)

SVE Bitwise Immediate Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 0 0 0 0 SVE bitwise logical with immediate (unpredicated)
0 0 0 0 0 1 0 1 0 0 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 0 SVE broadcast bitmask immediate

SVE bitwise logical with immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00000101opc0000imm13Zdn
Decode fields Instruction Details
opc
00 ORR (immediate)
01 EOR (immediate)
10 AND (immediate)

SVE broadcast bitmask immediate

313029282726252423222120191817161514131211109876543210
00000101110000imm13Zd
Instruction Details
DUPM

SVE Integer Wide Immediate - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 0 1 0 SVE copy integer immediate (predicated)
0 0 0 0 0 1 0 1 0 1 1 0 UNALLOCATED
0 0 0 0 0 1 0 1 0 1 1 1 0 SVE copy floating-point immediate (predicated)
0 0 0 0 0 1 0 1 0 1 1 1 1 UNALLOCATED

SVE copy floating-point immediate (predicated)

313029282726252423222120191817161514131211109876543210
00000101size01Pg110imm8Zd
Instruction Details
FCPY

SVE copy integer immediate (predicated)

313029282726252423222120191817161514131211109876543210
00000101size01Pg0Mshimm8Zd
Instruction Details
CPY (immediate)

SVE Permute Vector - Extract Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 0 0 1 0 0 0 SVE extract vector (immediate offset, destructive)
0 0 0 0 0 1 0 1 != 00 1 0 0 0 UNALLOCATED

SVE extract vector (immediate offset, destructive)

313029282726252423222120191817161514131211109876543210
00000101001imm8h000imm8lZmZdn
Instruction Details
EXT

SVE Permute Vector - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 SVE broadcast indexed element
0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 SVE table lookup
0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 != 00 0 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 != 00 0 0 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 1 0 SVE broadcast general register
0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 1 0 SVE insert general register
0 0 0 0 0 1 0 1 1 0 1 0 0 1 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 0 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0 SVE unpack vector elements
0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 1 1 0 SVE insert SIMD&FP scalar register
0 0 0 0 0 1 0 1 1 1 0 1 != 00 0 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 1 != 00 0 0 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 != 00 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 0 0 0 0 0 1 1 1 0 SVE reverse vector elements
0 0 0 0 0 1 0 1 1 1 1 != 000 0 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 != 000 0 0 1 1 UNALLOCATED

SVE broadcast general register

313029282726252423222120191817161514131211109876543210
00000101size100000001110RnZd
Instruction Details
DUP (scalar)

SVE broadcast indexed element

313029282726252423222120191817161514131211109876543210
00000101imm21tsz001000ZnZd
Instruction Details
DUP (indexed)

SVE insert SIMD&FP scalar register

313029282726252423222120191817161514131211109876543210
00000101size110100001110VmZdn
Instruction Details
INSR (SIMD&FP scalar)

SVE insert general register

313029282726252423222120191817161514131211109876543210
00000101size100100001110RmZdn
Instruction Details
INSR (scalar)

SVE reverse vector elements

313029282726252423222120191817161514131211109876543210
00000101size111000001110ZnZd
Instruction Details
REV (vector)

SVE table lookup

313029282726252423222120191817161514131211109876543210
00000101size1Zm001100ZnZd
Instruction Details
TBL

SVE unpack vector elements

313029282726252423222120191817161514131211109876543210
00000101size1100UH001110ZnZd
Decode fields Instruction Details
U H
0 0 SUNPKHI, SUNPKLOSUNPKLO
0 1 SUNPKHI, SUNPKLOSUNPKHI
1 0 UUNPKHI, UUNPKLOUUNPKLO
1 1 UUNPKHI, UUNPKLOUUNPKHI

SVE Permute Predicate Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 1 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 1 0 0 0 SVE permute predicate elements
0 0 0 0 0 1 0 1 1 0 0 1 0 1 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 0 0 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 1 0 0 0 0 0 0 SVE reverse predicate elements
0 0 0 0 0 1 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 0 1 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 SVE unpack predicate elements
0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 0 1 0 0 0 0 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 0 1 0 0 0 0 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0 UNALLOCATED

SVE permute predicate elements

313029282726252423222120191817161514131211109876543210
00000101size10Pm010opcH0Pn0Pd
Decode fields Instruction Details
opc H
00 0 ZIP1, ZIP2 (predicates)ZIP1
00 1 ZIP1, ZIP2 (predicates)ZIP2
01 0 UZP1, UZP2 (predicates)UZP1
01 1 UZP1, UZP2 (predicates)UZP2
10 0 TRN1, TRN2 (predicates)TRN1
10 1 TRN1, TRN2 (predicates)TRN2
11 UNALLOCATED

SVE reverse predicate elements

313029282726252423222120191817161514131211109876543210
00000101size1101000100000Pn0Pd
Instruction Details
REV (predicate)

SVE unpack predicate elements

313029282726252423222120191817161514131211109876543210
000001010011000H0100000Pn0Pd
Decode fields Instruction Details
H
0 PUNPKHI, PUNPKLOPUNPKLO
1 PUNPKHI, PUNPKLOPUNPKHI

SVE Permute Vector - Interleaving Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 1 0 1 1 SVE permute vector elements

SVE permute vector elements

313029282726252423222120191817161514131211109876543210
00000101size1Zm011opcZnZd
Decode fields Instruction Details
opc
000 ZIP1, ZIP2 (vectors)ZIP1
001 ZIP1, ZIP2 (vectors)ZIP2
010 UZP1, UZP2 (vectors)UZP1
011 UZP1, UZP2 (vectors)UZP2
100 TRN1, TRN2 (vectors)TRN1
101 TRN1, TRN2 (vectors)TRN2
11x UNALLOCATED

SVE Permute Vector - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 0 0 0 1 0 1 SVE extract element to general register
0 0 0 0 0 1 0 1 1 0 0 0 0 0 1 0 0 SVE copy SIMD&FP scalar register to vector (predicated)
0 0 0 0 0 1 0 1 1 0 0 0 1 1 0 0 SVE extract element to SIMD&FP scalar register
0 0 0 0 0 1 0 1 1 0 0 1 1 0 0 SVE reverse within elements
0 0 0 0 0 1 0 1 1 0 0 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 0 SVE conditionally broadcast element to vector
0 0 0 0 0 1 0 1 1 0 1 0 0 0 1 0 1 SVE copy general register to vector (predicated)
0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 1 0 1 1 0 0 SVE conditionally extract element to SIMD&FP scalar
0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 0 SVE vector splice (destructive)
0 0 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 UNALLOCATED
0 0 0 0 0 1 0 1 1 0 1 1 != 00 1 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 1 0 1 SVE conditionally extract element to general register
0 0 0 0 0 1 0 1 1 1 != 000 1 0 UNALLOCATED
0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 UNALLOCATED
0 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 0 0 SVE compress active elements

SVE compress active elements

313029282726252423222120191817161514131211109876543210
000001011sz100001100PgZnZd
Instruction Details
COMPACT

SVE conditionally broadcast element to vector

313029282726252423222120191817161514131211109876543210
00000101size10100B100PgZmZdn
Decode fields Instruction Details
B
0 CLASTA (vectors)
1 CLASTB (vectors)

SVE conditionally extract element to SIMD&FP scalar

313029282726252423222120191817161514131211109876543210
00000101size10101B100PgZmVdn
Decode fields Instruction Details
B
0 CLASTA (SIMD&FP scalar)
1 CLASTB (SIMD&FP scalar)

SVE conditionally extract element to general register

313029282726252423222120191817161514131211109876543210
00000101size11000B101PgZmRdn
Decode fields Instruction Details
B
0 CLASTA (scalar)
1 CLASTB (scalar)

SVE copy SIMD&FP scalar register to vector (predicated)

313029282726252423222120191817161514131211109876543210
00000101size100000100PgVnZd
Instruction Details
CPY (SIMD&FP scalar)

SVE copy general register to vector (predicated)

313029282726252423222120191817161514131211109876543210
00000101size101000101PgRnZd
Instruction Details
CPY (scalar)

SVE extract element to SIMD&FP scalar register

313029282726252423222120191817161514131211109876543210
00000101size10001B100PgZnVd
Decode fields Instruction Details
B
0 LASTA (SIMD&FP scalar)
1 LASTB (SIMD&FP scalar)

SVE extract element to general register

313029282726252423222120191817161514131211109876543210
00000101size10000B101PgZnRd
Decode fields Instruction Details
B
0 LASTA (scalar)
1 LASTB (scalar)

SVE reverse within elements

313029282726252423222120191817161514131211109876543210
00000101size1001opc100PgZnZd
Decode fields Instruction Details
opc
00 REVB, REVH, REVWREVB
01 REVB, REVH, REVWREVH
10 REVB, REVH, REVWREVW
11 RBIT

SVE vector splice (destructive)

313029282726252423222120191817161514131211109876543210
00000101size101100100PgZmZdn
Instruction Details
SPLICE

SVE Vector Select Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 1 1 1 1 SVE select vector elements (predicated)

SVE select vector elements (predicated)

313029282726252423222120191817161514131211109876543210
00000101size1Zm11PgZnZd
Instruction Details
SEL (vectors)

SVE Integer Compare - Vectors Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 0 0 0 SVE integer compare vectors
0 0 1 0 0 1 0 0 0 1 SVE integer compare with wide elements

SVE integer compare vectors

313029282726252423222120191817161514131211109876543210
00100100size0Zmop0o2PgZnnePd
Decode fields Instruction Details
op o2 ne
0 0 0 CMP<cc> (vectors)CMPHS
0 0 1 CMP<cc> (vectors)CMPHI
0 1 0 CMP<cc> (wide elements)CMPEQ
0 1 1 CMP<cc> (wide elements)CMPNE
1 0 0 CMP<cc> (vectors)CMPGE
1 0 1 CMP<cc> (vectors)CMPGT
1 1 0 CMP<cc> (vectors)CMPEQ
1 1 1 CMP<cc> (vectors)CMPNE

SVE integer compare with wide elements

313029282726252423222120191817161514131211109876543210
00100100size0ZmU1ltPgZnnePd
Decode fields Instruction Details
U lt ne
0 0 0 CMP<cc> (wide elements)CMPGE
0 0 1 CMP<cc> (wide elements)CMPGT
0 1 0 CMP<cc> (wide elements)CMPLT
0 1 1 CMP<cc> (wide elements)CMPLE
1 0 0 CMP<cc> (wide elements)CMPHS
1 0 1 CMP<cc> (wide elements)CMPHI
1 1 0 CMP<cc> (wide elements)CMPLO
1 1 1 CMP<cc> (wide elements)CMPLS

SVE Integer Compare - Unsigned Immediate Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 0 1 SVE integer compare with unsigned immediate

SVE integer compare with unsigned immediate

313029282726252423222120191817161514131211109876543210
00100100size1imm7ltPgZnnePd
Decode fields Instruction Details
lt ne
0 0 CMP<cc> (immediate)CMPHS
0 1 CMP<cc> (immediate)CMPHI
1 0 CMP<cc> (immediate)CMPLO
1 1 CMP<cc> (immediate)CMPLS

SVE Predicate Logical Operations Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 0 0 0 1 SVE predicate logical operations

SVE predicate logical operations

313029282726252423222120191817161514131211109876543210
00100101opS00Pm01Pgo2Pno3Pd
Decode fields Instruction Details
op S o2 o3
0 0 0 0 AND, ANDS (predicates)not flag setting
0 0 0 1 BIC, BICS (predicates)not flag setting
0 0 1 0 EOR, EORS (predicates)not flag setting
0 0 1 1 SEL (predicates)
0 1 0 0 AND, ANDS (predicates)flag setting
0 1 0 1 BIC, BICS (predicates)flag setting
0 1 1 0 EOR, EORS (predicates)flag setting
0 1 1 1 UNALLOCATED
1 0 0 0 ORR, ORRS (predicates)not flag setting
1 0 0 1 ORN, ORNS (predicates)not flag setting
1 0 1 0 NOR, NORSnot flag setting
1 0 1 1 NAND, NANDSnot flag setting
1 1 0 0 ORR, ORRS (predicates)flag setting
1 1 0 1 ORN, ORNS (predicates)flag setting
1 1 1 0 NOR, NORSflag setting
1 1 1 1 NAND, NANDSflag setting

SVE Propagate Break Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 0 0 1 1 0 SVE propagate break from previous partition
0 0 1 0 0 1 0 1 0 0 1 1 1 UNALLOCATED

SVE propagate break from previous partition

313029282726252423222120191817161514131211109876543210
00100101opS00Pm11Pg0PnBPd
Decode fields Instruction Details
op S B
0 0 0 BRKPA, BRKPASnot flag setting
0 0 1 BRKPB, BRKPBSnot flag setting
0 1 0 BRKPA, BRKPASflag setting
0 1 1 BRKPB, BRKPBSflag setting
1 UNALLOCATED

SVE Partition Break Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 0 1 0 0 0 0 0 1 0 SVE partition break condition
0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 1 1 UNALLOCATED
0 0 1 0 0 1 0 1 0 0 1 != 000 0 1 UNALLOCATED
0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 0 SVE propagate break to next partition
0 0 1 0 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 1 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 1 != 0000 0 1 UNALLOCATED

SVE partition break condition

313029282726252423222120191817161514131211109876543210
00100101BS01000001Pg0PnMPd
Decode fields Instruction Details
B S M
1 1 UNALLOCATED
0 0 BRKA, BRKASnot flag setting
0 1 0 BRKA, BRKASflag setting
1 0 BRKB, BRKBSnot flag setting
1 1 0 BRKB, BRKBSflag setting

SVE propagate break to next partition

313029282726252423222120191817161514131211109876543210
001001010S01100001Pg0Pn0Pdm
Decode fields Instruction Details
S
0 BRKN, BRKNSnot flag setting
1 BRKN, BRKNSflag setting

SVE Predicate Misc Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 0 1 1 1 1 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 0 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 1 0 0 SVE predicate test
0 0 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 1 1 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 0 1 0 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 SVE predicate initialize
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 0 0 0 SVE predicate first active
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 0 0 != 00 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 SVE predicate zero
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 0 1 != 00000 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 SVE predicate read from FFR (predicated)
0 0 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 0 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 0 0 SVE predicate next active
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 1 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 SVE predicate read from FFR (unpredicated)
0 0 1 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 0 != 0000 0 UNALLOCATED
0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 UNALLOCATED

SVE predicate first active

313029282726252423222120191817161514131211109876543210
00100101opS0110001100000Pg0Pdn
Decode fields Instruction Details
op S
0 0 UNALLOCATED
0 1 PFIRST
1 UNALLOCATED

SVE predicate initialize

313029282726252423222120191817161514131211109876543210
00100101size01100S111000pattern0Pd
Decode fields Instruction Details
S
0 PTRUE, PTRUESnot flag setting
1 PTRUE, PTRUESflag setting

SVE predicate next active

313029282726252423222120191817161514131211109876543210
00100101size0110011100010Pg0Pdn
Instruction Details
PNEXT

SVE predicate read from FFR (predicated)

313029282726252423222120191817161514131211109876543210
00100101opS0110001111000Pg0Pd
Decode fields Instruction Details
op S
0 0 RDFFR, RDFFRS (predicated)not flag setting
0 1 RDFFR, RDFFRS (predicated)flag setting
1 UNALLOCATED

SVE predicate read from FFR (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101opS011001111100000000Pd
Decode fields Instruction Details
op S
0 0 RDFFR (unpredicated)
0 1 UNALLOCATED
1 UNALLOCATED

SVE predicate test

313029282726252423222120191817161514131211109876543210
00100101opS01000011Pg0Pn0opc2
Decode fields Instruction Details
op S opc2
0 0 UNALLOCATED
0 1 0000 PTEST
0 1 0001 UNALLOCATED
0 1 001x UNALLOCATED
0 1 01xx UNALLOCATED
0 1 1xxx UNALLOCATED
1 UNALLOCATED

SVE predicate zero

313029282726252423222120191817161514131211109876543210
00100101opS011000111001000000Pd
Decode fields Instruction Details
op S
0 0 PFALSE
0 1 UNALLOCATED
1 UNALLOCATED

SVE Integer Compare - Signed Immediate Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 0 0 SVE integer compare with signed immediate

SVE integer compare with signed immediate

313029282726252423222120191817161514131211109876543210
00100101size0imm5op0o2PgZnnePd
Decode fields Instruction Details
op o2 ne
0 0 0 CMP<cc> (immediate)CMPGE
0 0 1 CMP<cc> (immediate)CMPGT
0 1 0 CMP<cc> (immediate)CMPLT
0 1 1 CMP<cc> (immediate)CMPLE
1 0 0 CMP<cc> (immediate)CMPEQ
1 0 1 CMP<cc> (immediate)CMPNE
1 1 UNALLOCATED

SVE Predicate Count Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 1 0 0 1 0 SVE predicate count

SVE predicate count

313029282726252423222120191817161514131211109876543210
00100101size100opc10Pgo2PnRd
Decode fields Instruction Details
opc o2
000 0 CNTP
000 1 UNALLOCATED
001 UNALLOCATED
01x UNALLOCATED
1xx UNALLOCATED

SVE Inc/Dec by Predicate Count Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 0 SVE saturating inc/dec vector by predicate count
0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 SVE saturating inc/dec register by predicate count
0 0 1 0 0 1 0 1 1 0 1 1 1 0 0 0 0 SVE inc/dec vector by predicate count
0 0 1 0 0 1 0 1 1 0 1 1 1 0 0 0 1 SVE inc/dec register by predicate count

SVE inc/dec register by predicate count

313029282726252423222120191817161514131211109876543210
00100101size1011opD10001opc2PgRdn
Decode fields Instruction Details
op D opc2
0 01 UNALLOCATED
0 1x UNALLOCATED
0 0 00 INCP (scalar)
0 1 00 DECP (scalar)
1 UNALLOCATED

SVE inc/dec vector by predicate count

313029282726252423222120191817161514131211109876543210
00100101size1011opD10000opc2PgZdn
Decode fields Instruction Details
op D opc2
0 01 UNALLOCATED
0 1x UNALLOCATED
0 0 00 INCP (vector)
0 1 00 DECP (vector)
1 UNALLOCATED

SVE saturating inc/dec register by predicate count

313029282726252423222120191817161514131211109876543210
00100101size1010DU10001sfopPgRdn
Decode fields Instruction Details
D U sf op
1 UNALLOCATED
0 0 0 0 SQINCP (scalar)32-bit
0 0 1 0 SQINCP (scalar)64-bit
0 1 0 0 UQINCP (scalar)32-bit
0 1 1 0 UQINCP (scalar)64-bit
1 0 0 0 SQDECP (scalar)32-bit
1 0 1 0 SQDECP (scalar)64-bit
1 1 0 0 UQDECP (scalar)32-bit
1 1 1 0 UQDECP (scalar)64-bit

SVE saturating inc/dec vector by predicate count

313029282726252423222120191817161514131211109876543210
00100101size1010DU10000opcPgZdn
Decode fields Instruction Details
D U opc
01 UNALLOCATED
1x UNALLOCATED
0 0 00 SQINCP (vector)
0 1 00 UQINCP (vector)
1 0 00 SQDECP (vector)
1 1 00 UQDECP (vector)

SVE Write FFR Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 1 0 1 0 0 1 0 0 1 != 000 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 1 != 00 1 0 0 1 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 0 SVE FFR write from predicate
0 0 1 0 0 1 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 != 00000 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 SVE FFR initialise
0 0 1 0 0 1 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 != 000000000 UNALLOCATED

SVE FFR initialise

313029282726252423222120191817161514131211109876543210
00100101opc1011001001000000000000
Decode fields Instruction Details
opc
00 SETFFR
01 UNALLOCATED
1x UNALLOCATED

SVE FFR write from predicate

313029282726252423222120191817161514131211109876543210
00100101opc1010001001000Pn00000
Decode fields Instruction Details
opc
00 WRFFR
01 UNALLOCATED
1x UNALLOCATED

SVE Integer Compare - Scalars Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 1 0 0 0 SVE integer compare scalar count and limit
0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 0 0 0 SVE conditionally terminate scalars
0 0 1 0 0 1 0 1 1 0 0 1 0 0 0 != 0000 UNALLOCATED
0 0 1 0 0 1 0 1 1 0 0 1 != 000 UNALLOCATED

SVE conditionally terminate scalars

313029282726252423222120191817161514131211109876543210
00100101opsz1Rm001000Rnne0000
Decode fields Instruction Details
op ne
0 UNALLOCATED
1 0 CTERMEQ, CTERMNECTERMEQ
1 1 CTERMEQ, CTERMNECTERMNE

SVE integer compare scalar count and limit

313029282726252423222120191817161514131211109876543210
00100101size1Rm000sfUltRneqPd
Decode fields Instruction Details
U lt eq
0 UNALLOCATED
0 1 0 WHILELT
0 1 1 WHILELE
1 1 0 WHILELO
1 1 1 WHILELS

SVE Integer Wide Immediate - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 0 0 1 0 1 1 0 0 1 1 SVE integer add/subtract immediate (unpredicated)
0 0 1 0 0 1 0 1 1 0 1 1 1 SVE integer min/max immediate (unpredicated)
0 0 1 0 0 1 0 1 1 1 0 1 1 SVE integer multiply immediate (unpredicated)
0 0 1 0 0 1 0 1 1 1 1 0 1 1 SVE broadcast integer immediate (unpredicated)
0 0 1 0 0 1 0 1 1 1 1 1 1 1 SVE broadcast floating-point immediate (unpredicated)

SVE broadcast floating-point immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101size111opc111o2imm8Zd
Decode fields Instruction Details
opc o2
00 0 FDUP
00 1 UNALLOCATED
01 UNALLOCATED
1x UNALLOCATED

SVE broadcast integer immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101size111opc011shimm8Zd
Decode fields Instruction Details
opc
00 DUP (immediate)
01 UNALLOCATED
1x UNALLOCATED

SVE integer add/subtract immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101size100opc11shimm8Zdn
Decode fields Instruction Details
opc
000 ADD (immediate)
001 SUB (immediate)
010 UNALLOCATED
011 SUBR (immediate)
100 SQADD (immediate)
101 UQADD (immediate)
110 SQSUB (immediate)
111 UQSUB (immediate)

SVE integer min/max immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101size101opc11o2imm8Zdn
Decode fields Instruction Details
opc o2
0xx 1 UNALLOCATED
000 0 SMAX (immediate)
001 0 UMAX (immediate)
010 0 SMIN (immediate)
011 0 UMIN (immediate)
1xx UNALLOCATED

SVE integer multiply immediate (unpredicated)

313029282726252423222120191817161514131211109876543210
00100101size110opc11o2imm8Zdn
Decode fields Instruction Details
opc o2
000 0 MUL (immediate)
000 1 UNALLOCATED
001 UNALLOCATED
01x UNALLOCATED
1xx UNALLOCATED

SVE Integer Multiply-Add - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 0 0 0 1 0 0 0 0 0 0 0 0 SVE integer dot product (unpredicated)
0 1 0 0 0 1 0 0 0 0 != 0000 UNALLOCATED

SVE integer dot product (unpredicated)

313029282726252423222120191817161514131211109876543210
01000100size0Zm00000UZnZda
Decode fields Instruction Details
U
0 SDOT (vectors)
1 UDOT (vectors)

SVE Multiply - Indexed Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 0 0 0 1 0 0 1 0 0 0 0 0 SVE integer dot product (indexed)
0 1 0 0 0 1 0 0 1 != 00000 UNALLOCATED

SVE integer dot product (indexed)

313029282726252423222120191817161514131211109876543210
01000100size1opc00000UZnZda
Decode fields Instruction Details
size U
0x UNALLOCATED
10 0 SDOT (indexed)32-bit
10 1 UDOT (indexed)32-bit
11 0 SDOT (indexed)64-bit
11 1 UDOT (indexed)64-bit

SVE Floating Point Complex Addition Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 SVE floating-point complex add (predicated)

SVE floating-point complex add (predicated)

313029282726252423222120191817161514131211109876543210
01100100size00000rot100PgZmZdn
Instruction Details
FCADD

SVE Floating Point Complex Multiply-Add Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 0 0 0 SVE floating-point complex multiply-add (predicated)

SVE floating-point complex multiply-add (predicated)

313029282726252423222120191817161514131211109876543210
01100100size0Zm0rotPgZnZda
Instruction Details
FCMLA (vectors)

SVE Floating Point Multiply-Add - Indexed Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 0 1 0 0 0 0 0 SVE floating-point multiply-add (indexed)

SVE floating-point multiply-add (indexed)

313029282726252423222120191817161514131211109876543210
01100100size1opc00000opZnZda
Decode fields Instruction Details
size op
0x 0 FMLA (indexed)half-precision
0x 1 FMLS (indexed)half-precision
10 0 FMLA (indexed)single-precision
10 1 FMLS (indexed)single-precision
11 0 FMLA (indexed)double-precision
11 1 FMLS (indexed)double-precision

SVE Floating Point Complex Multiply-Add - Indexed Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 0 1 0 0 0 1 SVE floating-point complex multiply-add (indexed)

SVE floating-point complex multiply-add (indexed)

313029282726252423222120191817161514131211109876543210
01100100size1opc0001rotZnZda
Decode fields Instruction Details
size
0x UNALLOCATED
10 FCMLA (indexed)half-precision
11 FCMLA (indexed)single-precision

SVE Floating Point Multiply - Indexed Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 SVE floating-point multiply (indexed)

SVE floating-point multiply (indexed)

313029282726252423222120191817161514131211109876543210
01100100size1opc001000ZnZd
Decode fields Instruction Details
size
0x FMUL (indexed)half-precision
10 FMUL (indexed)single-precision
11 FMUL (indexed)double-precision

SVE Floating Point Fast Reduction Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 0 0 0 0 1 SVE floating-point recursive reduction

SVE floating-point recursive reduction

313029282726252423222120191817161514131211109876543210
01100101size000opc001PgZnVd
Decode fields Instruction Details
opc
000 FADDV
001 UNALLOCATED
01x UNALLOCATED
100 FMAXNMV
101 FMINNMV
110 FMAXV
111 FMINV

SVE Floating Point Unary Operations - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 0 0 SVE floating-point reciprocal estimate (unpredicated)
0 1 1 0 0 1 0 1 0 0 1 0 0 1 1 != 00 UNALLOCATED

SVE floating-point reciprocal estimate (unpredicated)

313029282726252423222120191817161514131211109876543210
01100101size001opc001100ZnZd
Decode fields Instruction Details
opc
0xx UNALLOCATED
10x UNALLOCATED
110 FRECPE
111 FRSQRTE

SVE Floating Point Compare - with Zero Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 1 0 0 0 0 1 SVE floating-point compare with zero
0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 UNALLOCATED

SVE floating-point compare with zero

313029282726252423222120191817161514131211109876543210
01100101size0100eqlt001PgZnnePd
Decode fields Instruction Details
eq lt ne
0 0 0 FCM<cc> (zero)FCMGE
0 0 1 FCM<cc> (zero)FCMGT
0 1 0 FCM<cc> (zero)FCMLT
0 1 1 FCM<cc> (zero)FCMLE
1 1 UNALLOCATED
1 0 0 FCM<cc> (zero)FCMEQ
1 1 0 FCM<cc> (zero)FCMNE

SVE Floating Point Accumulating Reduction Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 1 1 0 0 1 SVE floating-point serial reduction (predicated)

SVE floating-point serial reduction (predicated)

313029282726252423222120191817161514131211109876543210
01100101size011opc001PgZmVdn
Decode fields Instruction Details
opc
000 FADDA
001 UNALLOCATED
01x UNALLOCATED
1xx UNALLOCATED

SVE Floating Point Arithmetic - Unpredicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 0 0 0 SVE floating-point arithmetic (unpredicated)

SVE floating-point arithmetic (unpredicated)

313029282726252423222120191817161514131211109876543210
01100101size0Zm000opcZnZd
Decode fields Instruction Details
opc
000 FADD (vectors, unpredicated)
001 FSUB (vectors, unpredicated)
010 FMUL (vectors, unpredicated)
011 FTSMUL
10x UNALLOCATED
110 FRECPS
111 FRSQRTS

SVE Floating Point Arithmetic - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 0 1 0 0 SVE floating-point arithmetic (predicated)
0 1 1 0 0 1 0 1 0 1 0 1 0 0 0 0 0 SVE floating-point trig multiply-add coefficient
0 1 1 0 0 1 0 1 0 1 0 1 0 0 != 000 UNALLOCATED
0 1 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 SVE floating-point arithmetic with immediate (predicated)
0 1 1 0 0 1 0 1 0 1 1 1 0 0 != 0000 UNALLOCATED

SVE floating-point arithmetic (predicated)

313029282726252423222120191817161514131211109876543210
01100101size00opc100PgZmZdn
Decode fields Instruction Details
opc
0000 FADD (vectors, predicated)
0001 FSUB (vectors, predicated)
0010 FMUL (vectors, predicated)
0011 FSUBR (vectors)
0100 FMAXNM (vectors)
0101 FMINNM (vectors)
0110 FMAX (vectors)
0111 FMIN (vectors)
1000 FABD
1001 FSCALE
1010 FMULX
1011 UNALLOCATED
1100 FDIVR
1101 FDIV
111x UNALLOCATED

SVE floating-point arithmetic with immediate (predicated)

313029282726252423222120191817161514131211109876543210
01100101size011opc100Pg0000i1Zdn
Decode fields Instruction Details
opc
000 FADD (immediate)
001 FSUB (immediate)
010 FMUL (immediate)
011 FSUBR (immediate)
100 FMAXNM (immediate)
101 FMINNM (immediate)
110 FMAX (immediate)
111 FMIN (immediate)

SVE floating-point trig multiply-add coefficient

313029282726252423222120191817161514131211109876543210
01100101size010imm3100000ZmZdn
Instruction Details
FTMAD

SVE Floating Point Unary Operations - Predicated Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 0 0 1 0 1 SVE floating-point round to integral value
0 1 1 0 0 1 0 1 0 0 1 0 1 0 1 SVE floating-point convert precision
0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 SVE floating-point unary operations
0 1 1 0 0 1 0 1 0 1 0 1 0 1 SVE integer convert to floating-point
0 1 1 0 0 1 0 1 0 1 1 1 0 1 SVE floating-point convert to integer

SVE floating-point convert precision

313029282726252423222120191817161514131211109876543210
01100101opc0010opc2101PgZnZd
Decode fields Instruction Details
opc opc2
0x UNALLOCATED
10 00 FCVTsingle-precision to half-precision
10 01 FCVThalf-precision to single-precision
10 1x UNALLOCATED
11 00 FCVTdouble-precision to half-precision
11 01 FCVThalf-precision to double-precision
11 10 FCVTdouble-precision to single-precision
11 11 FCVTsingle-precision to double-precision

SVE floating-point convert to integer

313029282726252423222120191817161514131211109876543210
01100101opc011opc2U101PgZnZd
Decode fields Instruction Details
opc opc2 U
00 UNALLOCATED
01 00 UNALLOCATED
01 01 0 FCVTZShalf-precision to 16-bit
01 01 1 FCVTZUhalf-precision to 16-bit
01 10 0 FCVTZShalf-precision to 32-bit
01 10 1 FCVTZUhalf-precision to 32-bit
01 11 0 FCVTZShalf-precision to 64-bit
01 11 1 FCVTZUhalf-precision to 64-bit
10 0x UNALLOCATED
10 10 0 FCVTZSsingle-precision to 32-bit
10 10 1 FCVTZUsingle-precision to 32-bit
10 11 UNALLOCATED
11 00 0 FCVTZSdouble-precision to 32-bit
11 00 1 FCVTZUdouble-precision to 32-bit
11 01 UNALLOCATED
11 10 0 FCVTZSsingle-precision to 64-bit
11 10 1 FCVTZUsingle-precision to 64-bit
11 11 0 FCVTZSdouble-precision to 64-bit
11 11 1 FCVTZUdouble-precision to 64-bit

SVE floating-point round to integral value

313029282726252423222120191817161514131211109876543210
01100101size000opc101PgZnZd
Decode fields Instruction Details
opc
000 FRINT<r>nearest with ties to even
001 FRINT<r>toward plus infinity
010 FRINT<r>toward minus infinity
011 FRINT<r>toward zero
100 FRINT<r>nearest with ties to away
101 UNALLOCATED
110 FRINT<r>current mode signalling inexact
111 FRINT<r>current mode

SVE floating-point unary operations

313029282726252423222120191817161514131211109876543210
01100101size0011opc101PgZnZd
Decode fields Instruction Details
opc
00 FRECPX
01 FSQRT
1x UNALLOCATED

SVE integer convert to floating-point

313029282726252423222120191817161514131211109876543210
01100101opc010opc2U101PgZnZd
Decode fields Instruction Details
opc opc2 U
00 UNALLOCATED
01 00 UNALLOCATED
01 01 0 SCVTF16-bit to half-precision
01 01 1 UCVTF16-bit to half-precision
01 10 0 SCVTF32-bit to half-precision
01 10 1 UCVTF32-bit to half-precision
01 11 0 SCVTF64-bit to half-precision
01 11 1 UCVTF64-bit to half-precision
10 0x UNALLOCATED
10 10 0 SCVTF32-bit to single-precision
10 10 1 UCVTF32-bit to single-precision
10 11 UNALLOCATED
11 00 0 SCVTF32-bit to double-precision
11 00 1 UCVTF32-bit to double-precision
11 01 UNALLOCATED
11 10 0 SCVTF64-bit to single-precision
11 10 1 UCVTF64-bit to single-precision
11 11 0 SCVTF64-bit to double-precision
11 11 1 UCVTF64-bit to double-precision

SVE Floating Point Compare - Vectors Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 0 1 SVE floating-point compare vectors

SVE floating-point compare vectors

313029282726252423222120191817161514131211109876543210
01100101size0Zmop1o2PgZno3Pd
Decode fields Instruction Details
op o2 o3
0 0 0 FCM<cc> (vectors)FCMGE
0 0 1 FCM<cc> (vectors)FCMGT
0 1 0 FCM<cc> (vectors)FCMEQ
0 1 1 FCM<cc> (vectors)FCMNE
1 0 0 FCM<cc> (vectors)FCMUO
1 0 1 FAC<cc>FACGE
1 1 0 UNALLOCATED
1 1 1 FAC<cc>FACGT

SVE Floating Point Multiply-Add Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 1 0 1 1 0 SVE floating-point multiply-accumulate writing addend
0 1 1 0 0 1 0 1 1 1 SVE floating-point multiply-accumulate writing multiplicand

SVE floating-point multiply-accumulate writing addend

313029282726252423222120191817161514131211109876543210
01100101size1Zm0opcPgZnZda
Decode fields Instruction Details
opc
00 FMLA (vectors)
01 FMLS (vectors)
10 FNMLA
11 FNMLS

SVE floating-point multiply-accumulate writing multiplicand

313029282726252423222120191817161514131211109876543210
01100101size1Za1opcPgZmZdn
Decode fields Instruction Details
opc
00 FMAD
01 FMSB
10 FNMAD
11 FNMSB

SVE Memory - 32-bit Gather and Unsized Contiguous Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 0 0 0 1 0 0 0 SVE 32-bit gather load (scalar plus 32-bit unscaled offsets)
1 0 0 0 0 1 0 0 0 1 0 UNALLOCATED
1 0 0 0 0 1 0 0 0 1 1 1 UNALLOCATED
1 0 0 0 0 1 0 0 0 1 1 0 0 SVE contiguous prefetch (scalar plus scalar)
1 0 0 0 0 1 0 0 0 1 1 1 0 SVE 32-bit gather prefetch (vector plus immediate)
1 0 0 0 0 1 0 0 1 1 SVE 32-bit gather load (vector plus immediate)
1 0 0 0 0 1 0 1 1 SVE load and broadcast element
1 0 0 0 0 1 0 0 0 1 0 0 SVE 32-bit gather prefetch (scalar plus 32-bit scaled offsets)
1 0 0 0 0 1 0 0 0 1 0 1 UNALLOCATED
1 0 0 0 0 1 0 0 1 1 0 SVE 32-bit gather load halfwords (scalar plus 32-bit scaled offsets)
1 0 0 0 0 1 0 1 0 1 0 SVE 32-bit gather load words (scalar plus 32-bit scaled offsets)
1 0 0 0 0 1 0 1 1 0 0 0 0 0 SVE load predicate register
1 0 0 0 0 1 0 1 1 0 0 1 0 SVE load vector register
1 0 0 0 0 1 0 1 1 0 1 0 1 UNALLOCATED
1 0 0 0 0 1 0 1 1 0 1 0 0 0 1 UNALLOCATED
1 0 0 0 0 1 0 1 1 1 0 0 SVE contiguous prefetch (scalar plus immediate)
1 0 0 0 0 1 0 1 1 1 1 0 1 UNALLOCATED

SVE 32-bit gather load (scalar plus 32-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1000010mszxs0Zm0UffPgRnZt
Decode fields Instruction Details
msz xs U ff Zt
00 0 0 LD1SB (scalar plus vector)
00 0 1 LDFF1SB (scalar plus vector)
00 1 0 LD1B (scalar plus vector)
00 1 1 LDFF1B (scalar plus vector)
01 0 0 LD1SH (scalar plus vector)
01 0 1 LDFF1SH (scalar plus vector)
01 1 0 LD1H (scalar plus vector)
01 1 1 LDFF1H (scalar plus vector)
10 0 UNALLOCATED
10 1 0 LD1W (scalar plus vector)
10 1 1 LDFF1W (scalar plus vector)
11 0 1 UNALLOCATED
11 0 0 0 1xxxx UNALLOCATED
11 1 1xxxx UNALLOCATED

SVE 32-bit gather load (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1000010msz01imm51UffPgZnZt
Decode fields Instruction Details
msz U ff
00 0 0 LD1SB (vector plus immediate)
00 0 1 LDFF1SB (vector plus immediate)
00 1 0 LD1B (vector plus immediate)
00 1 1 LDFF1B (vector plus immediate)
01 0 0 LD1SH (vector plus immediate)
01 0 1 LDFF1SH (vector plus immediate)
01 1 0 LD1H (vector plus immediate)
01 1 1 LDFF1H (vector plus immediate)
10 0 UNALLOCATED
10 1 0 LD1W (vector plus immediate)
10 1 1 LDFF1W (vector plus immediate)
11 UNALLOCATED

SVE 32-bit gather load halfwords (scalar plus 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
100001001xs1Zm0UffPgRnZt
Decode fields Instruction Details
U ff
0 0 LD1SH (scalar plus vector)
0 1 LDFF1SH (scalar plus vector)
1 0 LD1H (scalar plus vector)
1 1 LDFF1H (scalar plus vector)

SVE 32-bit gather load words (scalar plus 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
100001010xs1Zm0UffPgRnZt
Decode fields Instruction Details
U ff
0 UNALLOCATED
1 0 LD1W (scalar plus vector)
1 1 LDFF1W (scalar plus vector)

SVE 32-bit gather prefetch (scalar plus 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
100001000xs1Zm0mszPgRn0prfop
Decode fields Instruction Details
msz
00 PRFB (scalar plus vector)
01 PRFH (scalar plus vector)
10 PRFW (scalar plus vector)
11 PRFD (scalar plus vector)

SVE 32-bit gather prefetch (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1000010msz00imm5111PgZn0prfop
Decode fields Instruction Details
msz
00 PRFB (vector plus immediate)
01 PRFH (vector plus immediate)
10 PRFW (vector plus immediate)
11 PRFD (vector plus immediate)

SVE contiguous prefetch (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1000010111imm60mszPgRn0prfop
Decode fields Instruction Details
msz
00 PRFB (scalar plus immediate)
01 PRFH (scalar plus immediate)
10 PRFW (scalar plus immediate)
11 PRFD (scalar plus immediate)

SVE contiguous prefetch (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1000010msz00Rm110PgRn0prfop
Decode fields Instruction Details
msz
00 PRFB (scalar plus scalar)
01 PRFH (scalar plus scalar)
10 PRFW (scalar plus scalar)
11 PRFD (scalar plus scalar)

SVE load and broadcast element

313029282726252423222120191817161514131211109876543210
1000010dtypeh1imm61dtypelPgRnZt
Decode fields Instruction Details
dtypeh dtypel
00 00 LD1RB8-bit element
00 01 LD1RB16-bit element
00 10 LD1RB32-bit element
00 11 LD1RB64-bit element
01 00 LD1RSW
01 01 LD1RH16-bit element
01 10 LD1RH32-bit element
01 11 LD1RH64-bit element
10 00 LD1RSH64-bit element
10 01 LD1RSH32-bit element
10 10 LD1RW32-bit element
10 11 LD1RW64-bit element
11 00 LD1RSB64-bit element
11 01 LD1RSB32-bit element
11 10 LD1RSB16-bit element
11 11 LD1RD

SVE load predicate register

313029282726252423222120191817161514131211109876543210
1000010110imm9h000imm9lRn0Pt
Instruction Details
LDR (predicate)

SVE load vector register

313029282726252423222120191817161514131211109876543210
1000010110imm9h010imm9lRnZt
Instruction Details
LDR (vector)

SVE Memory - Contiguous Load Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 0 0 1 0 0 0 0 SVE load and broadcast quadword (scalar plus scalar)
1 0 1 0 0 1 0 0 1 0 SVE contiguous load (scalar plus scalar)
1 0 1 0 0 1 0 0 1 1 SVE contiguous first-fault load (scalar plus scalar)
1 0 1 0 0 1 0 1 0 0 UNALLOCATED
1 0 1 0 0 1 0 1 1 0 SVE load multiple structures (scalar plus scalar)
1 0 1 0 0 1 0 0 0 0 1 SVE load and broadcast quadword (scalar plus immediate)
1 0 1 0 0 1 0 0 1 0 1 SVE contiguous load (scalar plus immediate)
1 0 1 0 0 1 0 0 1 1 1 SVE load multiple structures (scalar plus immediate)
1 0 1 0 0 1 0 1 0 0 1 UNALLOCATED
1 0 1 0 0 1 0 1 1 0 1 SVE contiguous non-fault load (scalar plus immediate)
1 0 1 0 0 1 0 1 1 1 1 UNALLOCATED
1 0 1 0 0 1 0 0 0 1 1 0 SVE contiguous non-temporal load (scalar plus scalar)
1 0 1 0 0 1 0 0 0 0 1 1 1 SVE contiguous non-temporal load (scalar plus immediate)

SVE contiguous first-fault load (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1010010dtypeRm011PgRnZt
Decode fields Instruction Details
dtype
0000 LDFF1B (scalar plus scalar)8-bit element
0001 LDFF1B (scalar plus scalar)16-bit element
0010 LDFF1B (scalar plus scalar)32-bit element
0011 LDFF1B (scalar plus scalar)64-bit element
0100 LDFF1SW (scalar plus scalar)
0101 LDFF1H (scalar plus scalar)16-bit element
0110 LDFF1H (scalar plus scalar)32-bit element
0111 LDFF1H (scalar plus scalar)64-bit element
1000 LDFF1SH (scalar plus scalar)64-bit element
1001 LDFF1SH (scalar plus scalar)32-bit element
1010 LDFF1W (scalar plus scalar)32-bit element
1011 LDFF1W (scalar plus scalar)64-bit element
1100 LDFF1SB (scalar plus scalar)64-bit element
1101 LDFF1SB (scalar plus scalar)32-bit element
1110 LDFF1SB (scalar plus scalar)16-bit element
1111 LDFF1D (scalar plus scalar)

SVE contiguous load (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1010010dtype0imm4101PgRnZt
Decode fields Instruction Details
dtype
0000 LD1B (scalar plus immediate)8-bit element
0001 LD1B (scalar plus immediate)16-bit element
0010 LD1B (scalar plus immediate)32-bit element
0011 LD1B (scalar plus immediate)64-bit element
0100 LD1SW (scalar plus immediate)
0101 LD1H (scalar plus immediate)16-bit element
0110 LD1H (scalar plus immediate)32-bit element
0111 LD1H (scalar plus immediate)64-bit element
1000 LD1SH (scalar plus immediate)64-bit element
1001 LD1SH (scalar plus immediate)32-bit element
1010 LD1W (scalar plus immediate)32-bit element
1011 LD1W (scalar plus immediate)64-bit element
1100 LD1SB (scalar plus immediate)64-bit element
1101 LD1SB (scalar plus immediate)32-bit element
1110 LD1SB (scalar plus immediate)16-bit element
1111 LD1D (scalar plus immediate)

SVE contiguous load (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1010010dtypeRm010PgRnZt
Decode fields Instruction Details
dtype
0000 LD1B (scalar plus scalar)8-bit element
0001 LD1B (scalar plus scalar)16-bit element
0010 LD1B (scalar plus scalar)32-bit element
0011 LD1B (scalar plus scalar)64-bit element
0100 LD1SW (scalar plus scalar)
0101 LD1H (scalar plus scalar)16-bit element
0110 LD1H (scalar plus scalar)32-bit element
0111 LD1H (scalar plus scalar)64-bit element
1000 LD1SH (scalar plus scalar)64-bit element
1001 LD1SH (scalar plus scalar)32-bit element
1010 LD1W (scalar plus scalar)32-bit element
1011 LD1W (scalar plus scalar)64-bit element
1100 LD1SB (scalar plus scalar)64-bit element
1101 LD1SB (scalar plus scalar)32-bit element
1110 LD1SB (scalar plus scalar)16-bit element
1111 LD1D (scalar plus scalar)

SVE contiguous non-fault load (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1010010dtype1imm4101PgRnZt
Decode fields Instruction Details
dtype
0000 LDNF1B8-bit element
0001 LDNF1B16-bit element
0010 LDNF1B32-bit element
0011 LDNF1B64-bit element
0100 LDNF1SW
0101 LDNF1H16-bit element
0110 LDNF1H32-bit element
0111 LDNF1H64-bit element
1000 LDNF1SH64-bit element
1001 LDNF1SH32-bit element
1010 LDNF1W32-bit element
1011 LDNF1W64-bit element
1100 LDNF1SB64-bit element
1101 LDNF1SB32-bit element
1110 LDNF1SB16-bit element
1111 LDNF1D

SVE contiguous non-temporal load (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1010010msz000imm4111PgRnZt
Decode fields Instruction Details
msz
00 LDNT1B (scalar plus immediate)
01 LDNT1H (scalar plus immediate)
10 LDNT1W (scalar plus immediate)
11 LDNT1D (scalar plus immediate)

SVE contiguous non-temporal load (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1010010msz00Rm110PgRnZt
Decode fields Instruction Details
msz
00 LDNT1B (scalar plus scalar)
01 LDNT1H (scalar plus scalar)
10 LDNT1W (scalar plus scalar)
11 LDNT1D (scalar plus scalar)

SVE load and broadcast quadword (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1010010msznum0imm4001PgRnZt
Decode fields Instruction Details
msz num
01 UNALLOCATED
1x UNALLOCATED
00 00 LD1RQB (scalar plus immediate)
01 00 LD1RQH (scalar plus immediate)
10 00 LD1RQW (scalar plus immediate)
11 00 LD1RQD (scalar plus immediate)

SVE load and broadcast quadword (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1010010msznumRm000PgRnZt
Decode fields Instruction Details
msz num
01 UNALLOCATED
1x UNALLOCATED
00 00 LD1RQB (scalar plus scalar)
01 00 LD1RQH (scalar plus scalar)
10 00 LD1RQW (scalar plus scalar)
11 00 LD1RQD (scalar plus scalar)

SVE load multiple structures (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1010010msznum0imm4111PgRnZt
Decode fields Instruction Details
msz num
00 01 LD2B (scalar plus immediate)
00 10 LD3B (scalar plus immediate)
00 11 LD4B (scalar plus immediate)
01 01 LD2H (scalar plus immediate)
01 10 LD3H (scalar plus immediate)
01 11 LD4H (scalar plus immediate)
10 01 LD2W (scalar plus immediate)
10 10 LD3W (scalar plus immediate)
10 11 LD4W (scalar plus immediate)
11 01 LD2D (scalar plus immediate)
11 10 LD3D (scalar plus immediate)
11 11 LD4D (scalar plus immediate)

SVE load multiple structures (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1010010msznumRm110PgRnZt
Decode fields Instruction Details
msz num
00 01 LD2B (scalar plus scalar)
00 10 LD3B (scalar plus scalar)
00 11 LD4B (scalar plus scalar)
01 01 LD2H (scalar plus scalar)
01 10 LD3H (scalar plus scalar)
01 11 LD4H (scalar plus scalar)
10 01 LD2W (scalar plus scalar)
10 10 LD3W (scalar plus scalar)
10 11 LD4W (scalar plus scalar)
11 01 LD2D (scalar plus scalar)
11 10 LD3D (scalar plus scalar)
11 11 LD4D (scalar plus scalar)

SVE Memory - 64-bit Gather Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 0 0 0 1 0 0 0 SVE 64-bit gather load (scalar plus unpacked 32-bit unscaled offsets)
1 1 0 0 0 1 0 1 0 SVE 64-bit gather load (scalar plus 32-bit unpacked scaled offsets)
1 1 0 0 0 1 0 0 0 1 0 UNALLOCATED
1 1 0 0 0 1 0 0 0 1 1 0 UNALLOCATED
1 1 0 0 0 1 0 0 0 1 1 1 0 SVE 64-bit gather prefetch (vector plus immediate)
1 1 0 0 0 1 0 0 0 1 1 1 1 UNALLOCATED
1 1 0 0 0 1 0 0 1 1 SVE 64-bit gather load (vector plus immediate)
1 1 0 0 0 1 0 1 0 1 SVE 64-bit gather load (scalar plus 64-bit unscaled offsets)
1 1 0 0 0 1 0 1 1 1 SVE 64-bit gather load (scalar plus 64-bit scaled offsets)
1 1 0 0 0 1 0 0 0 1 0 0 SVE 64-bit gather prefetch (scalar plus unpacked 32-bit scaled offsets)
1 1 0 0 0 1 0 0 0 1 1 1 0 SVE 64-bit gather prefetch (scalar plus 64-bit scaled offsets)

SVE 64-bit gather load (scalar plus 32-bit unpacked scaled offsets)

313029282726252423222120191817161514131211109876543210
1100010mszxs1Zm0UffPgRnZt
Decode fields Instruction Details
msz U ff Zt
00 1xxxx UNALLOCATED
01 0 0 LD1SH (scalar plus vector)
01 0 1 LDFF1SH (scalar plus vector)
01 1 0 LD1H (scalar plus vector)
01 1 1 LDFF1H (scalar plus vector)
10 0 0 LD1SW (scalar plus vector)
10 0 1 LDFF1SW (scalar plus vector)
10 1 0 LD1W (scalar plus vector)
10 1 1 LDFF1W (scalar plus vector)
11 0 UNALLOCATED
11 1 0 LD1D (scalar plus vector)
11 1 1 LDFF1D (scalar plus vector)

SVE 64-bit gather load (scalar plus 64-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
1100010msz11Zm1UffPgRnZt
Decode fields Instruction Details
msz U ff Zt
00 1xxxx UNALLOCATED
01 0 0 LD1SH (scalar plus vector)
01 0 1 LDFF1SH (scalar plus vector)
01 1 0 LD1H (scalar plus vector)
01 1 1 LDFF1H (scalar plus vector)
10 0 0 LD1SW (scalar plus vector)
10 0 1 LDFF1SW (scalar plus vector)
10 1 0 LD1W (scalar plus vector)
10 1 1 LDFF1W (scalar plus vector)
11 0 UNALLOCATED
11 1 0 LD1D (scalar plus vector)
11 1 1 LDFF1D (scalar plus vector)

SVE 64-bit gather load (scalar plus 64-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1100010msz10Zm1UffPgRnZt
Decode fields Instruction Details
msz U ff
00 0 0 LD1SB (scalar plus vector)
00 0 1 LDFF1SB (scalar plus vector)
00 1 0 LD1B (scalar plus vector)
00 1 1 LDFF1B (scalar plus vector)
01 0 0 LD1SH (scalar plus vector)
01 0 1 LDFF1SH (scalar plus vector)
01 1 0 LD1H (scalar plus vector)
01 1 1 LDFF1H (scalar plus vector)
10 0 0 LD1SW (scalar plus vector)
10 0 1 LDFF1SW (scalar plus vector)
10 1 0 LD1W (scalar plus vector)
10 1 1 LDFF1W (scalar plus vector)
11 0 UNALLOCATED
11 1 0 LD1D (scalar plus vector)
11 1 1 LDFF1D (scalar plus vector)

SVE 64-bit gather load (scalar plus unpacked 32-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1100010mszxs0Zm0UffPgRnZt
Decode fields Instruction Details
msz U ff
00 0 0 LD1SB (scalar plus vector)
00 0 1 LDFF1SB (scalar plus vector)
00 1 0 LD1B (scalar plus vector)
00 1 1 LDFF1B (scalar plus vector)
01 0 0 LD1SH (scalar plus vector)
01 0 1 LDFF1SH (scalar plus vector)
01 1 0 LD1H (scalar plus vector)
01 1 1 LDFF1H (scalar plus vector)
10 0 0 LD1SW (scalar plus vector)
10 0 1 LDFF1SW (scalar plus vector)
10 1 0 LD1W (scalar plus vector)
10 1 1 LDFF1W (scalar plus vector)
11 0 UNALLOCATED
11 1 0 LD1D (scalar plus vector)
11 1 1 LDFF1D (scalar plus vector)

SVE 64-bit gather load (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1100010msz01imm51UffPgZnZt
Decode fields Instruction Details
msz U ff
00 0 0 LD1SB (vector plus immediate)
00 0 1 LDFF1SB (vector plus immediate)
00 1 0 LD1B (vector plus immediate)
00 1 1 LDFF1B (vector plus immediate)
01 0 0 LD1SH (vector plus immediate)
01 0 1 LDFF1SH (vector plus immediate)
01 1 0 LD1H (vector plus immediate)
01 1 1 LDFF1H (vector plus immediate)
10 0 0 LD1SW (vector plus immediate)
10 0 1 LDFF1SW (vector plus immediate)
10 1 0 LD1W (vector plus immediate)
10 1 1 LDFF1W (vector plus immediate)
11 0 UNALLOCATED
11 1 0 LD1D (vector plus immediate)
11 1 1 LDFF1D (vector plus immediate)

SVE 64-bit gather prefetch (scalar plus 64-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
11000100011Zm1mszPgRn0prfop
Decode fields Instruction Details
msz
00 PRFB (scalar plus vector)
01 PRFH (scalar plus vector)
10 PRFW (scalar plus vector)
11 PRFD (scalar plus vector)

SVE 64-bit gather prefetch (scalar plus unpacked 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
110001000xs1Zm0mszPgRn0prfop
Decode fields Instruction Details
msz
00 PRFB (scalar plus vector)
01 PRFH (scalar plus vector)
10 PRFW (scalar plus vector)
11 PRFD (scalar plus vector)

SVE 64-bit gather prefetch (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1100010msz00imm5111PgZn0prfop
Decode fields Instruction Details
msz
00 PRFB (vector plus immediate)
01 PRFH (vector plus immediate)
10 PRFW (vector plus immediate)
11 PRFD (vector plus immediate)

SVE Memory - Store Group

Instruction bits Instruction class
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 1 1 0 0 1 0 0 1 0 SVE contiguous store (scalar plus scalar)
1 1 1 0 0 1 0 0 1 1 SVE store multiple structures (scalar plus scalar)
1 1 1 0 0 1 0 0 1 1 1 SVE contiguous store (scalar plus immediate)
1 1 1 0 0 1 0 1 1 1 1 SVE store multiple structures (scalar plus immediate)
1 1 1 0 0 1 0 0 0 0 1 1 SVE contiguous non-temporal store (scalar plus scalar)
1 1 1 0 0 1 0 0 0 1 0 SVE 64-bit scatter store (scalar plus unpacked 32-bit unscaled offsets)
1 1 1 0 0 1 0 0 0 1 0 1 SVE 64-bit scatter store (scalar plus 64-bit unscaled offsets)
1 1 1 0 0 1 0 0 0 1 1 1 1 SVE contiguous non-temporal store (scalar plus immediate)
1 1 1 0 0 1 0 0 1 1 0 SVE 64-bit scatter store (scalar plus unpacked 32-bit scaled offsets)
1 1 1 0 0 1 0 0 1 1 0 1 SVE 64-bit scatter store (scalar plus 64-bit scaled offsets)
1 1 1 0 0 1 0 1 0 1 0 SVE 32-bit scatter store (scalar plus 32-bit unscaled offsets)
1 1 1 0 0 1 0 1 0 1 0 1 SVE 64-bit scatter store (vector plus immediate)
1 1 1 0 0 1 0 1 1 1 0 SVE 32-bit scatter store (scalar plus 32-bit scaled offsets)
1 1 1 0 0 1 0 1 1 1 0 1 SVE 32-bit scatter store (vector plus immediate)
1 1 1 0 0 1 0 0 0 0 UNALLOCATED
1 1 1 0 0 1 0 1 0 0 0 UNALLOCATED
1 1 1 0 0 1 0 1 1 0 0 0 0 0 SVE store predicate register
1 1 1 0 0 1 0 1 1 0 0 0 0 1 UNALLOCATED
1 1 1 0 0 1 0 1 1 0 0 0 1 UNALLOCATED
1 1 1 0 0 1 0 1 1 0 0 1 0 SVE store vector register
1 1 1 0 0 1 0 1 1 1 0 0 UNALLOCATED

SVE 32-bit scatter store (scalar plus 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz11Zm1xs0PgRnZt
Decode fields Instruction Details
msz
00 UNALLOCATED
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 UNALLOCATED

SVE 32-bit scatter store (scalar plus 32-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz10Zm1xs0PgRnZt
Decode fields Instruction Details
msz
00 ST1B (scalar plus vector)
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 UNALLOCATED

SVE 32-bit scatter store (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1110010msz11imm5101PgZnZt
Decode fields Instruction Details
msz
00 ST1B (vector plus immediate)
01 ST1H (vector plus immediate)
10 ST1W (vector plus immediate)
11 UNALLOCATED

SVE 64-bit scatter store (scalar plus 64-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz01Zm101PgRnZt
Decode fields Instruction Details
msz
00 UNALLOCATED
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 ST1D (scalar plus vector)

SVE 64-bit scatter store (scalar plus 64-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz00Zm101PgRnZt
Decode fields Instruction Details
msz
00 ST1B (scalar plus vector)
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 ST1D (scalar plus vector)

SVE 64-bit scatter store (scalar plus unpacked 32-bit scaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz01Zm1xs0PgRnZt
Decode fields Instruction Details
msz
00 UNALLOCATED
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 ST1D (scalar plus vector)

SVE 64-bit scatter store (scalar plus unpacked 32-bit unscaled offsets)

313029282726252423222120191817161514131211109876543210
1110010msz00Zm1xs0PgRnZt
Decode fields Instruction Details
msz
00 ST1B (scalar plus vector)
01 ST1H (scalar plus vector)
10 ST1W (scalar plus vector)
11 ST1D (scalar plus vector)

SVE 64-bit scatter store (vector plus immediate)

313029282726252423222120191817161514131211109876543210
1110010msz10imm5101PgZnZt
Decode fields Instruction Details
msz
00 ST1B (vector plus immediate)
01 ST1H (vector plus immediate)
10 ST1W (vector plus immediate)
11 ST1D (vector plus immediate)

SVE contiguous non-temporal store (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1110010msz001imm4111PgRnZt
Decode fields Instruction Details
msz
00 STNT1B (scalar plus immediate)
01 STNT1H (scalar plus immediate)
10 STNT1W (scalar plus immediate)
11 STNT1D (scalar plus immediate)

SVE contiguous non-temporal store (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1110010msz00Rm011PgRnZt
Decode fields Instruction Details
msz
00 STNT1B (scalar plus scalar)
01 STNT1H (scalar plus scalar)
10 STNT1W (scalar plus scalar)
11 STNT1D (scalar plus scalar)

SVE contiguous store (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1110010mszsize0imm4111PgRnZt
Decode fields Instruction Details
msz
00 ST1B (scalar plus immediate)
01 ST1H (scalar plus immediate)
10 ST1W (scalar plus immediate)
11 ST1D (scalar plus immediate)

SVE contiguous store (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1110010mszsizeRm010PgRnZt
Decode fields Instruction Details
msz
00 ST1B (scalar plus scalar)
01 ST1H (scalar plus scalar)
10 ST1W (scalar plus scalar)
11 ST1D (scalar plus scalar)

SVE store multiple structures (scalar plus immediate)

313029282726252423222120191817161514131211109876543210
1110010msznum1imm4111PgRnZt
Decode fields Instruction Details
msz num
00 01 ST2B (scalar plus immediate)
00 10 ST3B (scalar plus immediate)
00 11 ST4B (scalar plus immediate)
01 01 ST2H (scalar plus immediate)
01 10 ST3H (scalar plus immediate)
01 11 ST4H (scalar plus immediate)
10 01 ST2W (scalar plus immediate)
10 10 ST3W (scalar plus immediate)
10 11 ST4W (scalar plus immediate)
11 01 ST2D (scalar plus immediate)
11 10 ST3D (scalar plus immediate)
11 11 ST4D (scalar plus immediate)

SVE store multiple structures (scalar plus scalar)

313029282726252423222120191817161514131211109876543210
1110010msznumRm011PgRnZt
Decode fields Instruction Details
msz num
00 01 ST2B (scalar plus scalar)
00 10 ST3B (scalar plus scalar)
00 11 ST4B (scalar plus scalar)
01 01 ST2H (scalar plus scalar)
01 10 ST3H (scalar plus scalar)
01 11 ST4H (scalar plus scalar)
10 01 ST2W (scalar plus scalar)
10 10 ST3W (scalar plus scalar)
10 11 ST4W (scalar plus scalar)
11 01 ST2D (scalar plus scalar)
11 10 ST3D (scalar plus scalar)
11 11 ST4D (scalar plus scalar)

SVE store predicate register

313029282726252423222120191817161514131211109876543210
1110010110imm9h000imm9lRn0Pt
Instruction Details
STR (predicate)

SVE store vector register

313029282726252423222120191817161514131211109876543210
1110010110imm9h010imm9lRnZt
Instruction Details
STR (vector)

Release: 00rel5-manual

Copyright © 2010-2018 ARM Limited or its affiliates. All rights reserved. This document is Non-Confidential.