
Add a feature test for __sync_val_compare_and_swap() and __sync_bool_compare_and_swap() Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Link: http://lkml.kernel.org/r/1405332185-4050-30-git-send-email-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
15 lines
251 B
C
15 lines
251 B
C
#include <stdint.h>
|
|
|
|
volatile uint64_t x;
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
uint64_t old, new = argc;
|
|
|
|
argv = argv;
|
|
do {
|
|
old = __sync_val_compare_and_swap(&x, 0, 0);
|
|
} while (!__sync_bool_compare_and_swap(&x, old, new));
|
|
return old == new;
|
|
}
|