OSDN Git Service

PR c++/44157
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / opt / reg-stack4.C
1 // PR target/12900
2 // Origin: <snyder@fnal.gov>
3
4 // This used to fail on x86 because the reg-stack pass
5 // deleted a valid edge.
6
7 // { dg-do compile }
8 // { dg-options "-mtune=i586 -O2" { target { { i?86-*-* x86_64-*-* } && ilp32 } } }
9
10 struct array {
11   double data;
12   virtual ~array();
13 };
14
15 double glob;
16 double ext1(double);
17 int nmuons;
18
19 void track_match()
20 {
21   array vecdca;
22   if (glob < 10) return;
23   double p = glob*5;
24   double phi = vecdca.data;
25   ext1 (vecdca.data-glob);
26   ext1 (phi*2);
27   if (1 < p)
28     ++nmuons; 
29 }