#include "atomic_ops.h" 
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop)
    "AO_nop(): ";
    AO_nop();
# else
    "No AO_nop";
# endif
# if defined(AO_HAVE_load)
    "AO_load(addr):";
    AO_load(addr);
# else
    "No AO_load";
# endif
# if defined(AO_HAVE_store)
    "AO_store(addr, val):";
    AO_store(addr, val);
# else
    "No AO_store";
# endif
# if defined(AO_HAVE_test_and_set)
    "AO_test_and_set(tsaddr):";
    AO_test_and_set(tsaddr);
# else
    "No AO_test_and_set";
# endif
# if defined(AO_HAVE_fetch_and_add1)
    "AO_fetch_and_add1(addr):";
    AO_fetch_and_add1(addr);
# else
    "No AO_fetch_and_add1";
# endif
# if defined(AO_HAVE_fetch_and_sub1)
    "AO_fetch_and_sub1(addr):";
    AO_fetch_and_sub1(addr);
# else
    "No AO_fetch_and_sub1";
# endif
# if defined(AO_HAVE_fetch_and_add)
    "AO_fetch_and_add(addr, incr):";
    AO_fetch_and_add(addr, incr);
# else
    "No AO_fetch_and_add";
# endif
# if defined(AO_HAVE_compare_and_swap)
    "AO_compare_and_swap(addr, oldval, newval):";
    AO_compare_and_swap(addr, oldval, newval);
# else
    "No AO_compare_and_swap";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_release(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_release)
    "AO_nop_release(): ";
    AO_nop_release();
# else
    "No AO_nop_release";
# endif
# if defined(AO_HAVE_load_release)
    "AO_load_release(addr):";
    AO_load_release(addr);
# else
    "No AO_load_release";
# endif
# if defined(AO_HAVE_store_release)
    "AO_store_release(addr, val):";
    AO_store_release(addr, val);
# else
    "No AO_store_release";
# endif
# if defined(AO_HAVE_test_and_set_release)
    "AO_test_and_set_release(tsaddr):";
    AO_test_and_set_release(tsaddr);
# else
    "No AO_test_and_set_release";
# endif
# if defined(AO_HAVE_fetch_and_add1_release)
    "AO_fetch_and_add1_release(addr):";
    AO_fetch_and_add1_release(addr);
# else
    "No AO_fetch_and_add1_release";
# endif
# if defined(AO_HAVE_fetch_and_sub1_release)
    "AO_fetch_and_sub1_release(addr):";
    AO_fetch_and_sub1_release(addr);
# else
    "No AO_fetch_and_sub1_release";
# endif
# if defined(AO_HAVE_fetch_and_add_release)
    "AO_fetch_and_add_release(addr, incr):";
    AO_fetch_and_add_release(addr, incr);
# else
    "No AO_fetch_and_add_release";
# endif
# if defined(AO_HAVE_compare_and_swap_release)
    "AO_compare_and_swap_release(addr, oldval, newval):";
    AO_compare_and_swap_release(addr, oldval, newval);
# else
    "No AO_compare_and_swap_release";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_acquire(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_acquire)
    "AO_nop_acquire(): ";
    AO_nop_acquire();
# else
    "No AO_nop_acquire";
# endif
# if defined(AO_HAVE_load_acquire)
    "AO_load_acquire(addr):";
    AO_load_acquire(addr);
# else
    "No AO_load_acquire";
# endif
# if defined(AO_HAVE_store_acquire)
    "AO_store_acquire(addr, val):";
    AO_store_acquire(addr, val);
# else
    "No AO_store_acquire";
# endif
# if defined(AO_HAVE_test_and_set_acquire)
    "AO_test_and_set_acquire(tsaddr):";
    AO_test_and_set_acquire(tsaddr);
# else
    "No AO_test_and_set_acquire";
# endif
# if defined(AO_HAVE_fetch_and_add1_acquire)
    "AO_fetch_and_add1_acquire(addr):";
    AO_fetch_and_add1_acquire(addr);
# else
    "No AO_fetch_and_add1_acquire";
# endif
# if defined(AO_HAVE_fetch_and_sub1_acquire)
    "AO_fetch_and_sub1_acquire(addr):";
    AO_fetch_and_sub1_acquire(addr);
# else
    "No AO_fetch_and_sub1_acquire";
# endif
# if defined(AO_HAVE_fetch_and_add_acquire)
    "AO_fetch_and_add_acquire(addr, incr):";
    AO_fetch_and_add_acquire(addr, incr);
# else
    "No AO_fetch_and_add_acquire";
