Home | History | Annotate | Download | only in crosstest
      1 //===- 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 
     17 #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);             \
     20   type test_const_##inst(bool fetch, volatile type *ptr, type ignored);
     21 
     22 FOR_ALL_RMWOP_TYPES(X)
     23 #undef X
     24 
     25 #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);
     28 
     29 ATOMIC_TYPE_TABLE
     30 #undef X
     31