/* { 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" } } */ |