# endif
# if defined(AO_HAVE_compare_and_swap_acquire)
    "AO_compare_and_swap_acquire(addr, oldval, newval):";
    AO_compare_and_swap_acquire(addr, oldval, newval);
# else
    "No AO_compare_and_swap_acquire";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_read(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_read)
    "AO_nop_read(): ";
    AO_nop_read();
# else
    "No AO_nop_read";
# endif
# if defined(AO_HAVE_load_read)
    "AO_load_read(addr):";
    AO_load_read(addr);
# else
    "No AO_load_read";
# endif
# if defined(AO_HAVE_store_read)
    "AO_store_read(addr, val):";
    AO_store_read(addr, val);
# else
    "No AO_store_read";
# endif
# if defined(AO_HAVE_test_and_set_read)
    "AO_test_and_set_read(tsaddr):";
    AO_test_and_set_read(tsaddr);
# else
    "No AO_test_and_set_read";
# endif
# if defined(AO_HAVE_fetch_and_add1_read)
    "AO_fetch_and_add1_read(addr):";
    AO_fetch_and_add1_read(addr);
# else
    "No AO_fetch_and_add1_read";
# endif
# if defined(AO_HAVE_fetch_and_sub1_read)
    "AO_fetch_and_sub1_read(addr):";
    AO_fetch_and_sub1_read(addr);
# else
    "No AO_fetch_and_sub1_read";
# endif
# if defined(AO_HAVE_fetch_and_add_read)
    "AO_fetch_and_add_read(addr, incr):";
    AO_fetch_and_add_read(addr, incr);
# else
    "No AO_fetch_and_add_read";
# endif
# if defined(AO_HAVE_compare_and_swap_read)
    "AO_compare_and_swap_read(addr, oldval, newval):";
    AO_compare_and_swap_read(addr, oldval, newval);
# else
    "No AO_compare_and_swap_read";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_write(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_write)
    "AO_nop_write(): ";
    AO_nop_write();
# else
    "No AO_nop_write";
# endif
# if defined(AO_HAVE_load_write)
    "AO_load_write(addr):";
    AO_load_write(addr);
# else
    "No AO_load_write";
# endif
# if defined(AO_HAVE_store_write)
    "AO_store_write(addr, val):";
    AO_store_write(addr, val);
# else
    "No AO_store_write";
# endif
# if defined(AO_HAVE_test_and_set_write)
    "AO_test_and_set_write(tsaddr):";
    AO_test_and_set_write(tsaddr);
# else
    "No AO_test_and_set_write";
# endif
# if defined(AO_HAVE_fetch_and_add1_write)
    "AO_fetch_and_add1_write(addr):";
    AO_fetch_and_add1_write(addr);
# else
    "No AO_fetch_and_add1_write";
# endif
# if defined(AO_HAVE_fetch_and_sub1_write)
    "AO_fetch_and_sub1_write(addr):";
    AO_fetch_and_sub1_write(addr);
# else
    "No AO_fetch_and_sub1_write";
# endif
# if defined(AO_HAVE_fetch_and_add_write)
    "AO_fetch_and_add_write(addr, incr):";
    AO_fetch_and_add_write(addr, incr);
# else
    "No AO_fetch_and_add_write";
# endif
# if defined(AO_HAVE_compare_and_swap_write)
    "AO_compare_and_swap_write(addr, oldval, newval):";
    AO_compare_and_swap_write(addr, oldval, newval);
# else
    "No AO_compare_and_swap_write";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_full(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_full)
    "AO_nop_full(): ";
    AO_nop_full();
# else
    "No AO_nop_full";
# endif
# if defined(AO_HAVE_load_full)
    "AO_load_full(addr):";
    AO_load_full(addr);
# else
    "No AO_load_full";
# endif
# if defined(AO_HAVE_store_full)
    "AO_store_full(addr, val):";
    AO_store_full(addr, val);
# else
    "No AO_store_full";
# endif
# if defined(AO_HAVE_test_and_set_full)
    "AO_test_and_set_full(tsaddr):";
    AO_test_and_set_full(tsaddr);
# else
    "No AO_test_and_set_full";
# endif
# if defined(AO_HAVE_fetch_and_add1_full)
    "AO_fetch_and_add1_full(addr):";
    AO_fetch_and_add1_full(addr);
# else
    "No AO_fetch_and_add1_full";
# endif
# if defined(AO_HAVE_fetch_and_sub1_full)
    "AO_fetch_and_sub1_full(addr):";
    AO_fetch_and_sub1_full(addr);
# else
    "No AO_fetch_and_sub1_full";
# endif
# if defined(AO_HAVE_fetch_and_add_full)
    "AO_fetch_and_add_full(addr, incr):";
    AO_fetch_and_add_full(addr, incr);
