// PR rtl-optimization/59647 | |
// { dg-do compile } | |
// { dg-options "-O2 -fno-tree-vrp" } | |
// { dg-additional-options "-msse2 -mfpmath=sse" { target { { i?86-*-* x86_64-*-* } && ia32 } } } | |
void f1 (int); | |
void f2 (); | |
double f3 (int); | |
struct A | |
{ | |
int f4 () const | |
{ | |
if (a == 0) | |
return 1; | |
return 0; | |
} | |
unsigned f5 () | |
{ | |
if (!f4 ()) | |
f2 (); | |
return a; | |
} | |
int a; | |
}; | |
void | |
f6 (A *x) | |
{ | |
unsigned b = x->f5 (); | |
f1 (b - 1 - f3 (x->f5 () - 1U)); | |
} |