Lines Matching +full:4 +full:v

25 #define rseq_smp_store_release(p, v)					\  argument
28 RSEQ_WRITE_ONCE(*p, v); \
138 int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu) in rseq_cmpeqv_storev() argument
143 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_storev()
151 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_storev()
153 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_storev()
155 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_storev()
158 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_storev()
162 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_storev()
165 RSEQ_ASM_DEFINE_ABORT(4, "", abort) in rseq_cmpeqv_storev()
170 [v] "m" (*v), in rseq_cmpeqv_storev()
201 * Compare @v against @expectnot. When it does _not_ match, load @v
202 * into @load, and store the content of *@v + voffp into @v.
205 int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot, in rseq_cmpnev_storeoffp_load() argument
211 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpnev_storeoffp_load()
219 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpnev_storeoffp_load()
221 LONG_L " %%r1, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
224 RSEQ_INJECT_ASM(4) in rseq_cmpnev_storeoffp_load()
227 LONG_L " %%r1, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
235 LONG_S " %%r1, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
238 RSEQ_ASM_DEFINE_ABORT(4, "", abort) in rseq_cmpnev_storeoffp_load()
244 [v] "m" (*v), in rseq_cmpnev_storeoffp_load()
276 int rseq_addv(intptr_t *v, intptr_t count, int cpu) in rseq_addv() argument
281 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_addv()
287 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_addv()
292 LONG_L " %%r0, %[v]\n\t" in rseq_addv()
295 LONG_S " %%r0, %[v]\n\t" in rseq_addv()
297 RSEQ_INJECT_ASM(4) in rseq_addv()
298 RSEQ_ASM_DEFINE_ABORT(4, "", abort) in rseq_addv()
304 [v] "m" (*v), in rseq_addv()
328 int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trystorev_storev() argument
335 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trystorev_storev()
343 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trystorev_storev()
345 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
347 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trystorev_storev()
350 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
357 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
360 RSEQ_ASM_DEFINE_ABORT(4, "", abort) in rseq_cmpeqv_trystorev_storev()
369 [v] "m" (*v), in rseq_cmpeqv_trystorev_storev()
401 int rseq_cmpeqv_trystorev_storev_release(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trystorev_storev_release() argument
405 return rseq_cmpeqv_trystorev_storev(v, expect, v2, newv2, newv, cpu); in rseq_cmpeqv_trystorev_storev_release()
409 int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_cmpeqv_storev() argument
416 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_cmpeqv_storev()
425 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_cmpeqv_storev()
427 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
429 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_cmpeqv_storev()
435 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
441 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
444 RSEQ_ASM_DEFINE_ABORT(4, "", abort) in rseq_cmpeqv_cmpeqv_storev()
453 [v] "m" (*v), in rseq_cmpeqv_cmpeqv_storev()
487 int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trymemcpy_storev() argument
496 RSEQ_ASM_DEFINE_TABLE(3, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trymemcpy_storev()
507 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trymemcpy_storev()
509 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
511 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trymemcpy_storev()
514 LONG_CMP " %[expect], %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
530 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
537 RSEQ_ASM_DEFINE_ABORT(4, in rseq_cmpeqv_trymemcpy_storev()
564 [v] "m" (*v), in rseq_cmpeqv_trymemcpy_storev()
603 int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trymemcpy_storev_release() argument
607 return rseq_cmpeqv_trymemcpy_storev(v, expect, dst, src, len, in rseq_cmpeqv_trymemcpy_storev_release()