ARM64 Instruction Set Reference

This document provides a reference for the AArch64 instruction set architecture.

Table of Contents

Data Processing

Instruction Description
ADCSBC Data Processing instruction
ADDSUBG Data Processing instruction
ADDSUB_EXT Data Processing instruction
ADDSUB_IMM Data Processing instruction
ADDSUB_SCALAR Data Processing instruction
ADDSUB_SHIFT Data Processing instruction
ADR Data Processing instruction
ANDOREOR_IMM Data Processing instruction
ANDOREOR_SHIFT Data Processing instruction
ARITH1_SCALAR Data Processing instruction
AUT Data Processing instruction
CAS Data Processing instruction
CASP Data Processing instruction
CCMP_IMM Data Processing instruction
CCMP_REG Data Processing instruction
CLREX Data Processing instruction
CLZ Data Processing instruction
CMEQ_SCALAR Data Processing instruction
CMGT_SCALAR Data Processing instruction
CMZERO_SCALAR Data Processing instruction
CPY Data Processing instruction
CRC32 Data Processing instruction
CSEL Data Processing instruction
DCPS Data Processing instruction
DIV Data Processing instruction
DOT_ELEM Data Processing instruction
DRPS Data Processing instruction
DSB Data Processing instruction
DUP_SCALAR Data Processing instruction
ERET Data Processing instruction
EXTR Data Processing instruction
HINT Data Processing instruction
HLT Data Processing instruction
INS Data Processing instruction
INTHORZSCALAR Data Processing instruction
LS64 Data Processing instruction
LS64V Data Processing instruction
MINMAX_IMM Data Processing instruction
MINMAX_REG Data Processing instruction
MOV Data Processing instruction
MOV_TOGP Data Processing instruction
MUL Data Processing instruction
MULH Data Processing instruction
MULL Data Processing instruction
MULL_ELEM Data Processing instruction
MULLELEMSCALAR Data Processing instruction
MUL_ELEM Data Processing instruction
MULELEMSCALAR Data Processing instruction
PACGA Data Processing instruction
QADDSUB_SCALAR Data Processing instruction
QSHLSCALARIMM Data Processing instruction
RCPC Data Processing instruction
RCPCU Data Processing instruction
REV Data Processing instruction
RMIF Data Processing instruction
SB Data Processing instruction
SET Data Processing instruction
SETF Data Processing instruction
SHA2_2REG Data Processing instruction
SHA2_3REG Data Processing instruction
SHA3_4REG Data Processing instruction
SHA512_2REG Data Processing instruction
SHA512_3REG Data Processing instruction
SHIFTV Data Processing instruction
SHIFTSCALARIMM Data Processing instruction
SHLREGSCALAR Data Processing instruction
SHRNSCALARIMM Data Processing instruction
SHRSCALARIMM Data Processing instruction
SM3TT Data Processing instruction
SM3_3REG Data Processing instruction
SQDMULH_SCALAR Data Processing instruction
SQDMULL_SCALAR Data Processing instruction
SQRDMLAH_SCALAR Data Processing instruction
SUBP Data Processing instruction
SVC Data Processing instruction
SWP Data Processing instruction
TAGINSERT Data Processing instruction
TCANCEL Data Processing instruction
TCOMMIT Data Processing instruction
TSTART Data Processing instruction
TTEST Data Processing instruction
UDF Data Processing instruction
WFXT Data Processing instruction
XPAC Data Processing instruction
XTN_SCALAR Data Processing instruction
ZIP Data Processing instruction

ADCSBC

