Home
last modified time | relevance | path

Searched refs:asm_op (Results 1 – 12 of 12) sorted by relevance

/linux-5.19.10/arch/loongarch/include/asm/
Datomic.h49 #define ATOMIC_OP(op, I, asm_op) \ argument
53 "am"#asm_op"_db.w" " $zero, %1, %0 \n" \
59 #define ATOMIC_OP_RETURN(op, I, asm_op, c_op) \ argument
65 "am"#asm_op"_db.w" " %1, %2, %0 \n" \
73 #define ATOMIC_FETCH_OP(op, I, asm_op) \ argument
79 "am"#asm_op"_db.w" " %1, %2, %0 \n" \
87 #define ATOMIC_OPS(op, I, asm_op, c_op) \ argument
88 ATOMIC_OP(op, I, asm_op) \
89 ATOMIC_OP_RETURN(op, I, asm_op, c_op) \
90 ATOMIC_FETCH_OP(op, I, asm_op)
[all …]
Dpercpu.h21 #define PERCPU_OP(op, asm_op, c_op) \ argument
30 "am"#asm_op".w" " %[ret], %[val], %[ptr] \n" \
36 "am"#asm_op".d" " %[ret], %[val], %[ptr] \n" \
/linux-5.19.10/arch/arc/include/asm/
Datomic-llsc.h8 #define ATOMIC_OP(op, asm_op) \ argument
15 " " #asm_op " %[val], %[val], %[i] \n" \
24 #define ATOMIC_OP_RETURN(op, asm_op) \ argument
31 " " #asm_op " %[val], %[val], %[i] \n" \
45 #define ATOMIC_FETCH_OP(op, asm_op) \ argument
52 " " #asm_op " %[val], %[orig], %[i] \n" \
72 #define ATOMIC_OPS(op, asm_op) \ argument
73 ATOMIC_OP(op, asm_op) \
74 ATOMIC_OP_RETURN(op, asm_op) \
75 ATOMIC_FETCH_OP(op, asm_op)
[all …]
Datomic-spinlock.h31 #define ATOMIC_OP(op, c_op, asm_op) \ argument
41 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ argument
59 #define ATOMIC_FETCH_OP(op, c_op, asm_op) \ argument
76 #define ATOMIC_OPS(op, c_op, asm_op) \ argument
77 ATOMIC_OP(op, c_op, asm_op) \
78 ATOMIC_OP_RETURN(op, c_op, asm_op) \
79 ATOMIC_FETCH_OP(op, c_op, asm_op)
85 #define ATOMIC_OPS(op, c_op, asm_op) \ argument
86 ATOMIC_OP(op, c_op, asm_op) \
87 ATOMIC_FETCH_OP(op, c_op, asm_op)
/linux-5.19.10/arch/powerpc/include/asm/
Datomic.h40 #define ATOMIC_OP(op, asm_op, suffix, sign, ...) \ argument
47 #asm_op "%I2" suffix " %0,%0,%2\n" \
55 #define ATOMIC_OP_RETURN_RELAXED(op, asm_op, suffix, sign, ...) \ argument
62 #asm_op "%I2" suffix " %0,%0,%2\n" \
72 #define ATOMIC_FETCH_OP_RELAXED(op, asm_op, suffix, sign, ...) \ argument
79 #asm_op "%I3" suffix " %1,%0,%3\n" \
89 #define ATOMIC_OPS(op, asm_op, suffix, sign, ...) \ argument
90 ATOMIC_OP(op, asm_op, suffix, sign, ##__VA_ARGS__) \
91 ATOMIC_OP_RETURN_RELAXED(op, asm_op, suffix, sign, ##__VA_ARGS__)\
92 ATOMIC_FETCH_OP_RELAXED(op, asm_op, suffix, sign, ##__VA_ARGS__)
[all …]
/linux-5.19.10/arch/m68k/include/asm/
Datomic.h32 #define ATOMIC_OP(op, c_op, asm_op) \ argument
35 __asm__ __volatile__(#asm_op "l %1,%0" : "+m" (*v) : ASM_DI (i));\
40 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ argument
47 " " #asm_op "l %3,%1\n" \
55 #define ATOMIC_FETCH_OP(op, c_op, asm_op) \ argument
62 " " #asm_op "l %3,%1\n" \
72 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ argument
85 #define ATOMIC_FETCH_OP(op, c_op, asm_op) \ argument
101 #define ATOMIC_OPS(op, c_op, asm_op) \ argument
102 ATOMIC_OP(op, c_op, asm_op) \
[all …]
/linux-5.19.10/arch/riscv/include/asm/
Datomic.h54 #define ATOMIC_OP(op, asm_op, I, asm_type, c_type, prefix) \ argument
59 " amo" #asm_op "." #asm_type " zero, %1, %0" \
66 #define ATOMIC_OPS(op, asm_op, I) \ argument
67 ATOMIC_OP (op, asm_op, I, w, int, )
69 #define ATOMIC_OPS(op, asm_op, I) \ argument
70 ATOMIC_OP (op, asm_op, I, w, int, ) \
71 ATOMIC_OP (op, asm_op, I, d, s64, 64)
88 #define ATOMIC_FETCH_OP(op, asm_op, I, asm_type, c_type, prefix) \ in ATOMIC_OPS() argument
95 " amo" #asm_op "." #asm_type " %1, %2, %0" \ in ATOMIC_OPS()
106 " amo" #asm_op "." #asm_type ".aqrl %1, %2, %0" \
[all …]
/linux-5.19.10/arch/arm64/include/asm/
Datomic_lse.h13 #define ATOMIC_OP(op, asm_op) \ argument
18 " " #asm_op " %w[i], %[v]\n" \
35 #define ATOMIC_FETCH_OP(name, mb, op, asm_op, cl...) \ argument
42 " " #asm_op #mb " %w[i], %w[old], %[v]" \
51 #define ATOMIC_FETCH_OPS(op, asm_op) \ argument
52 ATOMIC_FETCH_OP(_relaxed, , op, asm_op) \
53 ATOMIC_FETCH_OP(_acquire, a, op, asm_op, "memory") \
54 ATOMIC_FETCH_OP(_release, l, op, asm_op, "memory") \
55 ATOMIC_FETCH_OP( , al, op, asm_op, "memory")
114 #define ATOMIC64_OP(op, asm_op) \ argument
[all …]
Datomic_ll_sc.h38 #define ATOMIC_OP(op, asm_op, constraint) \ argument
49 " " #asm_op " %w0, %w0, %w3\n" \
56 #define ATOMIC_OP_RETURN(name, mb, acq, rel, cl, op, asm_op, constraint)\ argument
67 " " #asm_op " %w0, %w0, %w3\n" \
78 #define ATOMIC_FETCH_OP(name, mb, acq, rel, cl, op, asm_op, constraint) \ argument
89 " " #asm_op " %w1, %w0, %w4\n" \
137 #define ATOMIC64_OP(op, asm_op, constraint) \ in ATOMIC_OPS() argument
148 " " #asm_op " %0, %0, %3\n" \ in ATOMIC_OPS()
155 #define ATOMIC64_OP_RETURN(name, mb, acq, rel, cl, op, asm_op, constraint)\ argument
166 " " #asm_op " %0, %0, %3\n" \
[all …]
/linux-5.19.10/arch/alpha/include/asm/
Datomic.h41 #define ATOMIC_OP(op, asm_op) \ argument
47 " " #asm_op " %0,%2,%0\n" \
57 #define ATOMIC_OP_RETURN(op, asm_op) \ argument
63 " " #asm_op " %0,%3,%2\n" \
64 " " #asm_op " %0,%3,%0\n" \
76 #define ATOMIC_FETCH_OP(op, asm_op) \ argument
82 " " #asm_op " %2,%3,%0\n" \
94 #define ATOMIC64_OP(op, asm_op) \ argument
100 " " #asm_op " %0,%2,%0\n" \
110 #define ATOMIC64_OP_RETURN(op, asm_op) \ argument
[all …]
/linux-5.19.10/arch/mips/include/asm/
Datomic.h55 #define ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
74 " " #asm_op " %0, %2 \n" \
82 #define ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \ argument
104 " " #asm_op " %0, %1, %3 \n" \
107 " " #asm_op " %0, %1, %3 \n" \
116 #define ATOMIC_FETCH_OP(pfx, op, type, c_op, asm_op, ll, sc) \ argument
137 " " #asm_op " %0, %1, %3 \n" \
150 #define ATOMIC_OPS(pfx, op, type, c_op, asm_op, ll, sc) \ argument
151 ATOMIC_OP(pfx, op, type, c_op, asm_op, ll, sc) \
152 ATOMIC_OP_RETURN(pfx, op, type, c_op, asm_op, ll, sc) \
[all …]
/linux-5.19.10/arch/arm/include/asm/
Datomic.h36 #define ATOMIC_OP(op, c_op, asm_op) \ argument
45 " " #asm_op " %0, %0, %4\n" \
54 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ argument
64 " " #asm_op " %0, %0, %4\n" \
75 #define ATOMIC_FETCH_OP(op, c_op, asm_op) \ argument
85 " " #asm_op " %1, %0, %5\n" \
162 #define ATOMIC_OP(op, c_op, asm_op) \ argument
172 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ argument
186 #define ATOMIC_FETCH_OP(op, c_op, asm_op) \ argument
218 #define ATOMIC_OPS(op, c_op, asm_op) \ argument
[all …]