https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71437
--- Comment #13 from amker at gcc dot gnu.org --- Proposed fix at https://gcc.gnu.org/ml/gcc-patches/2017-01/msg01981.html It prefers symbolic range if there is no useful numeric range information. Though I believe it is the right thing to do, it exposes other missed optimization in VRP. Basically VRP infrastructure is weak in handling symbolic range, resulting even worse range values sometime. For example, both operand_less_p and compare_values can be improved. Given these following improvement is needed but not necessarily part of this regression fix, I suggest we defer this PR at this stage and I will send all patches in next stage1.