/* { dg-do compile } */ | |
/* { dg-options "-O -fno-rounding-math -fno-signed-zeros -fdump-tree-optimized-raw" } */ | |
double f(double a, double b){ | |
double c = a - b; | |
return -c; | |
} | |
int g(unsigned x){ | |
unsigned y = ~x; | |
int z = (int) y; | |
return -z; | |
} | |
unsigned h(unsigned a, unsigned b, unsigned c){ | |
unsigned d = b - c; | |
unsigned e = a + d; | |
return -e; | |
} | |
/* { dg-final { scan-tree-dump-not "negate_expr" "optimized"} } */ |