Mercurial > hg > CbC > CbC_gcc
view libgomp/testsuite/libgomp.c/atomic-5.c @ 0:a06113de4d67
first commit
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 17 Jul 2009 14:47:48 +0900 |
parents | |
children | 04ced10e8804 |
line wrap: on
line source
/* PR middle-end/36106 */ /* { dg-options "-O2" } */ /* { dg-options "-O2 -mcx16" { target { { i?86-*-* x86_64-*-* } && lp64 } } } */ #ifdef __x86_64__ # include "cpuid.h" #endif extern void abort (void); int __attribute__((noinline)) do_test (void) { long double d = .0L; int i; #pragma omp parallel for shared (d) for (i = 0; i < 10; i++) #pragma omp atomic d += 1.0L; if (d != 10.0L) abort (); return 0; } int main (void) { #ifdef __x86_64__ unsigned int eax, ebx, ecx, edx; if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx)) return 0; if (!(ecx & bit_CMPXCHG16B)) return 0; #endif do_test (); return 0; }