[Bug tree-optimization/64454] optimize (x%5)%5

2022-02-24 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |6.0

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-15 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #14 from Marc Glisse --- (In reply to Andrew Pinski from comment #13) > It might also be useful if the range is [0,10] for x%5 to be simplified down > to just "t = x-5; x>=5?t:x;" (I assume you meant [0,9]) I agree, but the profitabi

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-15 Thread pinskia at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #13 from Andrew Pinski --- (In reply to Marc Glisse from comment #12) > One last thing that would have been nice: in VRP, if the range of X is > included in [10,14], X%5 can be simplified to X-10. But it is probably not > worth the tr

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-15 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 Marc Glisse changed: What|Removed |Added Status|NEW |RESOLVED Resolution|---

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-15 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #11 from Marc Glisse --- Author: glisse Date: Fri May 15 17:34:15 2015 New Revision: 223221 URL: https://gcc.gnu.org/viewcvs?rev=223221&root=gcc&view=rev Log: 2015-05-15 Marc Glisse PR tree-optimization/64454 gcc/

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-09 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #10 from Marc Glisse --- Author: glisse Date: Sat May 9 15:40:05 2015 New Revision: 222970 URL: https://gcc.gnu.org/viewcvs?rev=222970&root=gcc&view=rev Log: 2015-05-09 Marc Glisse PR tree-optimization/64454 gcc/

[Bug tree-optimization/64454] optimize (x%5)%5

2015-05-01 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #9 from Marc Glisse --- VRP could still do better: typedef unsigned short T; T f(T x, T y){ // Avoid narrowing in the front-end int ix=x; int iy=y; T z=ix%iy; int iz=z; return z%iy; } ix and iy both have range [0, 65535]

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #8 from Marc Glisse --- (In reply to Jakub Jelinek from comment #7) > Ah, this, I just didn't want to call fold_unary to create GC garbage when I > can cheaply see that it is ok. Makes sense, thanks for the explanation.

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #7 from Jakub Jelinek --- (In reply to Marc Glisse from comment #6) > (In reply to Jakub Jelinek from comment #5) > > The reason for tree_int_cst_sgn (vr->min) >= 0 was that I don't want to let > > 0 through and for negative values, h

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #6 from Marc Glisse --- (In reply to Jakub Jelinek from comment #5) > The reason for tree_int_cst_sgn (vr->min) >= 0 was that I don't want to let > 0 through and for negative values, handling those would require computing > absolute v

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 Jakub Jelinek changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #4 from Jakub Jelinek --- Author: jakub Date: Mon Jan 12 20:44:32 2015 New Revision: 219491 URL: https://gcc.gnu.org/viewcvs?rev=219491&root=gcc&view=rev Log: PR tree-optimization/64454 * tree-vrp.c (simplify_div_or_mod_using

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #3 from Marc Glisse --- Thanks, it looks good and it covers the most important case. Not sure why you are testing "tree_int_cst_sgn (vr->min) >= 0" but it doesn't hurt. Typo " or signed" -> " for signed" in the first comment.

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-12 Thread jakub at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #2

[Bug tree-optimization/64454] optimize (x%5)%5

2015-01-02 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64454 --- Comment #1 from Marc Glisse --- Folding (x%y)