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
test()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       y = 0x100000002ll;
33       y = 0x300000004ll;
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 } } */
55