ADC{S} | Add with carry |
ADD{S} | Add |
ADDG | Add with tag |
ADR | Form PC relative address |
ADRP | Form PC relative address to 4KB page |
AND{S} | Bitwise AND |
ASR† | Arithmetic shift right |
ASRV | Arithmetic shift right variable |
AT† | Address translate |
AUTDA, AUTDZA | Authenticate data address, using key A |
AUTDB, AUTDZB | Authenticate data address, using key B |
AUTIA, AUTIA1716 |
Authenticate instruction address, using key
A
|
AUTIASP, AUTIAZ | Authenticate instruction address, using key A |
AUTIZA | Authenticate instruction address, using key A |
AUTIB, AUTIB1716 | Authenticate instruction address, using key B |
AUTIBSP, AUTIBZ | Authenticate instruction address, using key B |
AUTIZB | Authenticate instruction address, using key B |
AXFlag | Convert floating-point condition flags |
B | Branch |
B.cond | Branch conditionally |
BFC† | Bitfield clear |
BFI† | Bitfield insert |
BFM | Bitfield move |
BFXIL† |
Bitfield
extract
and insert at low end
|
BIC{S} | Bitwise bit clear |
BL | Branch with link |
BLR | Branch with link to register |
BLRAA, BLRAAZ | Branch with link to register, with pointer authentication |
BLRAB, BLRABZ | Branch with link to register, with pointer authentication |
BR | Branch to register |
BRAA, BRAAZ | Branch to register, with pointer authentication |
BRAB, BRABZ | Branch to register, with pointer authentication |
BRK | Breakpoint instruction |
BTI | Branch target identification |
CAS, CASA | Compare and swap word or doubleword in memory |
CASAL, CASL |
Compare and swap
word
or doubleword in memory
|
CASB, CASAB | Compare and swap byte in memory |
CASALB, CASLB | Compare and swap byte in memory |
CASH, CASAH | Compare and swap halfword in memory |
CASALH, CASLH | Compare and swap halfword in memory |
CASP, CASPA | Compare and swap pair of words or doublewords in memory |
CASPAL, CASPL | Compare and swap pair of words or doublewords in memory |
CBNZ | Compare and branch on nonzero |
CBZ | Compare and branch on zero |
CCMN | Conditional compare negative |
CCMP | Conditional compare |
CFINV | Invert carry flag |
CFP† | Control flow prediction restriction by context |
CINC† | Conditional increment |
CINV† | Conditional invert |
CLREX | Clear exclusive |
CLS |
Count leading sign
bits
|
CLZ | Count leading zeros |
CMN† | Compare negative |
CMP† | Compare |
CMPP† | Compare with tag |
CNEG† | Conditional negate |
CPP† | Cache prefetch prediction restriction by context |
CRC32B, CRC32H | CRC32 checksum |
CRC32W, CRC32X | CRC32 checksum |
CRC32CB | CRC32C checksum |
CRC32CH |
CRC32C
checksum
|
CRC32CW | CRC32C checksum |
CRC32CX | CRC32C checksum |
CSDB | Consumption of speculative data barrier |
CSEL | Conditional select |
CSET† | Conditional set |
CSETM† | Conditional set mask |
CSINC | Conditional select increment |
CSINV | Conditional select invert |
CSNEG | Conditional select negation |
DC† | Data cache operation |
DCPS1 | Debug change PE state to EL1 |
DCPS2 | Debug change PE state to EL2 |
DCPS3 | Debug change PE state to EL3 |
DMB |
Data memory
barrier
|
DRPS | Debug restore process state |
DSB | Data synchronization barrier |
DVP† | Data value prediction restriction by context |
EON | Bitwise exclusive OR NOT |
EOR | Bitwise exclusive OR |
ERET | Exception return |
ERETAA, ERETAB | Exception return, with pointer authentication |
ESB | Error synchronization barrier |
EXTR | Extract register |
GMI | Tag mask insert |
HINT | Hint instruction |
HLT | Halt instruction |
HVC | Hypervisor call |
IC† | Instruction cache operation |
IRG | Insert random tag |
ISB |
Instruction synchronization
barrier
|
LDADD, LDADDA | Atomic add on word or doubleword in memory |
LDADDAL, LDADDL | Atomic add on word or doubleword in memory |
LDADDB, LDADDAB | Atomic add on byte in memory |
LDADDALB | Atomic add on byte in memory |
LDADDLB | Atomic add on byte in memory |
LDADDH | Atomic add on halfword in memory |
LDADDAH | Atomic add on halfword in memory |
LDADDALH | Atomic add on halfword in memory |
LDADDLH | Atomic add on halfword in memory |
LDAPR | Load-acquire RCpc register |
LDAPRB | Load-acquire RCpc register byte |
LDAPRH | Load-acquire RCpc register halfword |
LDAPUR | Load-acquire RCpc register (unscaled) |
LDAPURB |
Load-acquire RCpc register byte
(unscaled)
|
LDAPURH | Load-acquire RCpc register halfword (unscaled) |
LDAPURSB | Load-acquire RCpc register signed byte (unscaled) |
LDAPURSH | Load-acquire RCpc register signed halfword (unscaled) |
LDAPURSW | Load-acquire RCpc register signed word (unscaled) |
LDAR | Load-acquire register |
LDARB | Load-acquire register byte |
LDARH | Load-acquire register halfword |
LDAXP |
Load-acquire exclusive pair of
registers
|
LDAXR | Load-acquire exclusive register |
LDAXRB | Load-acquire exclusive register byte |
LDAXRH | Load-acquire exclusive register halfword |
LDCLR, LDCLRA | Atomic bit clear on word or doubleword in memory |
LDCLRAL, LDCLRL | Atomic bit clear on word or doubleword in memory |
LDCLRB, LDCLRAB | Atomic bit clear on byte in memory |
LDCLRALB | Atomic bit clear on byte in memory |
LDCLRLB | Atomic bit clear on byte in memory |
LDCLRH, LDCLRAH | Atomic bit clear on halfword in memory |
LDCLRALH | Atomic bit clear on halfword in memory |
LDCLRLH | Atomic bit clear on halfword in memory |
LDEOR, LDEORA |
Atomic exclusive OR on word or doubleword in
memory
|
LDEORAL, LDEORL | Atomic exclusive OR on word or doubleword in memory |
LDEORB, LDEORAB | Atomic exclusive OR on byte in memory |
LDEORALB | Atomic exclusive OR on byte in memory |
LDEORLB | Atomic exclusive OR on byte in memory |
LDEORH, LDEORAH | Atomic exclusive OR on halfword in memory |
LDEORALH | Atomic exclusive OR on halfword in memory |
LDEORLH | Atomic exclusive OR on halfword in memory |
LDG | Load allocation tag |
LDGV | Load allocation tag |
LDLAR | Load LOAcquire register |
LDLARB | Load LOAcquire register byte |
LDLARH | Load LOAcquire register halfword |
LDNP | Load pair of registers, with non-temporal hint |
LDP |
Load pair of
registers
|
LDPSW | Load pair of registers signed word |
LDR | Load register |
LDRAA, LDRAB | Load register, with pointer authentication |
LDRB | Load register byte |
LDRH | Load register halfword |
LDRSB | Load register signed byte |
LDRSH | Load register signed halfword |
LDRSW | Load register signed word |
LDSET, LDSETA | Atomic bit set on word or doubleword in memory |
LDSETAL, LDSETL | Atomic bit set on word or doubleword in memory |
LDSETB, LDSETAB | Atomic bit set on byte in memory |
LDSETALB | Atomic bit set on byte in memory |
LDSETLB |
Atomic bit set on byte in
memory
|
LDSETH, LDSETAH | Atomic bit set on halfword in memory |
LDSETALH | Atomic bit set on halfword in memory |
LDSETLH | Atomic bit set on halfword in memory |
LDSMAX | Atomic signed maximum on word or doubleword in memory |
LDSMAXA | Atomic signed maximum on word or doubleword in memory |
LDSMAXAL | Atomic signed maximum on word or doubleword in memory |
LDSMAXL | Atomic signed maximum on word or doubleword in memory |
LDSMAXB | Atomic signed maximum on byte in memory |
LDSMAXAB | Atomic signed maximum on byte in memory |
LDSMAXALB | Atomic signed maximum on byte in memory |
LDSMAXLB | Atomic signed maximum on byte in memory |
LDSMAXH |
Atomic signed maximum on halfword in
memory
|
LDSMAXAH | Atomic signed maximum on halfword in memory |
LDSMAXALH | Atomic signed maximum on halfword in memory |
LDSMAXLH | Atomic signed maximum on halfword in memory |
LDSMIN, LDSMINA | Atomic signed minimum on word or doubleword in memory |
LDSMINAL | Atomic signed minimum on word or doubleword in memory |
LDSMINL | Atomic signed minimum on word or doubleword in memory |
LDSMINB | Atomic signed minimum on byte in memory |
LDSMINAB | Atomic signed minimum on byte in memory |
LDSMINALB | Atomic signed minimum on byte in memory |
LDSMINLB | Atomic signed minimum on byte in memory |
LDSMINH |
Atomic signed minimum on halfword in
memory
|
LDSMINAH | Atomic signed minimum on halfword in memory |
LDSMINALH | Atomic signed minimum on halfword in memory |
LDSMINLH | Atomic signed minimum on halfword in memory |
LDTR | Load register (unprivileged) |
LDTRB | Load register byte (unprivileged) |
LDTRH | Load register halfword (unprivileged) |
LDTRSB | Load register signed byte (unprivileged) |
LDTRSH | Load register signed halfword (unprivileged) |
LDTRSW |
Load register signed word
(unprivileged)
|
LDUMAX | Atomic unsigned maximum on word or doubleword in memory |
LDUMAXA | Atomic unsigned maximum on word or doubleword in memory |
LDUMAXAL | Atomic unsigned maximum on word or doubleword in memory |
LDUMAXL | Atomic unsigned maximum on word or doubleword in memory |
LDUMAXB | Atomic unsigned maximum on byte in memory |
LDUMAXAB | Atomic unsigned maximum on byte in memory |
LDUMAXALB | Atomic unsigned maximum on byte in memory |
LDUMAXLB | Atomic unsigned maximum on byte in memory |
LDUMAXH |
Atomic unsigned maximum on halfword in
memory
|
LDUMAXAH | Atomic unsigned maximum on halfword in memory |
LDUMAXALH | Atomic unsigned maximum on halfword in memory |
LDUMAXLH | Atomic unsigned maximum on halfword in memory |
LDUMIN | Atomic unsigned minimum on word or doubleword in memory |
LDUMINA | Atomic unsigned minimum on word or doubleword in memory |
LDUMINAL | Atomic unsigned minimum on word or doubleword in memory |
LDUMINL | Atomic unsigned minimum on word or doubleword in memory |
LDUMINB |
Atomic unsigned minimum on byte in
memory
|
LDUMINAB | Atomic unsigned minimum on byte in memory |
LDUMINALB | Atomic unsigned minimum on byte in memory |
LDUMINLB | Atomic unsigned minimum on byte in memory |
LDUMINH | Atomic unsigned minimum on halfword in memory |
LDUMINAH | Atomic unsigned minimum on halfword in memory |
LDUMINALH | Atomic unsigned minimum on halfword in memory |
LDUMINLH | Atomic unsigned minimum on halfword in memory |
LDUR | Load register (unscaled) |
LDURB | Load register byte (unscaled) |
LDURH | Load register halfword (unscaled) |
LDURSB | Load register signed byte (unscaled) |
LDURSH | Load register signed halfword (unscaled) |
LDURSW | Load register signed word (unscaled) |
LDXP |
Load exclusive pair of
registers
|
LDXR | Load exclusive register |
LDXRB | Load exclusive register byte |
LDXRH | Load exclusive register halfword |
LSL† | Logical shift left |
LSLV | Logical shift left variable |
LSR† | Logical shift right |
LSRV | Logical shift right variable |
MADD | Multiply-add |
MNEG† | Multiply-negate |
MOV† | Move |
MOVK | Move wide with keep |
MOVN | Move wide with NOT |
MOVZ | Move wide with zero |
MRS | Move system register |
MSR | Move value to special register |
MSUB |
Multiply-subtract
|
MUL† | Multiply |
MVN† | Bitwise NOT |
NEG{S}† | Negate |
NGC{S}† | Negate with carry |
NOP | No operation |
ORN | Bitwise OR NOT |
ORR | Bitwise OR |
PACDA, PACDZA | Pointer authentication code for data address, using key A |
PACDB, PACDZB |
Pointer authentication code for data address, using key
B
|
PACGA | Pointer authentication code, using generic key |
PACIA, PACIA1716 | Pointer authentication code for instruction address, using key A |
PACIASP, PACIAZ | Pointer authentication code for instruction address, using key A |
PACIZA | Pointer authentication code for instruction address, using key A |
PACIB, PACIB1716 | Pointer authentication code for instruction address, using key B |
PACIBSP, PACIBZ | Pointer authentication code for instruction address, using key B |
PACIZ | Pointer authentication code for instruction address, using key B |
PRFM | Prefetch memory |
PSB CSYNC | Profiling synchronization barrier |
PSSBB | Physical speculative store bypass barrier |
RBIT | Reverse bits |
RET |
Return from
subroutine
|
RETAA, RETAB | Return from subroutine, with pointer authentication |
REV | Reverse bytes |
REV16 | Reverse bytes in 16-bit halfwords |
REV32 | Reverse bytes in 32-bit words |
REV64† | Reverse bytes |
RMIF | Rotate, mask insert flags |
ROR† | Rotate right |
RORV | Rotate right variable |
SB | Speculation barrier |
SBC{S} | Subtract with carry |
SBFIZ† | Signed bitfield insert in zero |
SBFM | Signed bitfield move |
SBFX† | Signed bitfield extract |
SDIV |
Signed
divide
|
SETF8, SETF16 | Evaluation of 8- or 16-bit flag values |
SEV | Send event |
SEVL | Send event local |
SMADDL | Signed multiply-add long |
SMC | Secure monitor call |
SMNEGL† | Signed multiply-negate long |
SMSUBL | Signed multiply-subtract long |
SMULH | Signed multiply high |
SMULL | Signed multiply long: an alias of SMADDL |
SSBB | Speculative store bypass barrier |
ST2G | Store allocation tags |
STADD, STADDL† | Atomic add on word or doubleword in memory, without return |
STADDB† |
Atomic add on byte in memory, without
return
|
STADDLB† | Atomic add on byte in memory, without return |
STADDH† | Atomic add on halfword in memory, without return |
STADDLH† | Atomic add on halfword in memory, without return |
STCLR, STCLRL† | Atomic bit clear on word or doubleword in memory, without return |
STCLRB, STCLRLB† | Atomic bit clear on byte in memory, without return |
STCLRH, STCLRLH† | Atomic bit clear on halfword in memory, without return |
STEOR, STEORL† | Atomic exclusive OR on word or doubleword in memory, without return |
STEORB, STEORLB† | Atomic exclusive OR on byte in memory, without return |
STEORH, STEORLH† |
Atomic exclusive OR on halfword in memory, without
return
|
STG | Store allocation tag |
STGP | Store allocation tag and pair of registers |
STGV | Store tag vector |
STLLR | Store LORelease register |
STLLRB | Store LORelease register byte |
STLLRH | Store LORelease register halfword |
STLR | Store-release register |
STLRB | Store-release register byte |
STLRH | Store-release register halfword |
STLUR | Store-release register (unscaled) |
STLURB | Store-release register byte (unscaled) |
STLURH | Store-release register halfword (unscaled) |
STLXP | Store-release exclusive pair of registers |
STLXR |
Store-release exclusive
register
|
STLXRB | Store-release exclusive register byte |
STLXRH | Store-release exclusive register halfword |
STNP | Store pair of registers, with non-temporal hint |
STP | Store pair of registers |
STR | Store register |
STRB | Store register byte |
STRH | Store register halfword |
STSET, STSETL† | Atomic bit set on word or doubleword in memory, without return |
STSETB, STSETLB† | Atomic bit set on byte in memory, without return |
STSETH, STSETLH† | Atomic bit set on halfword in memory, without return |
STSMAX† | Atomic signed maximum on word or doubleword in memory |
STSMAXL† | Atomic signed maximum on word or doubleword in memory |
STSMAXB† | Atomic signed maximum on byte in memory, without return |
STSMAXLB† | Atomic signed maximum on byte in memory, without return |
STSMAXH† | Atomic signed maximum on halfword in memory, without return |
STSMAXLH† | Atomic signed maximum on halfword in memory, without return |
STSMIN, STSMINL† | Atomic signed minimum on word or doubleword in memory, without return |
STSMINB† | Atomic signed minimum on byte in memory, without return |
STSMINLB† | Atomic signed minimum on byte in memory, without return |
STSMINH† | Atomic signed minimum on halfword in memory, without return |
STSMINLH† |
Atomic signed minimum on halfword in memory, without
return
|
STTR | Store register (unprivileged) |
STTRB | Store register byte (unprivileged) |
STTRH | Store register halfword (unprivileged) |
STUMAX† | Atomic unsigned maximum on word or doubleword in memory |
STUMAXL† | Atomic unsigned maximum on word or doubleword in memory |
STUMAXB† | Atomic unsigned maximum on byte in memory |
STUMAXLB† | Atomic unsigned maximum on byte in memory |
STUMAXH† | Atomic unsigned maximum on halfword in memory |
STUMAXLH† | Atomic unsigned maximum on halfword in memory |
STUMIN† | Atomic unsigned minimum on word or doubleword in memory |
STUMINL† | Atomic unsigned minimum on word or doubleword in memory |
STUMINB† | Atomic unsigned minimum on byte in memory |
STUMINLB† | Atomic unsigned minimum on byte in memory |
STUMINH† |
Atomic unsigned minimum on halfword in
memory
|
STUMINLH† | Atomic unsigned minimum on halfword in memory |
STUR | Store register (unscaled) |
STURB | Store register byte (unscaled) |
STURH | Store register halfword (unscaled) |
STXP | Store exclusive pair of registers |
STXR | Store exclusive register |
STXRB | Store exclusive register byte |
STXRH | Store exclusive register halfword |
STZ2G | Store allocation tags, zeroing |
STZG | Store allocation tag, zeroing |
SUB{S} | Subtract |
SUBG | Subtract with tag |
SUBP{S} |
Subtract
pointer
|
SVC | Supervisor call |
SWP, SWPA | Swap word or doubleword in memory |
SWPAL, SWPL | Swap word or doubleword in memory |
SWPB, SWPAB | Swap byte in memory |
SWPALB, SWPLB | Swap byte in memory |
SWPH, SWPAH | Swap halfword in memory |
SWPALH, SWPLH | Swap halfword in memory |
SXTB† | Signed extend byte |
SXTH† | Sign extend halfword |
SXTW† | Sign extend word |
SYS | System instruction |
SYSL | System instruction with result |
TBNZ | Test bit and branch if nonzero |
TBZ | Test bit and branch if zero |
TLBI† |
TLB invalidate
operation
|
TSB CSYNC | Trace synchronization barrier |
TST† | Test bits |
UBFIZ† | Unsigned bitfield insert in zero |
UBFM | Unsigned bitfield move |
UBFX† | Unsigned bitfield extract |
UDF | Permanently undefined |
UDIV | Unsigned divide |
UMADDL | Unsigned multiply-add long |
UMNEGL† | Unsigned multiply-negate long |
UMSUBL | Unsigned multiply-subtract long |
UMULH | Unsigned multiply high |
UMULL† | Unsigned multiply long |
UXTB† | Unsigned extend byte |
UXTH† | Unsigned extend halfword |
WFE | Wait for event |
WFI | Wait for interrupt |
XAFlag |
Convert
floating-point
condition flags from external format to ARM format
|
XPACD, XPACI | Strip pointer authentication code |
XPACLRI | Strip pointer authentication code |
YIELD | Yield |