31 lines
1.1 KiB
C++
31 lines
1.1 KiB
C++
//===- 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
|