| //===- 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 |