https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81588
--- Comment #11 from Aldy Hernandez <aldyh at gcc dot gnu.org> --- Author: aldyh Date: Wed Sep 13 16:10:58 2017 New Revision: 252208 URL: https://gcc.gnu.org/viewcvs?rev=252208&root=gcc&view=rev Log: PR tree-optimization/81588 * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If ranges[i].in_p, invert comparison code ccode. For >/>=, swap rhs1 and rhs2 and comparison code unconditionally, for </<= don't do that. Don't swap rhs1/rhs2 again if ranges[i].in_p, instead invert comparison code ccode if opcode or oe->rank is BIT_IOR_EXPR. * gcc.dg/tree-ssa/pr81588.c: New test. * gcc.dg/pr81588.c: New test. * gcc.c-torture/execute/pr81588.c: New test. Added: branches/range-gen2/gcc/testsuite/gcc.c-torture/execute/pr81588.c branches/range-gen2/gcc/testsuite/gcc.dg/pr81588.c branches/range-gen2/gcc/testsuite/gcc.dg/tree-ssa/pr81588.c Modified: branches/range-gen2/gcc/ChangeLog branches/range-gen2/gcc/testsuite/ChangeLog branches/range-gen2/gcc/tree-ssa-reassoc.c