https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111348
Bug ID: 111348
Summary: `(a CMP b) ? minmax<a, c> : minmax<b, c>` pattern
missing :c on CMP
Product: gcc
Version: 14.0
Status: UNCONFIRMED
Keywords: internal-improvement, missed-optimization
Severity: enhancement
Priority: P3
Component: tree-optimization
Assignee: pinskia at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
```
(for minmax (min max)
(for cmp (lt le gt ge ne)
(simplify
(cond (cmp @1 @3) (minmax:c @1 @4) (minmax:c @2 @4))
```
Is missing :c on cmp
because we could have
(@3 < @1) ? min(@1, @4) : min(@2, @4)
Which should match for and provide the same as `@1 > @3 ? min(@1, @4) : min(@2,
@4)`