| /* { dg-do compile } */ | |
| /* { dg-options "-O2 -fdump-tree-optimized -ffast-math -ffp-contract=off" } */ | |
| unsigned int foo (unsigned int x, unsigned int y, unsigned int z) | |
| { | |
| return x + (-y * z * z); | |
| } | |
| float bar (float x, float y, float z) | |
| { | |
| return x + (-y * z * z); | |
| } | |
| float bar2 (float x, float y, float z) | |
| { | |
| return x + (-y * z * z * 5.0f); | |
| } | |
| float bar3 (float x, float y, float z) | |
| { | |
| return x + (-y * x * -z); | |
| } | |
| /* { dg-final { scan-tree-dump-times "_* = -y_" 0 "optimized" } } */ |