/* { dg-do compile } */ | |
/* { dg-options "-O2 -fdump-tree-optimized -ffast-math" } */ | |
float a, b, c, d; | |
extern int printf (const char *, ...); | |
int main(void) | |
{ | |
float e; | |
float f; | |
/* We should not be able to transform these into the same expression, and only have two additions. */ | |
e = a + b; | |
e = e + c; | |
f = c + a; | |
f = f + b; | |
printf ("%f %f\n", e, f); | |
} | |
/* { dg-final { scan-tree-dump-times "\\\+" 2 "optimized"} } */ |