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

            Bug ID: 115035
           Summary: Missed optimization: fold min/max in phi
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: xxs_chy at outlook dot com
  Target Milestone: ---

Godbolt link: https://godbolt.org/z/o489f6sj5
```
bool src(unsigned a, unsigned b, bool c) {
    unsigned phi;
    if(c) {
        dummy();
        phi = a < 6 ? a : 6;
    } else {
        phi = b;
    }
    return phi < 6;
}
```

can be folded to:

```
bool tgt(unsigned a, unsigned b, bool c) {
    unsigned phi;
    if(c) {
        dummy();
        phi = a;
    } else {
        phi = b;
    }
    return phi < 6;
}
```

Reply via email to