1*053f45beSAndroid Build Coastguard Worker /* SPDX-License-Identifier: LGPL-2.1 OR MIT */
2*053f45beSAndroid Build Coastguard Worker /*
3*053f45beSAndroid Build Coastguard Worker * rseq-skip.h
4*053f45beSAndroid Build Coastguard Worker *
5*053f45beSAndroid Build Coastguard Worker * (C) Copyright 2017-2018 - Mathieu Desnoyers <[email protected]>
6*053f45beSAndroid Build Coastguard Worker */
7*053f45beSAndroid Build Coastguard Worker
8*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_storev(intptr_t * v,intptr_t expect,intptr_t newv,int cpu)9*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_storev(intptr_t *v, intptr_t expect, intptr_t newv, int cpu)
10*053f45beSAndroid Build Coastguard Worker {
11*053f45beSAndroid Build Coastguard Worker return -1;
12*053f45beSAndroid Build Coastguard Worker }
13*053f45beSAndroid Build Coastguard Worker
14*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpnev_storeoffp_load(intptr_t * v,intptr_t expectnot,long voffp,intptr_t * load,int cpu)15*053f45beSAndroid Build Coastguard Worker int rseq_cmpnev_storeoffp_load(intptr_t *v, intptr_t expectnot,
16*053f45beSAndroid Build Coastguard Worker long voffp, intptr_t *load, int cpu)
17*053f45beSAndroid Build Coastguard Worker {
18*053f45beSAndroid Build Coastguard Worker return -1;
19*053f45beSAndroid Build Coastguard Worker }
20*053f45beSAndroid Build Coastguard Worker
21*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_addv(intptr_t * v,intptr_t count,int cpu)22*053f45beSAndroid Build Coastguard Worker int rseq_addv(intptr_t *v, intptr_t count, int cpu)
23*053f45beSAndroid Build Coastguard Worker {
24*053f45beSAndroid Build Coastguard Worker return -1;
25*053f45beSAndroid Build Coastguard Worker }
26*053f45beSAndroid Build Coastguard Worker
27*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_trystorev_storev(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t newv2,intptr_t newv,int cpu)28*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_trystorev_storev(intptr_t *v, intptr_t expect,
29*053f45beSAndroid Build Coastguard Worker intptr_t *v2, intptr_t newv2,
30*053f45beSAndroid Build Coastguard Worker intptr_t newv, int cpu)
31*053f45beSAndroid Build Coastguard Worker {
32*053f45beSAndroid Build Coastguard Worker return -1;
33*053f45beSAndroid Build Coastguard Worker }
34*053f45beSAndroid Build Coastguard Worker
35*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_trystorev_storev_release(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t newv2,intptr_t newv,int cpu)36*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_trystorev_storev_release(intptr_t *v, intptr_t expect,
37*053f45beSAndroid Build Coastguard Worker intptr_t *v2, intptr_t newv2,
38*053f45beSAndroid Build Coastguard Worker intptr_t newv, int cpu)
39*053f45beSAndroid Build Coastguard Worker {
40*053f45beSAndroid Build Coastguard Worker return -1;
41*053f45beSAndroid Build Coastguard Worker }
42*053f45beSAndroid Build Coastguard Worker
43*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_cmpeqv_storev(intptr_t * v,intptr_t expect,intptr_t * v2,intptr_t expect2,intptr_t newv,int cpu)44*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_cmpeqv_storev(intptr_t *v, intptr_t expect,
45*053f45beSAndroid Build Coastguard Worker intptr_t *v2, intptr_t expect2,
46*053f45beSAndroid Build Coastguard Worker intptr_t newv, int cpu)
47*053f45beSAndroid Build Coastguard Worker {
48*053f45beSAndroid Build Coastguard Worker return -1;
49*053f45beSAndroid Build Coastguard Worker }
50*053f45beSAndroid Build Coastguard Worker
51*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_trymemcpy_storev(intptr_t * v,intptr_t expect,void * dst,void * src,size_t len,intptr_t newv,int cpu)52*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_trymemcpy_storev(intptr_t *v, intptr_t expect,
53*053f45beSAndroid Build Coastguard Worker void *dst, void *src, size_t len,
54*053f45beSAndroid Build Coastguard Worker intptr_t newv, int cpu)
55*053f45beSAndroid Build Coastguard Worker {
56*053f45beSAndroid Build Coastguard Worker return -1;
57*053f45beSAndroid Build Coastguard Worker }
58*053f45beSAndroid Build Coastguard Worker
59*053f45beSAndroid Build Coastguard Worker static inline __attribute__((always_inline))
rseq_cmpeqv_trymemcpy_storev_release(intptr_t * v,intptr_t expect,void * dst,void * src,size_t len,intptr_t newv,int cpu)60*053f45beSAndroid Build Coastguard Worker int rseq_cmpeqv_trymemcpy_storev_release(intptr_t *v, intptr_t expect,
61*053f45beSAndroid Build Coastguard Worker void *dst, void *src, size_t len,
62*053f45beSAndroid Build Coastguard Worker intptr_t newv, int cpu)
63*053f45beSAndroid Build Coastguard Worker {
64*053f45beSAndroid Build Coastguard Worker return -1;
65*053f45beSAndroid Build Coastguard Worker }
66