Hello, this patch tries to tighten a bit the range estimate for x%y. slp-perm-7.c started failing by vectorizing more than expected, I assumed it was a good thing and updated the test. I am less conservative than Jakub with division by 0, but I still don't really understand how empty ranges are supposed to be represented in VRP. Bootstrap+testsuite on x86_64-linux-gnu. 2015-05-02 Marc Glisse PR tree-optimization/64454 gcc/ * tree-vrp.c (extract_range_from_binary_expr_1) : Rewrite. gcc/testsuite/ * gcc.dg/tree-ssa/vrp97.c: New file. * gcc.dg/vect/slp-perm-7.c: Update. -- Marc Glisse