1 /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
5 * (C) Copyright 2017-2018 - Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
8 static inline __attribute__((always_inline
))
9 int rseq_cmpeqv_storev(intptr_t *v
, intptr_t expect
, intptr_t newv
, int cpu
)
14 static inline __attribute__((always_inline
))
15 int rseq_cmpnev_storeoffp_load(intptr_t *v
, intptr_t expectnot
,
16 off_t voffp
, intptr_t *load
, int cpu
)
21 static inline __attribute__((always_inline
))
22 int rseq_addv(intptr_t *v
, intptr_t count
, int cpu
)
27 static inline __attribute__((always_inline
))
28 int rseq_cmpeqv_trystorev_storev(intptr_t *v
, intptr_t expect
,
29 intptr_t *v2
, intptr_t newv2
,
30 intptr_t newv
, int cpu
)
35 static inline __attribute__((always_inline
))
36 int rseq_cmpeqv_trystorev_storev_release(intptr_t *v
, intptr_t expect
,
37 intptr_t *v2
, intptr_t newv2
,
38 intptr_t newv
, int cpu
)
43 static inline __attribute__((always_inline
))
44 int rseq_cmpeqv_cmpeqv_storev(intptr_t *v
, intptr_t expect
,
45 intptr_t *v2
, intptr_t expect2
,
46 intptr_t newv
, int cpu
)
51 static inline __attribute__((always_inline
))
52 int rseq_cmpeqv_trymemcpy_storev(intptr_t *v
, intptr_t expect
,
53 void *dst
, void *src
, size_t len
,
54 intptr_t newv
, int cpu
)
59 static inline __attribute__((always_inline
))
60 int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v
, intptr_t expect
,
61 void *dst
, void *src
, size_t len
,
62 intptr_t newv
, int cpu
)