[Bug tree-optimization/110992] [14 Regression] Dead Code Elimination Regression at -O3 since r14-1654-g7ceed7e3e29

2023-09-14 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992 --- Comment #4 from Andrew Pinski --- What we had before in GCC 13: # RANGE [irange] unsigned short [0, 1] NONZERO 0x1 d.3_19 = (unsigned short) _3; _21 = -d.3_19; _22 = (short intD.17) _21; _6 = (short intD.17) b.0_1; _7 = _6 &

[Bug tree-optimization/110992] [14 Regression] Dead Code Elimination Regression at -O3 since r14-1654-g7ceed7e3e29

2023-09-14 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992 --- Comment #3 from Andrew Pinski --- So this was fixed by accident via r14-3721-ge6bcf83989478348428c732 .

[Bug tree-optimization/110992] [14 Regression] Dead Code Elimination Regression at -O3 since r14-1654-g7ceed7e3e29

2023-08-25 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992 --- Comment #2 from Andrew Pinski --- So I think this is because ethread can understand `(a & b)!=0` but not `(a*c)!=0` that is a*c != 0 means that a or c will both be non-zero (especially since a*c is known to not to overflow as c as a range

[Bug tree-optimization/110992] [14 Regression] Dead Code Elimination Regression at -O3 since r14-1654-g7ceed7e3e29

2023-08-11 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |14.0 Ever confirmed|0