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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
That is:
```
int f(int a, int b)
{
        if (a > b) return a - b; else return b - a;
}
int fa(int a, int b)
{
        return (a > b) ? (a - b) : (b - a);
}

int f1(int a, int b)
{
        int t = a - b;
        if (a > b) return t; else return -t;
}


int f2(int a, int b)
{
        int t = a - b;
        if (t > 0) return t; else return -t;
}

int f3a(int a, int b)
{
        return ((a - b) > 0) ? (a - b) : (b - a);
}

int f3(int a, int b)
{
        int t = a - b;
        return t > 0 ? t : -t;
}
```

All are detected as ABS<(a-b)> .

Right now only f3a and f3 are detected as such.

Reply via email to