https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101938
--- Comment #4 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- This is actually an oversight in the range-ops code. In flag_wrapv -TYPE_MIN_VALUE = TYPE_MIN_VALUE which is special cased in the ABS folding routine, but not in operator_abs::op1_range(). Thank you for reporting and distilling this Martin.