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
10struct array {
11  double data;
12  virtual ~array();
13};
14
15double glob;
16double ext1(double);
17int nmuons;
18
19void 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}
30