annotate gcc/testsuite/g++.dg/opt/pr59647.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // PR rtl-optimization/59647
kono
parents:
diff changeset
2 // { dg-do compile }
kono
parents:
diff changeset
3 // { dg-options "-O2 -fno-tree-vrp" }
kono
parents:
diff changeset
4 // { dg-additional-options "-msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } }
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 void f1 (int);
kono
parents:
diff changeset
7 void f2 ();
kono
parents:
diff changeset
8 double f3 (int);
kono
parents:
diff changeset
9
kono
parents:
diff changeset
10 struct A
kono
parents:
diff changeset
11 {
kono
parents:
diff changeset
12 int f4 () const
kono
parents:
diff changeset
13 {
kono
parents:
diff changeset
14 if (a == 0)
kono
parents:
diff changeset
15 return 1;
kono
parents:
diff changeset
16 return 0;
kono
parents:
diff changeset
17 }
kono
parents:
diff changeset
18 unsigned f5 ()
kono
parents:
diff changeset
19 {
kono
parents:
diff changeset
20 if (!f4 ())
kono
parents:
diff changeset
21 f2 ();
kono
parents:
diff changeset
22 return a;
kono
parents:
diff changeset
23 }
kono
parents:
diff changeset
24 int a;
kono
parents:
diff changeset
25 };
kono
parents:
diff changeset
26
kono
parents:
diff changeset
27 void
kono
parents:
diff changeset
28 f6 (A *x)
kono
parents:
diff changeset
29 {
kono
parents:
diff changeset
30 unsigned b = x->f5 ();
kono
parents:
diff changeset
31 f1 (b - 1 - f3 (x->f5 () - 1U));
kono
parents:
diff changeset
32 }