| //===- subzero/crosstest/test_sync_atomic.h - Test prototypes ---*- C++ -*-===// | |
| // | |
| // The Subzero Code Generator | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file declares the function prototypes for cross testing atomic | |
| // intrinsics. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #include "test_sync_atomic.def" | |
| #define X(inst, type) \ | |
| type test_##inst(bool fetch_first, volatile type *ptr, type a); \ | |
| type test_alloca_##inst(bool fetch, volatile type *ptr, type a); \ | |
| type test_const_##inst(bool fetch, volatile type *ptr, type ignored); | |
| FOR_ALL_RMWOP_TYPES(X) | |
| #undef X | |
| #define X(type) \ | |
| type test_val_cmp_swap(volatile type *ptr, type oldval, type newval); \ | |
| type test_val_cmp_swap_loop(volatile type *ptr, type oldval, type newval); | |
| ATOMIC_TYPE_TABLE | |
| #undef X |