https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113189

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Other examples where the negative can be removed:
```
int foo(int a) {
    return -a * (-a * a);
}

int bar(int a) {
    return (-a * -a) * a;
}
int foo1(int a, int b, int c) {
    return -a * (-b * c);
}
```

bar is handled at the gimple level but foo and foo1 are not.

Reply via email to