https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112752
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Here is a semi-reduced testcase:
```
#define byte unsigned char
#define MIN(a, b) ((a) > (b)?(b):(a))
byte hh(byte r, byte g, byte b) {
byte c = 255 - r;
byte m = 255 - g;
byte y = 255 - b;
byte tmp = MIN(m, y);
byte k = MIN(c, tmp);
return m - k;
}
```
Note matching this directly, the above might not fix the original testcase.
