Imported Upstream version 4.7.3
[platform/upstream/gcc48.git] / gcc / testsuite / gcc.target / i386 / pr55981.c
1 /* { dg-do compile  { target { ! { ia32 } } } } */
2 /* { dg-options "-O2" } */
3
4 volatile int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p;
5
6 volatile long long y;
7
8 void
9 test ()
10 {
11   int a_ = a;
12   int b_ = b;
13   int c_ = c;
14   int d_ = d;
15   int e_ = e;
16   int f_ = f;
17   int g_ = g;
18   int h_ = h;
19   int i_ = i;
20   int j_ = j;
21   int k_ = k;
22   int l_ = l;
23   int m_ = m;
24   int n_ = n;
25   int o_ = o;
26   int p_ = p;
27
28   int z;
29
30   for (z = 0; z < 1000; z++)
31     {
32       __atomic_store_n (&y, 0x100000002ll, __ATOMIC_SEQ_CST);
33       __atomic_store_n (&y, 0x300000004ll, __ATOMIC_SEQ_CST);
34     }
35
36   a = a_;
37   b = b_;
38   c = c_;
39   d = d_;
40   e = e_;
41   f = f_;
42   g = g_;
43   h = h_;
44   i = i_;
45   j = j_;
46   k = k_;
47   l = l_;
48   m = m_;
49   n = n_;
50   o = o_;
51   p = p_;
52 }
53
54 /* { dg-final { scan-assembler-times "movabs" 2 } } */