# else
    "No AO_fetch_and_add_full";
# endif
# if defined(AO_HAVE_compare_and_swap_full)
    "AO_compare_and_swap_full(addr, oldval, newval):";
    AO_compare_and_swap_full(addr, oldval, newval);
# else
    "No AO_compare_and_swap_full";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_release_write(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_release_write)
    "AO_nop_release_write(): ";
    AO_nop_release_write();
# else
    "No AO_nop_release_write";
# endif
# if defined(AO_HAVE_load_release_write)
    "AO_load_release_write(addr):";
    AO_load_release_write(addr);
# else
    "No AO_load_release_write";
# endif
# if defined(AO_HAVE_store_release_write)
    "AO_store_release_write(addr, val):";
    AO_store_release_write(addr, val);
# else
    "No AO_store_release_write";
# endif
# if defined(AO_HAVE_test_and_set_release_write)
    "AO_test_and_set_release_write(tsaddr):";
    AO_test_and_set_release_write(tsaddr);
# else
    "No AO_test_and_set_release_write";
# endif
# if defined(AO_HAVE_fetch_and_add1_release_write)
    "AO_fetch_and_add1_release_write(addr):";
    AO_fetch_and_add1_release_write(addr);
# else
    "No AO_fetch_and_add1_release_write";
# endif
# if defined(AO_HAVE_fetch_and_sub1_release_write)
    "AO_fetch_and_sub1_release_write(addr):";
    AO_fetch_and_sub1_release_write(addr);
# else
    "No AO_fetch_and_sub1_release_write";
# endif
# if defined(AO_HAVE_fetch_and_add_release_write)
    "AO_fetch_and_add_release_write(addr, incr):";
    AO_fetch_and_add_release_write(addr, incr);
# else
    "No AO_fetch_and_add_release_write";
# endif
# if defined(AO_HAVE_compare_and_swap_release_write)
    "AO_compare_and_swap_release_write(addr, oldval, newval):";
    AO_compare_and_swap_release_write(addr, oldval, newval);
# else
    "No AO_compare_and_swap_release_write";
# endif
}


    
/*
 * Copyright (c) 2003 by Hewlett-Packard Company.  All rights reserved.
 *
 * This file is covered by the GNU general public license, version 2.
 * see doc/COPYING for details.
 */

/* This generates a compilable program.  But it is really meant to be	*/
/* be used only with cc -E, to inspect the expensions generated by 	*/
/* primitives.								*/

/* The result will not link or run.					*/

void list_atomic_acquire_read(void)
{
  AO_T *addr, val, newval, oldval;
  AO_TS_T tsaddr;
  long incr;

# if defined(AO_HAVE_nop_acquire_read)
    "AO_nop_acquire_read(): ";
    AO_nop_acquire_read();
# else
    "No AO_nop_acquire_read";
# endif
# if defined(AO_HAVE_load_acquire_read)
    "AO_load_acquire_read(addr):";
    AO_load_acquire_read(addr);
# else
    "No AO_load_acquire_read";
# endif
# if defined(AO_HAVE_store_acquire_read)
    "AO_store_acquire_read(addr, val):";
    AO_store_acquire_read(addr, val);
# else
    "No AO_store_acquire_read";
# endif
# if defined(AO_HAVE_test_and_set_acquire_read)
    "AO_test_and_set_acquire_read(tsaddr):";
    AO_test_and_set_acquire_read(tsaddr);
# else
    "No AO_test_and_set_acquire_read";
# endif
# if defined(AO_HAVE_fetch_and_add1_acquire_read)
    "AO_fetch_and_add1_acquire_read(addr):";
    AO_fetch_and_add1_acquire_read(addr);
# else
    "No AO_fetch_and_add1_acquire_read";
# endif
# if defined(AO_HAVE_fetch_and_sub1_acquire_read)
    "AO_fetch_and_sub1_acquire_read(addr):";
    AO_fetch_and_sub1_acquire_read(addr);
# else
    "No AO_fetch_and_sub1_acquire_read";
# endif
# if defined(AO_HAVE_fetch_and_add_acquire_read)
    "AO_fetch_and_add_acquire_read(addr, incr):";
    AO_fetch_and_add_acquire_read(addr, incr);
# else
    "No AO_fetch_and_add_acquire_read";
# endif
# if defined(AO_HAVE_compare_and_swap_acquire_read)
    "AO_compare_and_swap_acquire_read(addr, oldval, newval):";
    AO_compare_and_swap_acquire_read(addr, oldval, newval);
# else
    "No AO_compare_and_swap_acquire_read";
# endif
}


    
