Lines Matching +full:4 +full:v

57 #define rseq_smp_store_release(p, v)					\  argument
60 RSEQ_WRITE_ONCE(*p, v); \
123 LONG_LA " $4, " __rseq_str(cs_label) "\n\t" \
124 LONG_S " $4, %[" __rseq_str(rseq_cs) "]\n\t" \
129 "lw $4, %[" __rseq_str(current_cpu_id) "]\n\t" \
130 "bne $4, %[" __rseq_str(cpu_id) "], " __rseq_str(label) "\n\t"
158 int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu) in rseq_cmpeqv_storev() argument
163 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_storev()
171 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_storev()
173 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_storev()
174 "bne $4, %[expect], %l[cmpfail]\n\t" in rseq_cmpeqv_storev()
175 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_storev()
178 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_storev()
179 "bne $4, %[expect], %l[error2]\n\t" in rseq_cmpeqv_storev()
182 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_storev()
186 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_cmpeqv_storev()
192 [v] "m" (*v), in rseq_cmpeqv_storev()
196 : "$4", "memory" in rseq_cmpeqv_storev()
218 int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot, in rseq_cmpnev_storeoffp_load() argument
224 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpnev_storeoffp_load()
232 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpnev_storeoffp_load()
234 LONG_L " $4, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
235 "beq $4, %[expectnot], %l[cmpfail]\n\t" in rseq_cmpnev_storeoffp_load()
236 RSEQ_INJECT_ASM(4) in rseq_cmpnev_storeoffp_load()
239 LONG_L " $4, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
240 "beq $4, %[expectnot], %l[error2]\n\t" in rseq_cmpnev_storeoffp_load()
242 LONG_S " $4, %[load]\n\t" in rseq_cmpnev_storeoffp_load()
243 LONG_ADDI " $4, %[voffp]\n\t" in rseq_cmpnev_storeoffp_load()
244 LONG_L " $4, 0($4)\n\t" in rseq_cmpnev_storeoffp_load()
246 LONG_S " $4, %[v]\n\t" in rseq_cmpnev_storeoffp_load()
250 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_cmpnev_storeoffp_load()
257 [v] "m" (*v), in rseq_cmpnev_storeoffp_load()
262 : "$4", "memory" in rseq_cmpnev_storeoffp_load()
284 int rseq_addv(intptr_t *v, intptr_t count, int cpu) in rseq_addv() argument
289 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_addv()
295 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_addv()
300 LONG_L " $4, %[v]\n\t" in rseq_addv()
301 LONG_ADDI " $4, %[count]\n\t" in rseq_addv()
303 LONG_S " $4, %[v]\n\t" in rseq_addv()
305 RSEQ_INJECT_ASM(4) in rseq_addv()
307 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_addv()
313 [v] "m" (*v), in rseq_addv()
316 : "$4", "memory" in rseq_addv()
334 int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trystorev_storev() argument
341 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trystorev_storev()
349 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trystorev_storev()
351 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
352 "bne $4, %[expect], %l[cmpfail]\n\t" in rseq_cmpeqv_trystorev_storev()
353 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trystorev_storev()
356 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
357 "bne $4, %[expect], %l[error2]\n\t" in rseq_cmpeqv_trystorev_storev()
363 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trystorev_storev()
367 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_cmpeqv_trystorev_storev()
377 [v] "m" (*v), in rseq_cmpeqv_trystorev_storev()
381 : "$4", "memory" in rseq_cmpeqv_trystorev_storev()
403 int rseq_cmpeqv_trystorev_storev_release(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trystorev_storev_release() argument
410 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trystorev_storev_release()
418 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trystorev_storev_release()
420 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trystorev_storev_release()
421 "bne $4, %[expect], %l[cmpfail]\n\t" in rseq_cmpeqv_trystorev_storev_release()
422 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trystorev_storev_release()
425 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trystorev_storev_release()
426 "bne $4, %[expect], %l[error2]\n\t" in rseq_cmpeqv_trystorev_storev_release()
433 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trystorev_storev_release()
437 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_cmpeqv_trystorev_storev_release()
447 [v] "m" (*v), in rseq_cmpeqv_trystorev_storev_release()
451 : "$4", "memory" in rseq_cmpeqv_trystorev_storev_release()
473 int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_cmpeqv_storev() argument
480 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_cmpeqv_storev()
489 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_cmpeqv_storev()
491 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
492 "bne $4, %[expect], %l[cmpfail]\n\t" in rseq_cmpeqv_cmpeqv_storev()
493 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_cmpeqv_storev()
494 LONG_L " $4, %[v2]\n\t" in rseq_cmpeqv_cmpeqv_storev()
495 "bne $4, %[expect2], %l[cmpfail]\n\t" in rseq_cmpeqv_cmpeqv_storev()
499 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
500 "bne $4, %[expect], %l[error2]\n\t" in rseq_cmpeqv_cmpeqv_storev()
501 LONG_L " $4, %[v2]\n\t" in rseq_cmpeqv_cmpeqv_storev()
502 "bne $4, %[expect2], %l[error3]\n\t" in rseq_cmpeqv_cmpeqv_storev()
505 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_cmpeqv_storev()
509 RSEQ_ASM_DEFINE_ABORT(3, 4, "", abort, 1b, 2b, 4f) in rseq_cmpeqv_cmpeqv_storev()
519 [v] "m" (*v), in rseq_cmpeqv_cmpeqv_storev()
523 : "$4", "memory" in rseq_cmpeqv_cmpeqv_storev()
547 int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trymemcpy_storev() argument
556 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trymemcpy_storev()
567 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trymemcpy_storev()
569 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
570 "bne $4, %[expect], 5f\n\t" in rseq_cmpeqv_trymemcpy_storev()
571 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trymemcpy_storev()
574 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
575 "bne $4, %[expect], 7f\n\t" in rseq_cmpeqv_trymemcpy_storev()
580 "lb $4, 0(%[src])\n\t" \ in rseq_cmpeqv_trymemcpy_storev()
581 "sb $4, 0(%[dst])\n\t" \ in rseq_cmpeqv_trymemcpy_storev()
589 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev()
597 RSEQ_ASM_DEFINE_ABORT(3, 4, in rseq_cmpeqv_trymemcpy_storev()
602 abort, 1b, 2b, 4f) in rseq_cmpeqv_trymemcpy_storev()
629 [v] "m" (*v), in rseq_cmpeqv_trymemcpy_storev()
640 : "$4", "memory" in rseq_cmpeqv_trymemcpy_storev()
662 int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect, in rseq_cmpeqv_trymemcpy_storev_release() argument
671 RSEQ_ASM_DEFINE_TABLE(9, 1f, 2f, 4f) /* start, commit, abort */ in rseq_cmpeqv_trymemcpy_storev_release()
682 RSEQ_ASM_CMP_CPU_ID(cpu_id, current_cpu_id, 4f) in rseq_cmpeqv_trymemcpy_storev_release()
684 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev_release()
685 "bne $4, %[expect], 5f\n\t" in rseq_cmpeqv_trymemcpy_storev_release()
686 RSEQ_INJECT_ASM(4) in rseq_cmpeqv_trymemcpy_storev_release()
689 LONG_L " $4, %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev_release()
690 "bne $4, %[expect], 7f\n\t" in rseq_cmpeqv_trymemcpy_storev_release()
695 "lb $4, 0(%[src])\n\t" \ in rseq_cmpeqv_trymemcpy_storev_release()
696 "sb $4, 0(%[dst])\n\t" \ in rseq_cmpeqv_trymemcpy_storev_release()
705 LONG_S " %[newv], %[v]\n\t" in rseq_cmpeqv_trymemcpy_storev_release()
713 RSEQ_ASM_DEFINE_ABORT(3, 4, in rseq_cmpeqv_trymemcpy_storev_release()
718 abort, 1b, 2b, 4f) in rseq_cmpeqv_trymemcpy_storev_release()
745 [v] "m" (*v), in rseq_cmpeqv_trymemcpy_storev_release()
756 : "$4", "memory" in rseq_cmpeqv_trymemcpy_storev_release()