ARM64 ADCSBC instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29 S 1-bit value (0=don't set flags, 1=set flags)
28:21 11010000 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B
Ngc NGC

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register

Ngc Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register

ADDSUBG

ARM64 ADDSUBG instruction

Encoding

Bits Field Description
31 1 Fixed bit pattern
30 op 1-bit value
29:22 01000110 Fixed bit pattern
21:16 uimm6 6-bit value
15:14 op3 Fixed value: 00
13:10 uimm4 4-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd GP register or SP
Rn GP register or SP
uimm6 Unsigned immediate
uimm4 Unsigned immediate
op3 Constant value

Required Features

MTE


ADDSUB_EXT

ARM64 ADDSUB_EXT instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29 S 1-bit value (0=don't set flags, 1=set flags)
28:21 01011001 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 option 3-bit value
12:10 imm3 3-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD
Cmp CMP Compare variant (sets flags)

Default Operands:

Parameter Type
Rd
Rn GP register or SP
Rm General-purpose register
imm3 Immediate value

Cmp Operands:

Parameter Type
Rd Zero register
Rn GP register or SP
Rm General-purpose register
imm3 Immediate value

ADDSUB_IMM

ARM64 ADDSUB_IMM instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29 S 1-bit value (0=don't set flags, 1=set flags)
28:24 10001 Fixed bit pattern
23:22 shift Fixed value: 0x
21:10 imm12 12-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD
Cmp CMP Compare variant (sets flags)
Mov MOV Move variant (simplified form)

Default Operands:

Parameter Type
Rd
Rn GP register or SP
shift,imm12 Additive immediate

Cmp Operands:

Parameter Type
Rd Zero register
Rn GP register or SP
shift,imm12 Additive immediate

Mov Operands:

Parameter Type
Rd GP register or SP
Rn GP register or SP
shift Constant value
imm12 Constant value

ADDSUB_SCALAR

ARM64 ADDSUB_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size Fixed value: 11
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 100001 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDSUB_SHIFT

ARM64 ADDSUB_SHIFT instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29 S 1-bit value (0=don't set flags, 1=set flags)
28:24 01011 Fixed bit pattern
23:22 shift 2-bit value
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 imm6 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD
Noshift ADD
Cmp CMP Compare variant (sets flags)
Cmp_noshift CMP
Neg NEG Negate variant
Neg_noshift NEG

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
imm6 Immediate value

Noshift Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
imm6 Constant value

Cmp Operands:

Parameter Type
Rd Zero register
Rn General-purpose register
Rm General-purpose register
imm6 Immediate value

Cmp_noshift Operands:

Parameter Type
Rd Zero register
Rn General-purpose register
Rm General-purpose register
imm6 Constant value

Neg Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register
imm6 Immediate value

Neg_noshift Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register
imm6 Constant value

ADR

ARM64 ADR instruction

Encoding

Bits Field Description
31 op 1-bit value
30:29 immlo 2-bit value
28:24 10000 Fixed bit pattern
23:5 immhi 19-bit value
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADR

Variants

Variant Mnemonic Example Description
Default ADR

Default Operands:

Parameter Type
Rd General-purpose register
immlo,immhi

ANDOREOR_IMM

ARM64 ANDOREOR_IMM instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:29 opc 2-bit value
28:23 100100 Fixed bit pattern
22 N 1-bit value
21:16 immr 6-bit value
15:10 imms 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern
-2 1 Fixed bit pattern
-3 0 Fixed bit pattern
-4 1 Fixed bit pattern
-5 0 Fixed bit pattern
-6 0 Fixed bit pattern
-7 0 Fixed bit pattern
-8 0 Fixed bit pattern
-9 1 Fixed bit pattern
-10 0 Fixed bit pattern
-11 0 Fixed bit pattern
-12 1 Fixed bit pattern

Mnemonic

Examples: AND, ANDS

Variants

Variant Mnemonic Example Description
Default AND
Tst STR Test variant (bitwise AND and set flags)

Default Operands:

Parameter Type
Rd
Rn General-purpose register
N,immr,imms Logical immediate

Tst Operands:

Parameter Type
Rd Zero register
Rn General-purpose register
N,immr,imms Logical immediate

ANDOREOR_SHIFT

ARM64 ANDOREOR_SHIFT instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:29 opc 2-bit value
28:24 01010 Fixed bit pattern
23:22 shift 2-bit value
21 N 1-bit value
20:16 Rm 5-bit value (second source register)
15:10 imm6 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: AND, ANDS

Variants

Variant Mnemonic Example Description
Default AND
Noshift AND
Tst STR Test variant (bitwise AND and set flags)
Tst_noshift STR
Mvn MVN Move Not variant (inverted move)
Mvn_noshift MVN
Mov MOV Move variant (simplified form)

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
imm6 Immediate value

Noshift Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
imm6 Constant value

Tst Operands:

Parameter Type
Rd Zero register
Rn General-purpose register
Rm General-purpose register
imm6 Immediate value

Tst_noshift Operands:

Parameter Type
Rd Zero register
Rn General-purpose register
Rm General-purpose register
imm6 Constant value

Mvn Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register
imm6 Immediate value

Mvn_noshift Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register
imm6 Constant value

Mov Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm General-purpose register
imm6 Constant value

ARITH1_SCALAR

ARM64 ARITH1_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:16 100000 Fixed bit pattern
15:14 op 2-bit value
13:10 1110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

AUT

ARM64 AUT instruction

Encoding

Bits Field Description
31:14 110110101100000100 Fixed bit pattern
13 Z 1-bit value
12 op 1-bit value
11 D 1-bit value
10 M 1-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd General-purpose register
Rn

Required Features

PAuth


CAS

ARM64 CAS instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:23 0010001 Fixed bit pattern
22 L 1-bit value
21 1 Fixed bit pattern
20:16 Rs 5-bit value
15 o0 1-bit value
14:10 11111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rs General-purpose register
Rt General-purpose register
Rn GP register or SP

Required Features

LSE


CASP

ARM64 CASP instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 size 1-bit value (element size)
29:23 0010000 Fixed bit pattern
22 L 1-bit value
21 1 Fixed bit pattern
20:16 Rs 5-bit value
15 o0 1-bit value
14:10 Rt2 Fixed value: 11111
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: CAS, CASA, CASL, CASAL

Variants

Variant Mnemonic Example Description
Default CAS

Default Operands:

Parameter Type
Rs General-purpose register
Rt General-purpose register
Rn GP register or SP

Required Features

LSE


CCMP_IMM

ARM64 CCMP_IMM instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29:21 111010010 Fixed bit pattern
20:16 imm5 5-bit value
15:12 cond 4-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4 0 Fixed bit pattern
3:0 nzcv 4-bit value

Mnemonic

Examples: CCM

Variants

Variant Mnemonic Example Description
Default CCMi

Default Operands:

Parameter Type
Rn General-purpose register
imm5 Immediate value
nzcv Immediate value
cond Condition code

CCMP_REG

ARM64 CCMP_REG instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29:21 111010010 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 cond 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4 0 Fixed bit pattern
3:0 nzcv 4-bit value

Mnemonic

Examples: CCM

Variants

Variant Mnemonic Example Description
Default CCM

Default Operands:

Parameter Type
Rn General-purpose register
Rm General-purpose register
nzcv Immediate value
cond Condition code

CLREX

ARM64 CLREX instruction

Encoding

Bits Field Description
31:12 11010101000000110011 Fixed bit pattern
11:8 CRm 4-bit value
7:0 01011111 Fixed bit pattern

Mnemonic

Examples: CLREX

Variants

Variant Mnemonic Example Description
Default CLREX

Default Operands:

Parameter Type
CRm Constant value

CLZ

ARM64 CLZ instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:16 101101011000000 Fixed bit pattern
15:10 opcode 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register

Required Features


CMEQ_SCALAR

ARM64 CMEQ_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size Fixed value: 11
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 100011 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

CMGT_SCALAR

ARM64 CMGT_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size Fixed value: 11
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 0011 Fixed bit pattern
11 eq 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CM

Variants

Variant Mnemonic Example Description
Default CMd

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

CMZERO_SCALAR

ARM64 CMZERO_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size Fixed value: 11
21:14 10000010 Fixed bit pattern
13:12 op 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CM

Variants

Variant Mnemonic Example Description
Default CMd

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

CPY

ARM64 CPY instruction

Encoding

Bits Field Description
31:30 size Fixed value: 00
29:27 011 Fixed bit pattern
26 o0 1-bit value
25:24 01 Fixed bit pattern
23:22 op1 2-bit value
21 0 Fixed bit pattern
20:16 Rs 5-bit value
15:12 op2 4-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CPY

Variants

Variant Mnemonic Example Description
Default CPY

Default Operands:

Parameter Type
Rd reggpnozr
Rs reggpnozr
Rn reggpnozr

Required Features

MOPS


CRC32

ARM64 CRC32 instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:21 0011010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 010 Fixed bit pattern
12 C 1-bit value
11:10 sz 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register

Required Features

CRC32


CSEL

ARM64 CSEL instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 op 1-bit value
29:21 011010100 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 cond 4-bit value
11 0 Fixed bit pattern
10 o2 1-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction
Nosel Instruction
Set Instruction

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
cond Condition code

Nosel Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm @Rn
cond invcond

Set Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
Rm Zero register
cond invcond

DCPS

ARM64 DCPS instruction

Encoding

Bits Field Description
31:21 11010100101 Fixed bit pattern
20:5 imm16 16-bit value
4:2 000 Fixed bit pattern
1:0 LL 2-bit value

Mnemonic

Examples: DCPS

Variants

Variant Mnemonic Example Description
Default DCPS

Default Operands:

Parameter Type
imm16 Unsigned immediate

Required Features


DIV

ARM64 DIV instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:21 0011010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:11 00001 Fixed bit pattern
10 o1 1-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SDIV, UDIV

Variants

Variant Mnemonic Example Description
Default SDIV

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register

DOT_ELEM

ARM64 DOT_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features


DRPS

ARM64 DRPS instruction

Encoding

Bits Field Description
31:0 11010110101111110000001111100000 Fixed bit pattern

Mnemonic

Examples: DRPS

Variants

Variant Mnemonic Example Description
Default DRPS

DSB

ARM64 DSB instruction

Encoding

Bits Field Description
31:12 11010101000000110011 Fixed bit pattern
11:8 CRm 4-bit value
7 1 Fixed bit pattern
6:5 opc 2-bit value
4:0 11111 Fixed bit pattern

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B
Ssbb B

Default Operands:

Parameter Type
CRm Unsigned immediate

DUP_SCALAR

ARM64 DUP_SCALAR instruction

Encoding

Bits Field Description
31:21 01011110000 Fixed bit pattern
20:16 imm5 5-bit value
15:10 000001 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1:-4 0000 Fixed bit pattern

Mnemonic

Examples: DUP

Variants

Variant Mnemonic Example Description
Default DUP

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
imm5 immvidx

ERET

ARM64 ERET instruction

Encoding

Bits Field Description
31:12 11010110100111110000 Fixed bit pattern
11 A 1-bit value
10 M 1-bit value
9:5 Rn Fixed value: 11111
4:0 op4 5-bit value

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
{M:0 :1=PAuth}

EXTR

ARM64 EXTR instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:23 00100111 Fixed bit pattern
22 N 1-bit value
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 imms 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: EXTR

Variants

Variant Mnemonic Example Description
Default EXTR
Ror RORi

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
imms Immediate value

Ror Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm @Rn
imms Immediate value

HINT

ARM64 HINT instruction

Encoding

Bits Field Description
31:12 11010101000000110010 Fixed bit pattern
11:5 imm 7-bit value
4:0 11111 Fixed bit pattern

Mnemonic

Examples: HINT # TODO pretty format of immediate

Variants

Variant Mnemonic Example Description
Default HINT
Noops LDR

Default Operands:

Parameter Type
imm Immediate value

Noops Operands:

Parameter Type
{imm:0 :1=:2=:3=:4=:5=:6=DGH:7=PAuth:8=PAuth:10=PAuth:12=PAuth:14=PAuth:16=RAS:17=SPE:18=TRF:19=GCS:20=:22=CLRBHB:24=PAuth:25=PAuth:26=PAuth:27=PAuth:28=PAuth:29=PAuth:30=PAuth:31=PAuth:32=BTI:34=BTI:36=BTI:38=BTI:40=CHK}

HLT

ARM64 HLT instruction

Encoding

Bits Field Description
31:21 11010100010 Fixed bit pattern
20:5 imm16 16-bit value
4:0 00000 Fixed bit pattern

Mnemonic

Examples: HLT

Variants

Variant Mnemonic Example Description
Default HLT

Default Operands:

Parameter Type
imm16 Unsigned immediate

INS

ARM64 INS instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q Fixed value: 1
29 op 1-bit value
28:21 01110000 Fixed bit pattern
20:16 imm5 5-bit value
15 0 Fixed bit pattern
14:11 imm4 4-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1:-4 0000 Fixed bit pattern

Mnemonic

Examples: INS

Variants

Variant Mnemonic Example Description
Elem INS
Gp INS

Elem Operands:

Parameter Type
Rd Floating-point register
imm5 immvidx
Rn Floating-point register
imm4 immvidx

Gp Operands:

Parameter Type
Rd Floating-point register
imm5 immvidx
Rn General-purpose register

INTHORZSCALAR

ARM64 INTHORZSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 size Fixed value: 11
21:17 11000 Fixed bit pattern
16:12 opcode Fixed value: 11011
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

LS64

ARM64 LS64 instruction

Encoding

Bits Field Description
31:15 11111000001111111 Fixed bit pattern
14 o1 1-bit value
13:10 0100 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt reggpls64
Rn GP register or SP

Required Features

LS64


LS64V

ARM64 LS64V instruction

Encoding

Bits Field Description
31:21 11111000001 Fixed bit pattern
20:16 Rs 5-bit value
15 1 Fixed bit pattern
14:12 op Fixed value: 01x
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rs General-purpose register
Rt reggpls64
Rn GP register or SP

Required Features

LS64


MINMAX_IMM

ARM64 MINMAX_IMM instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:22 1000111 Fixed bit pattern
21:18 opcode Fixed value: 00xx
17:10 imm8 8-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default i

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
imm8 ,bits=8

Required Features

CSSC


MINMAX_REG

ARM64 MINMAX_REG instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:21 11010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 opcode Fixed value: 0110xx
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register

Required Features

CSSC


MOV

ARM64 MOV instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:29 opc 2-bit value
28:23 100101 Fixed bit pattern
22:21 hw 2-bit value
20:5 imm16 16-bit value
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV
Dyn MOV

Default Operands:

Parameter Type
Rd General-purpose register
imm16 Unsigned immediate

Dyn Operands:

Parameter Type
Rd General-purpose register
imm16 Unsigned immediate
hw Immediate value

MOV_TOGP

ARM64 MOV_TOGP instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:21 001110000 Fixed bit pattern
20:16 imm5 5-bit value
15:13 001 Fixed bit pattern
12 U 1-bit value (0=signed, 1=unsigned)
11:10 11 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1:-3 000 Fixed bit pattern
-4:-5 00 Fixed bit pattern
-6 1 Fixed bit pattern
-7:-9 000 Fixed bit pattern
-10 0 Fixed bit pattern
-11:-14 1000 Fixed bit pattern
-15 1 Fixed bit pattern

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV

Default Operands:

Parameter Type
Rd General-purpose register
Rn Floating-point register
imm5 immvidx

MUL

ARM64 MUL instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:21 0011011000 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 o0 1-bit value
14:10 Ra 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD
Mul M

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
Ra General-purpose register

Mul Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
Ra Zero register

MULH

ARM64 MULH instruction

Encoding

Bits Field Description
31 sf Fixed value: 1
30:24 0011011 Fixed bit pattern
23 U 1-bit value (0=signed, 1=unsigned)
22:21 10 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:10 Ra 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
Ra Zero register

MULL

ARM64 MULL instruction

Encoding

Bits Field Description
31 sf Fixed value: 1
30:24 0011011 Fixed bit pattern
23 U 1-bit value (0=signed, 1=unsigned)
22:21 01 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 o0 1-bit value
14:10 Ra 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD
Mul ML

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
Ra General-purpose register

Mul Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register
Ra Zero register

MULL_ELEM

ARM64 MULL_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

MULLELEMSCALAR

ARM64 MULLELEMSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 0
28:24 11111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

MUL_ELEM

ARM64 MUL_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features


MULELEMSCALAR

ARM64 MULELEMSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features


PACGA

ARM64 PACGA instruction

Encoding

Bits Field Description
31:21 10011010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 001100 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: PACIA, PACIB, PACDA, PACDB

Variants

Variant Mnemonic Example Description
Default PACIA

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm GP register or SP

Required Features

PAuth


QADDSUB_SCALAR

ARM64 QADDSUB_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 00 Fixed bit pattern
13 op 1-bit value
12:10 011 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

QSHLSCALARIMM

ARM64 QSHLSCALARIMM instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 011 Fixed bit pattern
12 op 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default i

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftl

RCPC

ARM64 RCPC instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:21 111000101 Fixed bit pattern
20:16 Rs Fixed value: 11111
15:10 110000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rn GP register or SP

Required Features

LRCPC


RCPCU

ARM64 RCPCU instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:24 011001 Fixed bit pattern
23:22 opc 2-bit value
21 0 Fixed bit pattern
20:12 imm9 9-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rn GP register or SP
imm9 Signed immediate

Required Features

LRCPC2


REV

ARM64 REV instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:12 1011010110000000000 Fixed bit pattern
11:10 opc 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register

RMIF

ARM64 RMIF instruction

Encoding

Bits Field Description
31 sf Fixed value: 1
30:21 0111010000 Fixed bit pattern
20:15 imm6 6-bit value
14:10 00001 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4 0 Fixed bit pattern
3:0 mask 4-bit value

Mnemonic

Examples: RMIF

Variants

Variant Mnemonic Example Description
Default RMIF

Default Operands:

Parameter Type
Rn General-purpose register
imm6 Immediate value
mask Immediate value

Required Features

FlagM


SB

ARM64 SB instruction

Encoding

Bits Field Description
31:12 11010101000000110011 Fixed bit pattern
11:8 CRm Fixed value: 0000
7 1 Fixed bit pattern
6:5 opc Fixed value: 11
4:0 11111 Fixed bit pattern

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

SET

ARM64 SET instruction

Encoding

Bits Field Description
31:30 size Fixed value: 00
29:27 011 Fixed bit pattern
26 o0 1-bit value
25:24 01 Fixed bit pattern
23:22 op1 Fixed value: 11
21 0 Fixed bit pattern
20:16 Rs 5-bit value
15:12 op2 4-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SET

Variants

Variant Mnemonic Example Description
Default SET

Default Operands:

Parameter Type
Rd reggpnozr
Rs reggpnozr
Rn General-purpose register

Required Features

MOPS


SETF

ARM64 SETF instruction

Encoding

Bits Field Description
31 sf Fixed value: 0
30:15 0111010000000000 Fixed bit pattern
14 sz 1-bit value
13:10 0010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 01101 Fixed bit pattern

Mnemonic

Examples: SETF

Variants

Variant Mnemonic Example Description
Default SETF

Default Operands:

Parameter Type
Rn General-purpose register

Required Features

FlagM


SHA2_2REG

ARM64 SHA2_2REG instruction

Encoding

Bits Field Description
31:24 01011110 Fixed bit pattern
23:22 size Fixed value: 00
21:14 10100000 Fixed bit pattern
13:12 opcode 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SHA

Variants

Variant Mnemonic Example Description
Default SHA

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features

SHA


SHA2_3REG

ARM64 SHA2_3REG instruction

Encoding

Bits Field Description
31:24 01011110 Fixed bit pattern
23:22 size Fixed value: 00
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:12 opcode 3-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SHA

Variants

Variant Mnemonic Example Description
Default SHA

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features

SHA


SHA3_4REG

ARM64 SHA3_4REG instruction

Encoding

Bits Field Description
31:23 110011100 Fixed bit pattern
22:21 op0 2-bit value
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:10 Ra 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: EOR, EORS

Variants

Variant Mnemonic Example Description
Default EOR

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
Ra Floating-point register

Required Features


SHA512_2REG

ARM64 SHA512_2REG instruction

Encoding

Bits Field Description
31:12 11001110110000001000 Fixed bit pattern
11:10 opcode 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


SHA512_3REG

ARM64 SHA512_3REG instruction

Encoding

Bits Field Description
31:21 11001110011 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 1 Fixed bit pattern
14 O Fixed value: 0
13:12 00 Fixed bit pattern
11:10 opcode 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


SHIFTV

ARM64 SHIFTV instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:21 0011010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 0010 Fixed bit pattern
11:10 op2 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: V

Variants

Variant Mnemonic Example Description
Default V

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
Rm General-purpose register

SHIFTSCALARIMM

ARM64 SHIFTSCALARIMM instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111110 Fixed bit pattern
22:19 immh Fixed value: 1xxx
18:16 immb 3-bit value
15:13 010 Fixed bit pattern
12 op 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default di

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshift

SHLREGSCALAR

ARM64 SHLREGSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 010 Fixed bit pattern
12 R 1-bit value
11 S 1-bit value (0=don't set flags, 1=set flags)
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SHL

Variants

Variant Mnemonic Example Description
Default SHL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SHRNSCALARIMM

ARM64 SHRNSCALARIMM instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 100 Fixed bit pattern
12 op 1-bit value
11 R 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: SHRN

Variants

Variant Mnemonic Example Description
Default SHRNi

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

SHRSCALARIMM

ARM64 SHRSCALARIMM instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111110 Fixed bit pattern
22:19 immh Fixed value: 1xxx
18:16 immb 3-bit value
15:14 00 Fixed bit pattern
13 o1 1-bit value
12 o0 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default d

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

SM3TT

ARM64 SM3TT instruction

Encoding

Bits Field Description
31:21 11001110010 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 10 Fixed bit pattern
13:12 imm2 2-bit value
11:10 opcode 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
imm2 Immediate value

Required Features

SM3


SM3_3REG

ARM64 SM3_3REG instruction

Encoding

Bits Field Description
31:21 11001110011 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 1 Fixed bit pattern
14 O Fixed value: 1
13:12 00 Fixed bit pattern
11:10 opcode 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


SQDMULH_SCALAR

ARM64 SQDMULH_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 101101 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SQDMULL_SCALAR

ARM64 SQDMULL_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SQRDMLAH_SCALAR

ARM64 SQRDMLAH_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 1
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 1000 Fixed bit pattern
11 S 1-bit value (0=don't set flags, 1=set flags)
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SQRDMLH

Variants

Variant Mnemonic Example Description
Default SQRDMLH

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features

RDM


SUBP

ARM64 SUBP instruction

Encoding

Bits Field Description
31 sf Fixed value: 1
30 0 Fixed bit pattern
29 S 1-bit value (0=don't set flags, 1=set flags)
28:21 11010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SUB, SUBS

Variants

Variant Mnemonic Example Description
Default SUB
Cmp CMP Compare variant (sets flags)

Default Operands:

Parameter Type
Rd General-purpose register
Rn GP register or SP
Rm GP register or SP

Cmp Operands:

Parameter Type
Rd Zero register
Rn GP register or SP
Rm GP register or SP

Required Features

MTE


SVC

ARM64 SVC instruction

Encoding

Bits Field Description
31:21 11010100000 Fixed bit pattern
20:5 imm16 16-bit value
4:2 000 Fixed bit pattern
1:0 LL 2-bit value

Mnemonic

Examples: C

Variants

Variant Mnemonic Example Description
Default C

Default Operands:

Parameter Type
imm16 Unsigned immediate

Required Features


SWP

ARM64 SWP instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:24 111000 Fixed bit pattern
23 A 1-bit value
22 R 1-bit value
21 1 Fixed bit pattern
20:16 Rs 5-bit value
15:10 100000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rs General-purpose register
Rt General-purpose register
Rn GP register or SP

Required Features

LSE


TAGINSERT

ARM64 TAGINSERT instruction

Encoding

Bits Field Description
31 sf Fixed value: 1
30 0 Fixed bit pattern
29 S Fixed value: 0
28:21 11010110 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:11 00010 Fixed bit pattern
10 op 1-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd General-purpose register
Rn GP register or SP
Rm General-purpose register

Required Features

MTE


TCANCEL

ARM64 TCANCEL instruction

Encoding

Bits Field Description
31:21 11010100011 Fixed bit pattern
20:5 imm16 16-bit value
4:0 00000 Fixed bit pattern

Mnemonic

Examples: TCANCEL

Variants

Variant Mnemonic Example Description
Default TCANCEL

Default Operands:

Parameter Type
imm16 Unsigned immediate

Required Features

TME


TCOMMIT

ARM64 TCOMMIT instruction

Encoding

Bits Field Description
31:0 11010101000000110011000001111111 Fixed bit pattern

Mnemonic

Examples: TCOMMIT

Variants

Variant Mnemonic Example Description
Default TCOMMIT

TSTART

ARM64 TSTART instruction

Encoding

Bits Field Description
31:5 110101010010001100110000011 Fixed bit pattern
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rt General-purpose register

Required Features

TME


TTEST

ARM64 TTEST instruction

Encoding

Bits Field Description
31:5 110101010010001100110001011 Fixed bit pattern
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rt General-purpose register

Required Features

TME


UDF

ARM64 UDF instruction

Encoding

Bits Field Description
31:16 0000000000000000 Fixed bit pattern
15:0 imm16 16-bit value

Mnemonic

Examples: UDF

Variants

Variant Mnemonic Example Description
Default UDF

Default Operands:

Parameter Type
imm16 Unsigned immediate

WFXT

ARM64 WFXT instruction

Encoding

Bits Field Description
31:8 110101010000001100010000 Fixed bit pattern
7:5 op2 3-bit value
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: WFT

Variants

Variant Mnemonic Example Description
Default WFT

Default Operands:

Parameter Type
Rd General-purpose register

Required Features

WFxT


XPAC

ARM64 XPAC instruction

Encoding

Bits Field Description
31:11 110110101100000101000 Fixed bit pattern
10 D 1-bit value
9:5 Rn Fixed value: 11111
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: PACIA, PACIB, PACDA, PACDB

Variants

Variant Mnemonic Example Description
Default PACIA

Default Operands:

Parameter Type
Rd General-purpose register

Required Features

PAuth


XTN_SCALAR

ARM64 XTN_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:15 1000010 Fixed bit pattern
14:13 op 2-bit value
12:10 010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

ZIP

ARM64 ZIP instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:24 001110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:12 opcode 3-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Branches

Instruction Description
BCOND Branches instruction
BFM Branches instruction
BIT_VEC Branches instruction
BRANCH Branches instruction
BRANCHREG Branches instruction
BRK Branches instruction
CBZ Branches instruction
TBZ Branches instruction

BCOND

ARM64 BCOND instruction

Encoding

Bits Field Description
31:24 01010100 Fixed bit pattern
23:5 imm19 19-bit value
4 C 1-bit value
3:0 bcond 4-bit value

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
bcond Condition code
imm19 Relative address

Required Features


BFM

ARM64 BFM instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:29 opc 2-bit value
28:23 100110 Fixed bit pattern
22 N 1-bit value
21:16 immr 6-bit value
15:10 imms 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B
Sr SRi
Sl LSLi
Bfx B Bitfield extract variant
Bfi B Bitfield insert variant
Bfc B
Extb B
Exth XTH
Extw XTW

Default Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr Immediate value
imms Immediate value

Sr Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr Immediate value
imms Constant value

Sl Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr,imms immlsl

Bfx Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr,imms immbfx

Bfi Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr,imms immbfi

Bfc Operands:

Parameter Type
Rd General-purpose register
Rn Zero register
immr,imms immbfi

Extb Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr Constant value
imms Constant value

Exth Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr Constant value
imms Constant value

Extw Operands:

Parameter Type
Rd General-purpose register
Rn General-purpose register
immr Constant value
imms Constant value

BIT_VEC

ARM64 BIT_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 op 2-bit value
21:10 100000010110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B
Mvn Instruction Move Not variant (inverted move)

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Mvn Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

BRANCH

ARM64 BRANCH instruction

Encoding

Bits Field Description
31 op 1-bit value
30:26 00101 Fixed bit pattern
25:0 imm26 26-bit value

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
imm26 Relative address

BRANCHREG

ARM64 BRANCHREG instruction

Encoding

Bits Field Description
31:25 1101011 Fixed bit pattern
24 Z 1-bit value
23 0 Fixed bit pattern
22:21 op 2-bit value
20:12 111110000 Fixed bit pattern
11 A 1-bit value
10 M 1-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rm 5-bit value (second source register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rn
Rm

Required Features


BRK

ARM64 BRK instruction

Encoding

Bits Field Description
31:21 11010100001 Fixed bit pattern
20:5 imm16 16-bit value
4:0 00000 Fixed bit pattern

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
imm16 Unsigned immediate

CBZ

ARM64 CBZ instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30:25 011010 Fixed bit pattern
24 op 1-bit value
23:5 imm19 19-bit value
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rt General-purpose register
imm19 Relative address

TBZ

ARM64 TBZ instruction

Encoding

Bits Field Description
31 b5 1-bit value
30:25 011011 Fixed bit pattern
24 op 1-bit value
23:19 b40 5-bit value
18:5 imm14 14-bit value
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rt General-purpose register
b5,b40 tbz
imm14 Relative address

Loads and Stores

Instruction Description
LDATOMIC Loads and Stores instruction
LDG Loads and Stores instruction
LDRAUT Loads and Stores instruction
MEMGM Loads and Stores instruction
MEMNP Loads and Stores instruction
MEMOR Loads and Stores instruction
MEMP Loads and Stores instruction
MEMP_FP Loads and Stores instruction
MEMSIMD_MULT Loads and Stores instruction
MEMSIMDMULTPOST Loads and Stores instruction
MEMSIMD_REP Loads and Stores instruction
MEMSIMDREPPOST Loads and Stores instruction
MEMSIMD_SINGLE Loads and Stores instruction
MEMSIMDSINGLEPOST Loads and Stores instruction
MEMU Loads and Stores instruction
MEMU_FP Loads and Stores instruction
MEMX Loads and Stores instruction
MEM_IMM Loads and Stores instruction
MEMIMMFP Loads and Stores instruction
MEM_LIT Loads and Stores instruction
MEMLITFP Loads and Stores instruction
MEM_REG Loads and Stores instruction
MEMREGFP Loads and Stores instruction
STG Loads and Stores instruction

LDATOMIC

ARM64 LDATOMIC instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:27 111 Fixed bit pattern
26 VR Fixed value: 0
25:24 00 Fixed bit pattern
23 A 1-bit value
22 R 1-bit value
21 1 Fixed bit pattern
20:16 Rs 5-bit value
15 o3 Fixed value: 0
14:12 opc 3-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rs General-purpose register
Rt General-purpose register
Rn GP register or SP

Required Features

LSE


LDG

ARM64 LDG instruction

Encoding

Bits Field Description
31:24 11011001 Fixed bit pattern
23:22 opc Fixed value: 01
21 1 Fixed bit pattern
20:12 imm9 9-bit value
11:10 op2 Fixed value: 00
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default ldg

Default Operands:

Parameter Type
Rt General-purpose register
Rn GP register or SP
imm9 Signed immediate

Required Features

MTE


LDRAUT

ARM64 LDRAUT instruction

Encoding

Bits Field Description
31:30 size Fixed value: 11
29:24 111000 Fixed bit pattern
23 M 1-bit value
22 S 1-bit value (0=don't set flags, 1=set flags)
21 1 Fixed bit pattern
20:12 imm9 9-bit value
11 W 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rn GP register or SP
S,imm9 immldraut

Required Features

PAuth


MEMGM

ARM64 MEMGM instruction

Encoding

Bits Field Description
31:24 11011001 Fixed bit pattern
23:22 opc 2-bit value
21:10 100000000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rn GP register or SP

Required Features

`MTE2

This is MSR_IMM`


MEMNP

ARM64 MEMNP instruction

Encoding

Bits Field Description
31:30 opc 2-bit value
29:23 1010000 Fixed bit pattern
22 L 1-bit value
21:15 imm7 7-bit value
14:10 Rt2 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rt2 General-purpose register
Rn GP register or SP
imm7 Signed immediate

MEMOR

ARM64 MEMOR instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:23 0010001 Fixed bit pattern
22 L 1-bit value
21 0 Fixed bit pattern
20:16 Rs 5-bit value
15 o0 1-bit value
14:10 Rt2 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rs Zero register
Rt General-purpose register
Rt2 Zero register
Rn GP register or SP

Required Features


MEMP

ARM64 MEMP instruction

Encoding

Bits Field Description
31:30 opc 2-bit value
29:25 10100 Fixed bit pattern
24:23 op2 2-bit value
22 L 1-bit value
21:15 imm7 7-bit value
14:10 Rt2 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt General-purpose register
Rt2 General-purpose register
Rn GP register or SP
imm7 Signed immediate

Required Features


MEMP_FP

ARM64 MEMP_FP instruction

Encoding

Bits Field Description
31:30 opc 2-bit value
29:27 101 Fixed bit pattern
26 V Fixed value: 1
25 0 Fixed bit pattern
24:23 op2 2-bit value
22 L 1-bit value
21:15 imm7 7-bit value
14:10 Rt2 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rt2 Floating-point register
Rn GP register or SP
imm7 Signed immediate

MEMSIMD_MULT

ARM64 MEMSIMD_MULT instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011000 Fixed bit pattern
22 L 1-bit value
21:16 000000 Fixed bit pattern
15:12 opcode 4-bit value
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP

MEMSIMDMULTPOST

ARM64 MEMSIMDMULTPOST instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011001 Fixed bit pattern
22 L 1-bit value
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR
Noreg LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm reggpnozr

Noreg Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm Zero register

MEMSIMD_REP

ARM64 MEMSIMD_REP instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011010 Fixed bit pattern
22 L Fixed value: 1
21 R 1-bit value
20:16 00000 Fixed bit pattern
15:13 opc 3-bit value
12 S Fixed value: 0
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP

MEMSIMDREPPOST

ARM64 MEMSIMDREPPOST instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011011 Fixed bit pattern
22 L Fixed value: 1
21 R 1-bit value
20:16 Rm 5-bit value (second source register)
15:13 opc 3-bit value
12 S Fixed value: 0
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR
Noreg LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm reggpnozr

Noreg Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm Zero register

MEMSIMD_SINGLE

ARM64 MEMSIMD_SINGLE instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011010 Fixed bit pattern
22 L 1-bit value
21 R 1-bit value
20:16 00000 Fixed bit pattern
15:13 opc 3-bit value
12 S 1-bit value (0=don't set flags, 1=set flags)
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Q,S,size memsimdidx
Rn GP register or SP

MEMSIMDSINGLEPOST

ARM64 MEMSIMDSINGLEPOST instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:23 0011011 Fixed bit pattern
22 L 1-bit value
21 R 1-bit value
20:16 Rm 5-bit value (second source register)
15:13 opc 3-bit value
12 S 1-bit value (0=don't set flags, 1=set flags)
11:10 size 2-bit value (element size)
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR
Noreg LDR

Default Operands:

Parameter Type
Rt Floating-point register
Q,S,size memsimdidx
Rn GP register or SP
Rm reggpnozr

Noreg Operands:

Parameter Type
Rt Floating-point register
Q,S,size memsimdidx
Rn GP register or SP
Rm Zero register

MEMU

ARM64 MEMU instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:24 111000 Fixed bit pattern
23:22 opc 2-bit value
21 0 Fixed bit pattern
20:12 imm9 9-bit value
11:10 op2 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt
Rn GP register or SP
imm9 Signed immediate

MEMU_FP

ARM64 MEMU_FP instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:27 111 Fixed bit pattern
26 V Fixed value: 1
25:24 00 Fixed bit pattern
23:22 opc 2-bit value
21 0 Fixed bit pattern
20:12 imm9 9-bit value
11:10 op4 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
imm9 Signed immediate

MEMX

ARM64 MEMX instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:23 0010000 Fixed bit pattern
22 L 1-bit value
21 P 1-bit value
20:16 Rs 5-bit value
15 o0 1-bit value
14:10 Rt2 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rs
Rt General-purpose register
Rt2
Rn GP register or SP

MEM_IMM

ARM64 MEM_IMM instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:24 111001 Fixed bit pattern
23:22 opc 2-bit value
21:10 imm12 12-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt
Rn GP register or SP
imm12 Unsigned immediate

MEMIMMFP

ARM64 MEMIMMFP instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:27 111 Fixed bit pattern
26 V Fixed value: 1
25:24 01 Fixed bit pattern
23:22 opc 2-bit value
21:10 imm12 12-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
imm12 Unsigned immediate

MEM_LIT

ARM64 MEM_LIT instruction

Encoding

Bits Field Description
31:30 opc 2-bit value
29:24 011000 Fixed bit pattern
23:5 imm19 19-bit value
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt
imm19 Relative address

MEMLITFP

ARM64 MEMLITFP instruction

Encoding

Bits Field Description
31:30 opc 2-bit value
29:27 011 Fixed bit pattern
26 V Fixed value: 1
25:24 00 Fixed bit pattern
23:5 imm19 19-bit value
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR

Default Operands:

Parameter Type
Rt Floating-point register
imm19 Relative address

MEM_REG

ARM64 MEM_REG instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:24 111000 Fixed bit pattern
23:22 opc 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 option 3-bit value
12 sc 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR
Noext LDR

Default Operands:

Parameter Type
Rt
Rn GP register or SP
Rm General-purpose register
sc bool

Noext Operands:

Parameter Type
Rt
Rn GP register or SP
Rm General-purpose register

MEMREGFP

ARM64 MEMREGFP instruction

Encoding

Bits Field Description
31:30 size 2-bit value (element size)
29:27 111 Fixed bit pattern
26 V Fixed value: 1
25:24 00 Fixed bit pattern
23:22 opc 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 option 3-bit value
12 sc 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: LDR, LDRB, LDRH

Variants

Variant Mnemonic Example Description
Default LDR
Noext LDR

Default Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm General-purpose register
sc bool

Noext Operands:

Parameter Type
Rt Floating-point register
Rn GP register or SP
Rm General-purpose register

STG

ARM64 STG instruction

Encoding

Bits Field Description
31:24 11011001 Fixed bit pattern
23:22 opc 2-bit value
21 1 Fixed bit pattern
20:12 imm9 9-bit value
11:10 op2 2-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rt GP register or SP
Rn GP register or SP
imm9 Signed immediate

Required Features

MTE


SIMD and Vector

Instruction Description
ABDL_VEC SIMD and Vector instruction
ABD_VEC SIMD and Vector instruction
ADDLP_VEC SIMD and Vector instruction
ADDP_VEC SIMD and Vector instruction
ADDSUBHN_VEC SIMD and Vector instruction
ADDSUBL_VEC SIMD and Vector instruction
ADDSUBW_VEC SIMD and Vector instruction
ADDSUB_VEC SIMD and Vector instruction
ANDOREOR_VEC SIMD and Vector instruction
ARITH1_VEC SIMD and Vector instruction
CLZ_VEC SIMD and Vector instruction
CMEQ_VEC SIMD and Vector instruction
CMGT_VEC SIMD and Vector instruction
CMZERO_VEC SIMD and Vector instruction
DOT_VEC SIMD and Vector instruction
DUP_VEC SIMD and Vector instruction
EXT SIMD and Vector instruction
HADDSUB_VEC SIMD and Vector instruction
INTHORZVEC SIMD and Vector instruction
MINMAX_VEC SIMD and Vector instruction
MULL_VEC SIMD and Vector instruction
MUL_VEC SIMD and Vector instruction
PMULL_VEC SIMD and Vector instruction
QADDSUB_VEC SIMD and Vector instruction
QSHLVECIMM SIMD and Vector instruction
REV_VEC SIMD and Vector instruction
SHIFTVECIMM SIMD and Vector instruction
SHLLVECESZ SIMD and Vector instruction
SHLLVECIMM SIMD and Vector instruction
SHLREGVEC SIMD and Vector instruction
SHRNVECIMM SIMD and Vector instruction
SHRVECIMM SIMD and Vector instruction
SIMD_IMM SIMD and Vector instruction
SQDMULH_VEC SIMD and Vector instruction
SQDMULL_VEC SIMD and Vector instruction
SQRDMLAH_VEC SIMD and Vector instruction
TBL SIMD and Vector instruction
XTN_VEC SIMD and Vector instruction

ABDL_VEC

ARM64 ABDL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SABD, UABD, SABA, UABA

Variants

Variant Mnemonic Example Description
Default SABD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ABD_VEC

ARM64 ABD_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 0111 Fixed bit pattern
11 ac 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDLP_VEC

ARM64 ADDLP_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:15 1000000 Fixed bit pattern
14 op 1-bit value
13:10 1010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADLP

Variants

Variant Mnemonic Example Description
Default ADLP

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

ADDP_VEC

ARM64 ADDP_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 101111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDSUBHN_VEC

ARM64 ADDSUBHN_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDSUBL_VEC

ARM64 ADDSUBL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDSUBW_VEC

ARM64 ADDSUBW_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ADDSUB_VEC

ARM64 ADDSUB_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 100001 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

ANDOREOR_VEC

ARM64 ANDOREOR_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 000111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: AND, ANDS

Variants

Variant Mnemonic Example Description
Default AND
Mov MOV Move variant (simplified form)

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Mov Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm @Rn

ARITH1_VEC

ARM64 ARITH1_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:16 100000 Fixed bit pattern
15:14 op 2-bit value
13:10 1110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

CLZ_VEC

ARM64 CLZ_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:10 100000010010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CL

Variants

Variant Mnemonic Example Description
Default CL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

CMEQ_VEC

ARM64 CMEQ_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 100011 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: STR, STRB, STRH

Variants

Variant Mnemonic Example Description
Default STR

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

CMGT_VEC

ARM64 CMGT_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 0011 Fixed bit pattern
11 eq 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CMV

Variants

Variant Mnemonic Example Description
Default CM

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

CMZERO_VEC

ARM64 CMZERO_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:14 10000010 Fixed bit pattern
13:12 op 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CM

Variants

Variant Mnemonic Example Description
Default CM

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

DOT_VEC

ARM64 DOT_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 1 Fixed bit pattern
14:11 opcode 4-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


DUP_VEC

ARM64 DUP_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:21 001110000 Fixed bit pattern
20:16 imm5 5-bit value
15:12 0000 Fixed bit pattern
11 op 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1:-4 0000 Fixed bit pattern
-5:-8 1000 Fixed bit pattern
-9 0 Fixed bit pattern

Mnemonic

Examples: DUP

Variants

Variant Mnemonic Example Description
Elem DUP
Gp DUP

Elem Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
imm5 immvidx

Gp Operands:

Parameter Type
Rd Floating-point register
Rn General-purpose register

EXT

ARM64 EXT instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:24 101110 Fixed bit pattern
23:22 size Fixed value: 00
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:11 imm4 4-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: EXT

Variants

Variant Mnemonic Example Description
Default EXT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
imm4 Immediate value

HADDSUB_VEC

ARM64 HADDSUB_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 00 Fixed bit pattern
13 op 1-bit value
12 R 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

INTHORZVEC

ARM64 INTHORZVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:17 11000 Fixed bit pattern
16:12 opcode 5-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

MINMAX_VEC

ARM64 MINMAX_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 o2 2-bit value
13:12 10 Fixed bit pattern
11 o1 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

MULL_VEC

ARM64 MULL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

MUL_VEC

ARM64 MUL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 1001 Fixed bit pattern
11 ac 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1:-2 11 Fixed bit pattern
-3:-4 00 Fixed bit pattern

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

PMULL_VEC

ARM64 PMULL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode Fixed value: 1110
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


QADDSUB_VEC

ARM64 QADDSUB_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 00 Fixed bit pattern
13 op 1-bit value
12:10 011 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

QSHLVECIMM

ARM64 QSHLVECIMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 011 Fixed bit pattern
12 op 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default i

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftl

REV_VEC

ARM64 REV_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:13 100000000 Fixed bit pattern
12 op 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 1 Fixed bit pattern
-2 0 Fixed bit pattern
-3 1 Fixed bit pattern

Mnemonic

Examples: REV, REV16, RBIT

Variants

Variant Mnemonic Example Description
Default REV

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

SHIFTVECIMM

ARM64 SHIFTVECIMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 010 Fixed bit pattern
12 op 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default i

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshift

SHLLVECESZ

ARM64 SHLLVECESZ instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 1
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:10 100001001110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SHLL

Variants

Variant Mnemonic Example Description
Default SHLL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

SHLLVECIMM

ARM64 SHLLVECIMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:10 101001 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern
-2 0 Fixed bit pattern

Mnemonic

Examples: SHLL

Variants

Variant Mnemonic Example Description
Default SHLL
Xtl XTL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftl

Xtl Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immb Constant value

SHLREGVEC

ARM64 SHLREGVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:13 010 Fixed bit pattern
12 R 1-bit value
11 S 1-bit value (0=don't set flags, 1=set flags)
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SHL

Variants

Variant Mnemonic Example Description
Default SHL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SHRNVECIMM

ARM64 SHRNVECIMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 100 Fixed bit pattern
12 op 1-bit value
11 R 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: SHRN

Variants

Variant Mnemonic Example Description
Default SHRNi

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

SHRVECIMM

ARM64 SHRVECIMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:14 00 Fixed bit pattern
13 o1 1-bit value
12 o0 1-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default i

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

SIMD_IMM

ARM64 SIMD_IMM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 op 1-bit value
28:19 0111100000 Fixed bit pattern
18:16 immh 3-bit value
15:12 cmode 4-bit value
11 o2 1-bit value
10 1 Fixed bit pattern
9:5 imml 5-bit value
4:0 Rd 5-bit value (destination register)
-1 1 Fixed bit pattern

Mnemonic

Examples: ORR, ORRS

Variants

Variant Mnemonic Example Description
Movi MOV
Bit32 ORR
Bit16 ORR
Fmov MOV

Movi Operands:

Parameter Type
Rd Floating-point register
immh,imml,op,cmode immsimd8movi

Bit32 Operands:

Parameter Type
Rd Floating-point register
immh,imml,cmode immsimd8lsl

Bit16 Operands:

Parameter Type
Rd Floating-point register
immh,imml,cmode immsimd8lsl

Fmov Operands:

Parameter Type
Rd Floating-point register
immh,imml immsimd8fmov

Required Features


SQDMULH_VEC

ARM64 SQDMULH_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 101101 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SQDMULL_VEC

ARM64 SQDMULL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opcode 4-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

SQRDMLAH_VEC

ARM64 SQRDMLAH_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 1
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 1000 Fixed bit pattern
11 S 1-bit value (0=don't set flags, 1=set flags)
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SQRDMLH

Variants

Variant Mnemonic Example Description
Default SQRDMLH

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features

RDM


TBL

ARM64 TBL instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29:24 001110 Fixed bit pattern
23:22 size Fixed value: 00
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 0 Fixed bit pattern
14:13 len 2-bit value
12 op 1-bit value
11:10 00 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

XTN_VEC

ARM64 XTN_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:15 1000010 Fixed bit pattern
14:13 op 2-bit value
12:10 010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Floating Point

Instruction Description
FABD_SCALAR Floating Point instruction
FADDSUB_VEC Floating Point instruction
FARITH1 Floating Point instruction
FARITH1_VEC Floating Point instruction
FARITH2 Floating Point instruction
FCCMP Floating Point instruction
FCMLA_ELEM Floating Point instruction
FCMLA_VEC Floating Point instruction
FCMP Floating Point instruction
FCMPREGSCALAR Floating Point instruction
FCMPREGVEC Floating Point instruction
FCMPZEROSCALAR Floating Point instruction
FCMPZEROVEC Floating Point instruction
FCSEL Floating Point instruction
FCVTL_VEC Floating Point instruction
FCVTN_SCALAR Floating Point instruction
FCVTN_VEC Floating Point instruction
FCVT_FP Floating Point instruction
FCVT_FROMFIXED Floating Point instruction
FCVT_FROMINT Floating Point instruction
FCVTFROMINTSCALAR Floating Point instruction
FCVTFROMINTVEC Floating Point instruction
FCVT_SCALAR Floating Point instruction
FCVTSCALARFIXED Floating Point instruction
FCVT_TOFIXED Floating Point instruction
FCVT_TOINT Floating Point instruction
FCVT_VEC Floating Point instruction
FCVTVECFIXED Floating Point instruction
FDIV_VEC Floating Point instruction
FHM_ELEM Floating Point instruction
FHM_VEC Floating Point instruction
FJCVTZS Floating Point instruction
FMADD Floating Point instruction
FMINMAX_VEC Floating Point instruction
FMLAL_ELEM Floating Point instruction
FMLAL_VEC Floating Point instruction
FMLA_VEC Floating Point instruction
FMOV_FROMGP Floating Point instruction
FMOV_IMM Floating Point instruction
FMOV_TOGP Floating Point instruction
FMULX_SCALAR Floating Point instruction
FMUL_ELEM Floating Point instruction
FMULELEMFP16 Floating Point instruction
FMULELEMSCALAR Floating Point instruction
FMULELEMSCALAR_FP16 Floating Point instruction
FMUL_VEC Floating Point instruction
FP162REGSCALAR Floating Point instruction
FP162REGVEC Floating Point instruction
FP163REGSCALAR Floating Point instruction
FP163REGVEC Floating Point instruction
FPHORZSCALAR Floating Point instruction
FPHORZVEC Floating Point instruction
FRECP_SCALAR Floating Point instruction
FRECPSTEPSCALAR Floating Point instruction
FRECPSTEPVEC Floating Point instruction
FRECP_VEC Floating Point instruction
FRINT Floating Point instruction
FRINTTS Floating Point instruction
FRINTTS_VEC Floating Point instruction
FRINT_VEC Floating Point instruction

FABD_SCALAR

ARM64 FABD_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 1
28:24 11110 Fixed bit pattern
23 o1 Fixed value: 1
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 110101 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SABD, UABD, SABA, UABA

Variants

Variant Mnemonic Example Description
Default SABD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FADDSUB_VEC

ARM64 FADDSUB_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 110101 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FARITH1

ARM64 FARITH1 instruction

Encoding

Bits Field Description
31 M Fixed value: 0
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21:17 10000 Fixed bit pattern
16:15 opc 2-bit value
14:10 10000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FARITH1_VEC

ARM64 FARITH1_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011101 Fixed bit pattern
22 sz 1-bit value
21:17 10000 Fixed bit pattern
16 o1 1-bit value
15:10 111110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FARITH2

ARM64 FARITH2 instruction

Encoding

Bits Field Description
31:24 00011110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 opc 4-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


FCCMP

ARM64 FCCMP instruction

Encoding

Bits Field Description
31:24 00011110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 cond 4-bit value
11:10 01 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4 op 1-bit value
3:0 nzcv 4-bit value

Mnemonic

Examples: CMP, CMN

Variants

Variant Mnemonic Example Description
Default CMP

Default Operands:

Parameter Type
Rn Floating-point register
Rm Floating-point register
nzcv Immediate value
cond Condition code

Required Features


FCMLA_ELEM

ARM64 FCMLA_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 1
28:24 01111 Fixed bit pattern
23:22 size 2-bit value (element size)
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15 0 Fixed bit pattern
14:13 rot 2-bit value
12 1 Fixed bit pattern
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCMLA

Variants

Variant Mnemonic Example Description
Default FCMLA

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidxlim
rot immrotmul

Required Features

FCMA


FCMLA_VEC

ARM64 FCMLA_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 1
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 11 Fixed bit pattern
13 o1 1-bit value
12:11 rot 2-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
rot immrot

Required Features

FCMA


FCMP

ARM64 FCMP instruction

Encoding

Bits Field Description
31:24 00011110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 001000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:3 opc 2-bit value
2:0 000 Fixed bit pattern

Mnemonic

Examples: CMP, CMN

Variants

Variant Mnemonic Example Description
Default CMP

Default Operands:

Parameter Type
Rn Floating-point register
Rm

Required Features


FCMPREGSCALAR

ARM64 FCMPREGSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23 E 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 1110 Fixed bit pattern
11 ac 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: F

Variants

Variant Mnemonic Example Description
Default F

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FCMPREGVEC

ARM64 FCMPREGVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 E 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 1110 Fixed bit pattern
11 ac 1-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: F

Variants

Variant Mnemonic Example Description
Default F

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FCMPZEROSCALAR

ARM64 FCMPZEROSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111101 Fixed bit pattern
22 sz 1-bit value
21:14 10000011 Fixed bit pattern
13:12 op 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCM

Variants

Variant Mnemonic Example Description
Default FCM

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCMPZEROVEC

ARM64 FCMPZEROVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011101 Fixed bit pattern
22 sz 1-bit value
21:14 10000011 Fixed bit pattern
13:12 op 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCM

Variants

Variant Mnemonic Example Description
Default FCM

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCSEL

ARM64 FCSEL instruction

Encoding

Bits Field Description
31:24 00011110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:12 cond 4-bit value
11:10 11 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCSEL

Variants

Variant Mnemonic Example Description
Default FCSEL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
cond Condition code

Required Features


FCVTL_VEC

ARM64 FCVTL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:23 011100 Fixed bit pattern
22 sz 1-bit value
21:10 100001011110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVTL

Variants

Variant Mnemonic Example Description
Default FCVTL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVTN_SCALAR

ARM64 FCVTN_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 1
28:23 111100 Fixed bit pattern
22 sz Fixed value: 1
21:10 100001011010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVTXN

Variants

Variant Mnemonic Example Description
Default FCVTXNs

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVTN_VEC

ARM64 FCVTN_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21:10 100001011010 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FCVT_FP

ARM64 FCVT_FP instruction

Encoding

Bits Field Description
31 M Fixed value: 0
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21:17 10001 Fixed bit pattern
16:15 opc 2-bit value
14:10 10000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FCVT_FROMFIXED

ARM64 FCVT_FROMFIXED instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 0 Fixed bit pattern
20:19 rmode Fixed value: 00
18:16 opcode 3-bit value
15:10 scale 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CVTF

Variants

Variant Mnemonic Example Description
Default CVTF

Default Operands:

Parameter Type
Rd Floating-point register
Rn General-purpose register
scale fcvtfixscale

Required Features


FCVT_FROMINT

ARM64 FCVT_FROMINT instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:19 rmode Fixed value: 00
18:16 opcode 3-bit value
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CVTF

Variants

Variant Mnemonic Example Description
Default CVTF

Default Operands:

Parameter Type
Rd Floating-point register
Rn General-purpose register

Required Features


FCVTFROMINTSCALAR

ARM64 FCVTFROMINTSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111100 Fixed bit pattern
22 sz 1-bit value
21:10 100001110110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CVTF

Variants

Variant Mnemonic Example Description
Default CVTF

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVTFROMINTVEC

ARM64 FCVTFROMINTVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011100 Fixed bit pattern
22 sz 1-bit value
21:10 100001110110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: CVTF

Variants

Variant Mnemonic Example Description
Default CVTF

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVT_SCALAR

ARM64 FCVT_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23 o2 1-bit value
22 sz 1-bit value
21:17 10000 Fixed bit pattern
16:12 opcode 5-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVT

Variants

Variant Mnemonic Example Description
Default FCVT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVTSCALARFIXED

ARM64 FCVTSCALARFIXED instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 111 Fixed bit pattern
12:11 op 2-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: CVT

Variants

Variant Mnemonic Example Description
Default CVTi

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

Required Features


FCVT_TOFIXED

ARM64 FCVT_TOFIXED instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 0 Fixed bit pattern
20:19 rmode Fixed value: 11
18:16 opcode 3-bit value
15:10 scale 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVTZ

Variants

Variant Mnemonic Example Description
Default FCVTZ

Default Operands:

Parameter Type
Rd General-purpose register
Rn Floating-point register
scale fcvtfixscale

Required Features


FCVT_TOINT

ARM64 FCVT_TOINT instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:19 rmode 2-bit value
18:16 opcode 3-bit value
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVT

Variants

Variant Mnemonic Example Description
Default FCVT

Default Operands:

Parameter Type
Rd General-purpose register
Rn Floating-point register

Required Features


FCVT_VEC

ARM64 FCVT_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 o2 1-bit value
22 sz 1-bit value
21:17 10000 Fixed bit pattern
16:12 opcode 5-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FCVT

Variants

Variant Mnemonic Example Description
Default FCVT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FCVTVECFIXED

ARM64 FCVTVECFIXED instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011110 Fixed bit pattern
22:19 immh 4-bit value
18:16 immb 3-bit value
15:13 111 Fixed bit pattern
12:11 op 2-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 0 Fixed bit pattern

Mnemonic

Examples: CVT

Variants

Variant Mnemonic Example Description
Default CVTi

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
immh,immb immshiftr

Required Features


FDIV_VEC

ARM64 FDIV_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 1
28:23 011100 Fixed bit pattern
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 111111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SDIV, UDIV

Variants

Variant Mnemonic Example Description
Default SDIV

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FHM_ELEM

ARM64 FHM_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01111 Fixed bit pattern
23:22 size Fixed value: 10
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15 o1 1-bit value
14 S 1-bit value (0=don't set flags, 1=set flags)
13:12 00 Fixed bit pattern
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FMLL

Variants

Variant Mnemonic Example Description
Default FMLL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features

FHM


FHM_VEC

ARM64 FHM_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 S 1-bit value (0=don't set flags, 1=set flags)
22:21 01 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:11 opcode 5-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FMLL

Variants

Variant Mnemonic Example Description
Default FMLL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features

FHM


FJCVTZS

ARM64 FJCVTZS instruction

Encoding

Bits Field Description
31 sf Fixed value: 0
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype Fixed value: 01
21 1 Fixed bit pattern
20:19 rmode Fixed value: 11
18:16 opcode Fixed value: 110
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FJCVTZS

Variants

Variant Mnemonic Example Description
Default FJCVTZSwd

Default Operands:

Parameter Type
Rd General-purpose register
Rn Floating-point register

Required Features

JSCVT


FMADD

ARM64 FMADD instruction

Encoding

Bits Field Description
31:24 00011111 Fixed bit pattern
23:22 ftype 2-bit value
21 o1 1-bit value
20:16 Rm 5-bit value (second source register)
15 o0 1-bit value
14:10 Ra 5-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
Ra Floating-point register

Required Features


FMINMAX_VEC

ARM64 FMINMAX_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:11 opcode 5-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: F

Variants

Variant Mnemonic Example Description
Default F

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FMLAL_ELEM

ARM64 FMLAL_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01111 Fixed bit pattern
23:22 size Fixed value: 11
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M,Rm velemidx0

Required Features


FMLAL_VEC

ARM64 FMLAL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size Fixed value: 11
21 0 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15 1 Fixed bit pattern
14:11 opcode Fixed value: 1111
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


FMLA_VEC

ARM64 FMLA_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 110011 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FMLV

Variants

Variant Mnemonic Example Description
Default FML

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FMOV_FROMGP

ARM64 FMOV_FROMGP instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:19 rmode 2-bit value
18:16 opcode Fixed value: 111
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV

Default Operands:

Parameter Type
Rd Floating-point register
Rn General-purpose register

Required Features


FMOV_IMM

ARM64 FMOV_IMM instruction

Encoding

Bits Field Description
31:24 00011110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:13 imm8 8-bit value
12:5 10000000 Fixed bit pattern
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV

Default Operands:

Parameter Type
Rd Floating-point register
imm8 immfmov

Required Features


FMOV_TOGP

ARM64 FMOV_TOGP instruction

Encoding

Bits Field Description
31 sf 1-bit value (0=32-bit, 1=64-bit)
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21 1 Fixed bit pattern
20:19 rmode 2-bit value
18:16 opcode Fixed value: 110
15:10 000000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MOV, MOVS, MVN

Variants

Variant Mnemonic Example Description
Default MOV

Default Operands:

Parameter Type
Rd General-purpose register
Rn Floating-point register

Required Features


FMULX_SCALAR

ARM64 FMULX_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 0
28:23 111100 Fixed bit pattern
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 110111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FMUL_ELEM

ARM64 FMUL_ELEM instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011111 Fixed bit pattern
22 sz 1-bit value
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 1 Fixed bit pattern
-2 1 Fixed bit pattern
-3 1 Fixed bit pattern
-4 0 Fixed bit pattern

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

FMULELEMFP16

ARM64 FMULELEMFP16 instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:22 0111100 Fixed bit pattern
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features

FP16


FMULELEMSCALAR

ARM64 FMULELEMSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111111 Fixed bit pattern
22 sz 1-bit value
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)
-1 1 Fixed bit pattern
-2 1 Fixed bit pattern

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

FMULELEMSCALAR_FP16

ARM64 FMULELEMSCALAR_FP16 instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:22 1111100 Fixed bit pattern
21 L 1-bit value
20 M 1-bit value
19:16 Rm 4-bit value (second source register)
15:12 opcode 4-bit value
11 H 1-bit value
10 0 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
M,Rm regfplim
H,L,M velemidx

Required Features

FP16


FMUL_VEC

ARM64 FMUL_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011100 Fixed bit pattern
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 110111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: MUL, MULS

Variants

Variant Mnemonic Example Description
Default MUL

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FP162REGSCALAR

ARM64 FP162REGSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23 a 1-bit value
22:17 111100 Fixed bit pattern
16:12 opcode 5-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default h

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features

FP16


FP162REGVEC

ARM64 FP162REGVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 a 1-bit value
22:17 111100 Fixed bit pattern
16:12 opcode 5-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default B

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features

FP16


FP163REGSCALAR

ARM64 FP163REGSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23 a 1-bit value
22:21 10 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 00 Fixed bit pattern
13:11 opcode 3-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: SABD, UABD, SABA, UABA

Variants

Variant Mnemonic Example Description
Default SABD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features

FP16


FP163REGVEC

ARM64 FP163REGVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 a 1-bit value
22:21 10 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:14 00 Fixed bit pattern
13:11 opcode 3-bit value
10 1 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

Required Features


FPHORZSCALAR

ARM64 FPHORZSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:24 11110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:17 11000 Fixed bit pattern
16:12 opcode Fixed value: 011xx
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: ADD, ADDS

Variants

Variant Mnemonic Example Description
Default ADD

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FPHORZVEC

ARM64 FPHORZVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size Fixed value: x0
21:17 11000 Fixed bit pattern
16:12 opcode Fixed value: 011xx
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FV

Variants

Variant Mnemonic Example Description
Default FV

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FRECP_SCALAR

ARM64 FRECP_SCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U 1-bit value (0=signed, 1=unsigned)
28:23 111101 Fixed bit pattern
22 sz 1-bit value
21:14 10000111 Fixed bit pattern
13 o1 1-bit value
12:10 110 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: F

Variants

Variant Mnemonic Example Description
Default F

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FRECPSTEPSCALAR

ARM64 FRECPSTEPSCALAR instruction

Encoding

Bits Field Description
31:30 01 Fixed bit pattern
29 U Fixed value: 0
28:24 11110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 111111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FS

Variants

Variant Mnemonic Example Description
Default FS

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FRECPSTEPVEC

ARM64 FRECPSTEPVEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U Fixed value: 0
28:24 01110 Fixed bit pattern
23 o1 1-bit value
22 sz 1-bit value
21 1 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 111111 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FSV

Variants

Variant Mnemonic Example Description
Default FS

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register

FRECP_VEC

ARM64 FRECP_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23:22 size 2-bit value (element size)
21:13 100001110 Fixed bit pattern
12 o1 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: E

Variants

Variant Mnemonic Example Description
Default E

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

FRINT

ARM64 FRINT instruction

Encoding

Bits Field Description
31 M Fixed value: 0
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21:18 1001 Fixed bit pattern
17:15 rmode 3-bit value
14:10 10000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FRINT

Variants

Variant Mnemonic Example Description
Default FRINT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


FRINTTS

ARM64 FRINTTS instruction

Encoding

Bits Field Description
31 M Fixed value: 0
30 0 Fixed bit pattern
29 S Fixed value: 0
28:24 11110 Fixed bit pattern
23:22 ftype 2-bit value
21:17 10100 Fixed bit pattern
16:15 op 2-bit value
14:10 10000 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FRINT

Variants

Variant Mnemonic Example Description
Default FRINT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features

FRINTTS


FRINTTS_VEC

ARM64 FRINTTS_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:23 011100 Fixed bit pattern
22 sz 1-bit value
21:13 100001111 Fixed bit pattern
12 o1 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FRINT

Variants

Variant Mnemonic Example Description
Default FRINT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features

FRINTTS


FRINT_VEC

ARM64 FRINT_VEC instruction

Encoding

Bits Field Description
31 0 Fixed bit pattern
30 Q 1-bit value (0=smaller variant, 1=larger variant)
29 U 1-bit value (0=signed, 1=unsigned)
28:24 01110 Fixed bit pattern
23 o2 1-bit value
22 sz 1-bit value
21:13 100001100 Fixed bit pattern
12 o1 1-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: FRINT

Variants

Variant Mnemonic Example Description
Default FRINT

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

System

Instruction Description
MSR_FLAGM System instruction
MSR_IMM System instruction
MSR_REG System instruction
SYS System instruction

MSR_FLAGM

ARM64 MSR_FLAGM instruction

Encoding

Bits Field Description
31:19 1101010100000 Fixed bit pattern
18:16 op1 Fixed value: 000
15:12 0100 Fixed bit pattern
11:8 CRm 4-bit value
7:5 op2 3-bit value
4:0 11111 Fixed bit pattern

Mnemonic

Examples: Instruction

Variants

Variant Mnemonic Example Description
Default Instruction

Default Operands:

Parameter Type
CRm Constant value

Required Features


MSR_IMM

ARM64 MSR_IMM instruction

Encoding

Bits Field Description
31:19 1101010100000 Fixed bit pattern
18:16 op1 3-bit value
15:12 0100 Fixed bit pattern
11:8 CRm 4-bit value
7:5 op2 3-bit value
4:0 11111 Fixed bit pattern

Mnemonic

Examples: B, BL, BX

Variants

Variant Mnemonic Example Description
Default MSRi
1 MSRi
Sm STR

Default Operands:

Parameter Type
op1 Immediate value
op2 Immediate value
CRm Immediate value

1 Operands:

Parameter Type
CRm Immediate value

Required Features


MSR_REG

ARM64 MSR_REG instruction

Encoding

Bits Field Description
31:22 1101010100 Fixed bit pattern
21 SYSL 1-bit value
20:5 sysreg Fixed value: 1xxxxxxxxxxxxxxx
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: M # TODO: pretty format of sysreg

Variants

Variant Mnemonic Example Description
Default M

Default Operands:

Parameter Type
{SYSL:0 :1=Rt=reggp}
sysreg Unsigned immediate
{SYSL:0 Rt=reggp:1=}

SYS

ARM64 SYS instruction

Encoding

Bits Field Description
31:22 1101010100 Fixed bit pattern
21 SYSL 1-bit value
20:5 sysreg Fixed value: 01xxxxxxxxxxxxxx
4:0 Rt 5-bit value (destination register)

Mnemonic

Examples: SYS # TODO: pretty format of sysreg

Variants

Variant Mnemonic Example Description
Default SYS
At AT
Brb B
Specres Instruction
Dc DC
Ic IC
Tlbi_rme B
Tlbi_os B
Tlbi_range B
Tlbi_w B
Tlbi_xs B

Default Operands:

Parameter Type
{SYSL:0 :1=Rt=reggp}
sysreg Unsigned immediate
{SYSL:0 Rt=reggp:1=}

At Operands:

Parameter Type
Rt General-purpose register

Brb Operands:

Parameter Type
Rt Zero register

Specres Operands:

Parameter Type
Rt General-purpose register

Dc Operands:

Parameter Type
Rt General-purpose register

Ic Operands:

Parameter Type
Rt

Tlbi_rme Operands:

Parameter Type
Rt

Tlbi_os Operands:

Parameter Type
Rt

Tlbi_range Operands:

Parameter Type
Rt General-purpose register

Tlbi_w Operands:

Parameter Type
Rt General-purpose register

Tlbi_xs Operands:

Parameter Type
Rt General-purpose register

Cryptography

Instruction Description
AES Cryptography instruction
XAR Cryptography instruction

AES

ARM64 AES instruction

Encoding

Bits Field Description
31:24 01001110 Fixed bit pattern
23:22 size Fixed value: 00
21:14 10100001 Fixed bit pattern
13:12 opc 2-bit value
11:10 10 Fixed bit pattern
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: AES

Variants

Variant Mnemonic Example Description
Default AES

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register

Required Features


XAR

ARM64 XAR instruction

Encoding

Bits Field Description
31:21 11001110100 Fixed bit pattern
20:16 Rm 5-bit value (second source register)
15:10 imm6 6-bit value
9:5 Rn 5-bit value (first source register)
4:0 Rd 5-bit value (destination register)

Mnemonic

Examples: XAR

Variants

Variant Mnemonic Example Description
Default XAR

Default Operands:

Parameter Type
Rd Floating-point register
Rn Floating-point register
Rm Floating-point register
imm6 Immediate value

Required Features

SHA3