https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101024
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=95699 --- Comment #7 from Andrew Pinski <pinskia at gcc dot gnu.org> --- After https://gcc.gnu.org/pipermail/gcc-patches/2023-May/617758.html, these are testcases that fail if we remove minmax_replacement : FAIL: gcc.dg/tree-ssa/phi-opt-20.c scan-tree-dump-times phiopt1 "MAX_EXPR" 2 FAIL: gcc.dg/tree-ssa/phi-opt-20.c scan-tree-dump-times phiopt1 "MIN_EXPR" 2 phiopt match-simplify trying: num_2(D) != 0 ? num_2(D) : 1 num_2(D) != 4294967295 ? num_2(D) : 4294967294 num_2(D) != -2147483648 ? num_2(D) : -2147483647 num_2(D) != 2147483647 ? num_2(D) : 2147483646 This should be reasonable to handle minmax_from_comparison and handle eq/ne for the cases where that is called. FAIL: gcc.dg/tree-ssa/pr95699.c scan-tree-dump optimized "MAX_EXPR <[^>\n\r]*9223372036854775808[^>\n\r]*>" FAIL: gcc.dg/tree-ssa/pr95699.c scan-tree-dump optimized "MIN_EXPR <[^>\n\r]*9223372036854775808[^>\n\r]*>" These are a bit more complex though: x.0_1 = (signed long) x_3(D); x.0_1 >= 0 ? 9223372036854775808 (0x8000000000000000) : x_3(D) x.1_1 = (signed long) x_3(D); x.1_1 < 0 ? 9223372036854775808 (0x8000000000000000) : x_3(D)