Lines Matching +full:load +full:- +full:acquire
1 /* SPDX-License-Identifier: GPL-2.0-only */
5 * Copyright (C) 2014-2016 Zi Shen Lim <zlim.lnx@gmail.com>
12 /* 5-bit Register Operand */
55 /* Load/store register (register offset) */
61 #define A64_LDRB(Wt, Xn, Xm) A64_LS_REG(Wt, Xn, Xm, 8, LOAD)
64 #define A64_LDRH(Wt, Xn, Xm) A64_LS_REG(Wt, Xn, Xm, 16, LOAD)
67 #define A64_LDR32(Wt, Xn, Xm) A64_LS_REG(Wt, Xn, Xm, 32, LOAD)
70 #define A64_LDR64(Xt, Xn, Xm) A64_LS_REG(Xt, Xn, Xm, 64, LOAD)
72 /* Load/store register (immediate offset) */
78 #define A64_LDRBI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 8, LOAD)
81 #define A64_LDRHI(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 16, LOAD)
84 #define A64_LDR32I(Wt, Xn, imm) A64_LS_IMM(Wt, Xn, imm, 32, LOAD)
87 #define A64_LDR64I(Xt, Xn, imm) A64_LS_IMM(Xt, Xn, imm, 64, LOAD)
95 /* Load/store register pair */
100 /* Rn -= 16; Rn[0] = Rt; Rn[8] = Rt2; */
101 #define A64_PUSH(Rt, Rt2, Rn) A64_LS_PAIR(Rt, Rt2, Rn, -16, STORE, PRE_INDEX)
103 #define A64_POP(Rt, Rt2, Rn) A64_LS_PAIR(Rt, Rt2, Rn, 16, LOAD, POST_INDEX)
105 /* Load/store exclusive */
122 /* Load-acquire & store-release */
130 /* Rt = [Rn] (load acquire) */
162 /* Rt = [Rn] (load acquire); [Rn] <op>= Rs (store release) */
167 /* Rt = [Rn] (load acquire); [Rn] = Rs (store release) */
169 /* Rs = CAS(Rn, Rs, Rt) (load acquire & store release) */
187 /* Rn - imm12; set condition flags */
204 A64_UBFM(sf, Rd, Rn, (unsigned)-(shift) % sz, sz - 1 - (shift)); \
239 /* Rd = -Rm */
241 /* Rn - Rm; set condition flags */
244 /* Data-processing (1 source) */
252 /* Data-processing (2 source) */
262 /* Data-processing (3 source) */
266 /* Rd = Ra - Rn * Rm */