17.1 A64 data transfer instructions in alphabetical order

A summary of the A64 data transfer instructions and pseudo-instructions that are supported.

Table 17-1 Summary of A64 data transfer instructions

Mnemonic Brief description See
CASA, CASAL, CAS, CASL, CASAL, CAS, CASL Compare and Swap word or doubleword in memory 17.2 CASA, CASAL, CAS, CASL, CASAL, CAS, CASL
CASAB, CASALB, CASB, CASLB Compare and Swap byte in memory 17.3 CASAB, CASALB, CASB, CASLB
CASAH, CASALH, CASH, CASLH Compare and Swap halfword in memory 17.4 CASAH, CASALH, CASH, CASLH
CASPA, CASPAL, CASP, CASPL, CASPAL, CASP, CASPL Compare and Swap Pair of words or doublewords in memory 17.5 CASPA, CASPAL, CASP, CASPL, CASPAL, CASP, CASPL
LDADDA, LDADDAL, LDADD, LDADDL, LDADDAL, LDADD, LDADDL Atomic add on word or doubleword in memory 17.6 LDADDA, LDADDAL, LDADD, LDADDL, LDADDAL, LDADD, LDADDL
LDADDAB, LDADDALB, LDADDB, LDADDLB Atomic add on byte in memory 17.7 LDADDAB, LDADDALB, LDADDB, LDADDLB
LDADDAH, LDADDALH, LDADDH, LDADDLH Atomic add on halfword in memory 17.8 LDADDAH, LDADDALH, LDADDH, LDADDLH
LDAPR Load-Acquire RCpc Register 17.9 LDAPR
LDAPRB Load-Acquire RCpc Register Byte 17.10 LDAPRB
LDAPRH Load-Acquire RCpc Register Halfword 17.11 LDAPRH
LDAR Load-Acquire Register 17.12 LDAR
LDARB Load-Acquire Register Byte 17.13 LDARB
LDARH Load-Acquire Register Halfword 17.14 LDARH
LDAXP Load-Acquire Exclusive Pair of Registers 17.15 LDAXP
LDAXR Load-Acquire Exclusive Register 17.16 LDAXR
LDAXRB Load-Acquire Exclusive Register Byte 17.17 LDAXRB
LDAXRH Load-Acquire Exclusive Register Halfword 17.18 LDAXRH
LDCLRA, LDCLRAL, LDCLR, LDCLRL, LDCLRAL, LDCLR, LDCLRL Atomic bit clear on word or doubleword in memory 17.19 LDCLRA, LDCLRAL, LDCLR, LDCLRL, LDCLRAL, LDCLR, LDCLRL
LDCLRAB, LDCLRALB, LDCLRB, LDCLRLB Atomic bit clear on byte in memory 17.20 LDCLRAB, LDCLRALB, LDCLRB, LDCLRLB
LDCLRAH, LDCLRALH, LDCLRH, LDCLRLH Atomic bit clear on halfword in memory 17.21 LDCLRAH, LDCLRALH, LDCLRH, LDCLRLH
LDEORA, LDEORAL, LDEOR, LDEORL, LDEORAL, LDEOR, LDEORL Atomic exclusive OR on word or doubleword in memory 17.22 LDEORA, LDEORAL, LDEOR, LDEORL, LDEORAL, LDEOR, LDEORL
LDEORAB, LDEORALB, LDEORB, LDEORLB Atomic exclusive OR on byte in memory 17.23 LDEORAB, LDEORALB, LDEORB, LDEORLB
LDEORAH, LDEORALH, LDEORH, LDEORLH Atomic exclusive OR on halfword in memory 17.24 LDEORAH, LDEORALH, LDEORH, LDEORLH
LDLAR Load LOAcquire Register 17.25 LDLAR
LDLARB Load LOAcquire Register Byte 17.26 LDLARB
LDLARH Load LOAcquire Register Halfword 17.27 LDLARH
LDNP Load Pair of Registers, with non-temporal hint 17.28 LDNP
LDP Load Pair of Registers 17.29 LDP
LDPSW Load Pair of Registers Signed Word 17.30 LDPSW
LDR (immediate) Load Register (immediate) 17.31 LDR (immediate)
LDR (literal) Load Register (literal) 17.32 LDR (literal)
LDR pseudo-instruction Load a register with either a 32-bit or 64-bit immediate value or any address 17.33 LDR pseudo-instruction
LDR (register) Load Register (register) 17.34 LDR (register)
LDRAA, LDRAB, LDRAB Load Register, with pointer authentication 17.35 LDRAA, LDRAB, LDRAB
LDRB (immediate) Load Register Byte (immediate) 17.36 LDRB (immediate)
LDRB (register) Load Register Byte (register) 17.37 LDRB (register)
LDRH (immediate) Load Register Halfword (immediate) 17.38 LDRH (immediate)
LDRH (register) Load Register Halfword (register) 17.39 LDRH (register)
LDRSB (immediate) Load Register Signed Byte (immediate) 17.40 LDRSB (immediate)
LDRSB (register) Load Register Signed Byte (register) 17.41 LDRSB (register)
LDRSH (immediate) Load Register Signed Halfword (immediate) 17.42 LDRSH (immediate)
LDRSH (register) Load Register Signed Halfword (register) 17.43 LDRSH (register)
LDRSW (immediate) Load Register Signed Word (immediate) 17.44 LDRSW (immediate)
LDRSW (literal) Load Register Signed Word (literal) 17.45 LDRSW (literal)
LDRSW (register) Load Register Signed Word (register) 17.46 LDRSW (register)
LDSETA, LDSETAL, LDSET, LDSETL, LDSETAL, LDSET, LDSETL Atomic bit set on word or doubleword in memory 17.47 LDSETA, LDSETAL, LDSET, LDSETL, LDSETAL, LDSET, LDSETL
LDSETAB, LDSETALB, LDSETB, LDSETLB Atomic bit set on byte in memory 17.48 LDSETAB, LDSETALB, LDSETB, LDSETLB
LDSETAH, LDSETALH, LDSETH, LDSETLH Atomic bit set on halfword in memory 17.49 LDSETAH, LDSETALH, LDSETH, LDSETLH
LDSMAXA, LDSMAXAL, LDSMAX, LDSMAXL, LDSMAXAL, LDSMAX, LDSMAXL Atomic signed maximum on word or doubleword in memory 17.50 LDSMAXA, LDSMAXAL, LDSMAX, LDSMAXL, LDSMAXAL, LDSMAX, LDSMAXL
LDSMAXAB, LDSMAXALB, LDSMAXB, LDSMAXLB Atomic signed maximum on byte in memory 17.51 LDSMAXAB, LDSMAXALB, LDSMAXB, LDSMAXLB
LDSMAXAH, LDSMAXALH, LDSMAXH, LDSMAXLH Atomic signed maximum on halfword in memory 17.52 LDSMAXAH, LDSMAXALH, LDSMAXH, LDSMAXLH
LDSMINA, LDSMINAL, LDSMIN, LDSMINL, LDSMINAL, LDSMIN, LDSMINL Atomic signed minimum on word or doubleword in memory 17.53 LDSMINA, LDSMINAL, LDSMIN, LDSMINL, LDSMINAL, LDSMIN, LDSMINL
LDSMINAB, LDSMINALB, LDSMINB, LDSMINLB Atomic signed minimum on byte in memory 17.54 LDSMINAB, LDSMINALB, LDSMINB, LDSMINLB
LDSMINAH, LDSMINALH, LDSMINH, LDSMINLH Atomic signed minimum on halfword in memory 17.55 LDSMINAH, LDSMINALH, LDSMINH, LDSMINLH
LDTR Load Register (unprivileged) 17.56 LDTR
LDTRB Load Register Byte (unprivileged) 17.57 LDTRB
LDTRH Load Register Halfword (unprivileged) 17.58 LDTRH
LDTRSB Load Register Signed Byte (unprivileged) 17.59 LDTRSB
LDTRSH Load Register Signed Halfword (unprivileged) 17.60 LDTRSH
LDTRSW Load Register Signed Word (unprivileged) 17.61 LDTRSW
LDUMAXA, LDUMAXAL, LDUMAX, LDUMAXL, LDUMAXAL, LDUMAX, LDUMAXL Atomic unsigned maximum on word or doubleword in memory 17.62 LDUMAXA, LDUMAXAL, LDUMAX, LDUMAXL, LDUMAXAL, LDUMAX, LDUMAXL
LDUMAXAB, LDUMAXALB, LDUMAXB, LDUMAXLB Atomic unsigned maximum on byte in memory 17.63 LDUMAXAB, LDUMAXALB, LDUMAXB, LDUMAXLB
LDUMAXAH, LDUMAXALH, LDUMAXH, LDUMAXLH Atomic unsigned maximum on halfword in memory 17.64 LDUMAXAH, LDUMAXALH, LDUMAXH, LDUMAXLH
LDUMINA, LDUMINAL, LDUMIN, LDUMINL, LDUMINAL, LDUMIN, LDUMINL Atomic unsigned minimum on word or doubleword in memory 17.65 LDUMINA, LDUMINAL, LDUMIN, LDUMINL, LDUMINAL, LDUMIN, LDUMINL
LDUMINAB, LDUMINALB, LDUMINB, LDUMINLB Atomic unsigned minimum on byte in memory 17.66 LDUMINAB, LDUMINALB, LDUMINB, LDUMINLB
LDUMINAH, LDUMINALH, LDUMINH, LDUMINLH Atomic unsigned minimum on halfword in memory 17.67 LDUMINAH, LDUMINALH, LDUMINH, LDUMINLH
LDUR Load Register (unscaled) 17.68 LDUR
LDURB Load Register Byte (unscaled) 17.69 LDURB
LDURH Load Register Halfword (unscaled) 17.70 LDURH
LDURSB Load Register Signed Byte (unscaled) 17.71 LDURSB
LDURSH Load Register Signed Halfword (unscaled) 17.72 LDURSH
LDURSW Load Register Signed Word (unscaled) 17.73 LDURSW
LDXP Load Exclusive Pair of Registers 17.74 LDXP
LDXR Load Exclusive Register 17.75 LDXR
LDXRB Load Exclusive Register Byte 17.76 LDXRB
LDXRH Load Exclusive Register Halfword 17.77 LDXRH
PRFM (immediate) Prefetch Memory (immediate) 17.78 PRFM (immediate)
PRFM (literal) Prefetch Memory (literal) 17.79 PRFM (literal)
PRFM (register) Prefetch Memory (register) 17.80 PRFM (register)
PRFUM (unscaled offset) Prefetch Memory (unscaled offset) 17.81 PRFUM (unscaled offset)
STADD, STADDL, STADDL Atomic add on word or doubleword in memory, without return 17.82 STADD, STADDL, STADDL
STADDB, STADDLB Atomic add on byte in memory, without return 17.83 STADDB, STADDLB
STADDH, STADDLH Atomic add on halfword in memory, without return 17.84 STADDH, STADDLH
STCLR, STCLRL, STCLRL Atomic bit clear on word or doubleword in memory, without return 17.85 STCLR, STCLRL, STCLRL
STCLRB, STCLRLB Atomic bit clear on byte in memory, without return 17.86 STCLRB, STCLRLB
STCLRH, STCLRLH Atomic bit clear on halfword in memory, without return 17.87 STCLRH, STCLRLH
STEOR, STEORL, STEORL Atomic exclusive OR on word or doubleword in memory, without return 17.88 STEOR, STEORL, STEORL
STEORB, STEORLB Atomic exclusive OR on byte in memory, without return 17.89 STEORB, STEORLB
STEORH, STEORLH Atomic exclusive OR on halfword in memory, without return 17.90 STEORH, STEORLH
STLLR Store LORelease Register 17.91 STLLR
STLLRB Store LORelease Register Byte 17.92 STLLRB
STLLRH Store LORelease Register Halfword 17.93 STLLRH
STLR Store-Release Register 17.94 STLR
STLRB Store-Release Register Byte 17.95 STLRB
STLRH Store-Release Register Halfword 17.96 STLRH
STLXP Store-Release Exclusive Pair of registers 17.97 STLXP
STLXR Store-Release Exclusive Register 17.98 STLXR
STLXRB Store-Release Exclusive Register Byte 17.99 STLXRB
STLXRH Store-Release Exclusive Register Halfword 17.100 STLXRH
STNP Store Pair of Registers, with non-temporal hint 17.101 STNP
STP Store Pair of Registers 17.102 STP
STR (immediate) Store Register (immediate) 17.103 STR (immediate)
STR (register) Store Register (register) 17.104 STR (register)
STRB (immediate) Store Register Byte (immediate) 17.105 STRB (immediate)
STRB (register) Store Register Byte (register) 17.106 STRB (register)
STRH (immediate) Store Register Halfword (immediate) 17.107 STRH (immediate)
STRH (register) Store Register Halfword (register) 17.108 STRH (register)
STSET, STSETL, STSETL Atomic bit set on word or doubleword in memory, without return 17.109 STSET, STSETL, STSETL
STSETB, STSETLB Atomic bit set on byte in memory, without return 17.110 STSETB, STSETLB
STSETH, STSETLH Atomic bit set on halfword in memory, without return 17.111 STSETH, STSETLH
STSMAX, STSMAXL, STSMAXL Atomic signed maximum on word or doubleword in memory, without return 17.112 STSMAX, STSMAXL, STSMAXL
STSMAXB, STSMAXLB Atomic signed maximum on byte in memory, without return 17.113 STSMAXB, STSMAXLB
STSMAXH, STSMAXLH Atomic signed maximum on halfword in memory, without return 17.114 STSMAXH, STSMAXLH
STSMIN, STSMINL, STSMINL Atomic signed minimum on word or doubleword in memory, without return 17.115 STSMIN, STSMINL, STSMINL
STSMINB, STSMINLB Atomic signed minimum on byte in memory, without return 17.116 STSMINB, STSMINLB
STSMINH, STSMINLH Atomic signed minimum on halfword in memory, without return 17.117 STSMINH, STSMINLH
STTR Store Register (unprivileged) 17.118 STTR
STTRB Store Register Byte (unprivileged) 17.119 STTRB
STTRH Store Register Halfword (unprivileged) 17.120 STTRH
STUMAX, STUMAXL, STUMAXL Atomic unsigned maximum on word or doubleword in memory, without return 17.121 STUMAX, STUMAXL, STUMAXL
STUMAXB, STUMAXLB Atomic unsigned maximum on byte in memory, without return 17.122 STUMAXB, STUMAXLB
STUMAXH, STUMAXLH Atomic unsigned maximum on halfword in memory, without return 17.123 STUMAXH, STUMAXLH
STUMIN, STUMINL, STUMINL Atomic unsigned minimum on word or doubleword in memory, without return 17.124 STUMIN, STUMINL, STUMINL
STUMINB, STUMINLB Atomic unsigned minimum on byte in memory, without return 17.125 STUMINB, STUMINLB
STUMINH, STUMINLH Atomic unsigned minimum on halfword in memory, without return 17.126 STUMINH, STUMINLH
STUR Store Register (unscaled) 17.127 STUR
STURB Store Register Byte (unscaled) 17.128 STURB
STURH Store Register Halfword (unscaled) 17.129 STURH
STXP Store Exclusive Pair of registers 17.130 STXP
STXR Store Exclusive Register 17.131 STXR
STXRB Store Exclusive Register Byte 17.132 STXRB
STXRH Store Exclusive Register Halfword 17.133 STXRH
SWPA, SWPAL, SWP, SWPL, SWPAL, SWP, SWPL Swap word or doubleword in memory 17.134 SWPA, SWPAL, SWP, SWPL, SWPAL, SWP, SWPL
SWPAB, SWPALB, SWPB, SWPLB Swap byte in memory 17.135 SWPAB, SWPALB, SWPB, SWPLB
SWPAH, SWPALH, SWPH, SWPLH Swap halfword in memory 17.136 SWPAH, SWPALH, SWPH, SWPLH
Non-ConfidentialPDF file icon PDF versionDUI0801J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.