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