1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-optimized -ffast-math -ffp-contract=off" } */
4 unsigned int foo (unsigned int x
, unsigned int y
, unsigned int z
)
6 return x
+ (-y
* z
* z
);
9 float bar (float x
, float y
, float z
)
11 return x
+ (-y
* z
* z
);
14 float bar2 (float x
, float y
, float z
)
16 return x
+ (-y
* z
* z
* 5.0f
);
19 float bar3 (float x
, float y
, float z
)
21 return x
+ (-y
* x
* -z
);
24 /* { dg-final { scan-tree-dump-times "_* = -y_" 0 "optimized" } } */