blob: 3db2c3d167b0043e034648e433208dde22d8f650 [file] [log] [blame]
Jan Vounga3a01a22014-07-14 10:32:41 -07001//===- subzero/crosstest/test_sync_atomic.h - Test prototypes ---*- C++ -*-===//
2//
3// The Subzero Code Generator
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file declares the function prototypes for cross testing atomic
11// intrinsics.
12//
13//===----------------------------------------------------------------------===//
14
15#include "test_sync_atomic.def"
16
Jim Stichnothdd842db2015-01-27 12:53:53 -080017#define X(inst, type) \
18 type test_##inst(bool fetch_first, volatile type *ptr, type a); \
19 type test_alloca_##inst(bool fetch, volatile type *ptr, type a); \
Jan Vounga3a01a22014-07-14 10:32:41 -070020 type test_const_##inst(bool fetch, volatile type *ptr, type ignored);
21
22FOR_ALL_RMWOP_TYPES(X)
23#undef X
24
Jan Voungc820ddf2014-07-29 14:38:51 -070025#define X(type) \
26 type test_val_cmp_swap(volatile type *ptr, type oldval, type newval); \
27 type test_val_cmp_swap_loop(volatile type *ptr, type oldval, type newval);
Jan Vounga3a01a22014-07-14 10:32:41 -070028
29ATOMIC_TYPE_TABLE
30#undef X