Hi! Apparently I've somehow screwed up the adjustments of the originally tested testcase, tweaked it so that in the second/third cases it actually see a MAX_EXPR rather than COND_EXPR the MAX_EXPR has been optimized into, and didn't update the expected value.
Tested on x86_64-linux -m32/-m64 with older and current trunk, committed to trunk as obvious. 2024-03-26 Jakub Jelinek <ja...@redhat.com> PR middle-end/111151 PR testsuite/114486 * gcc.c-torture/execute/pr111151.c (main): Fix up expected value for f. --- gcc/testsuite/gcc.c-torture/execute/pr111151.c.jj 2024-03-26 11:21:31.000000000 +0100 +++ gcc/testsuite/gcc.c-torture/execute/pr111151.c 2024-03-26 16:33:17.342319263 +0100 @@ -11,7 +11,7 @@ main () int d = (-__INT_MAX__ - 1) / 2; int e = 10; int f = (d * 2 > e * 5 ? d * 2 : e * 5) * 6; - if (f != 120) + if (f != 300) __builtin_abort (); int g = (-__INT_MAX__ - 1) / 2; int h = 0; Jakub