[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-08 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 Jakub Jelinek changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-08 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #14 from GCC Commits --- The master branch has been updated by Jakub Jelinek : https://gcc.gnu.org/g:2cbd4409bcfaba2bd4200412090fd06db1948369 commit r15-6725-g2cbd4409bcfaba2bd4200412090fd06db1948369 Author: Jakub Jelinek Date:

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-07 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #13 from Jakub Jelinek --- That patch regressed +FAIL: gcc.dg/pr81192.c scan-tree-dump-times pre "(?n)find_duplicates: duplicate of " 1 +FAIL: gcc.dg/tree-ssa/cunroll-13.c scan-tree-dump-times cunroll "Exit condition of peeled itera

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #12 from Andrew Pinski --- (In reply to Jakub Jelinek from comment #11) > Created attachment 60064 [details] > gcc15-pr117927.patch > > Untested patch I'm going to test soon. The only question is vrp is not run at -O1 nor with -fno

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-07 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #11 from Jakub Jelinek --- Created attachment 60064 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60064&action=edit gcc15-pr117927.patch Untested patch I'm going to test soon.

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2025-01-07 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #10 from Jakub Jelinek --- Any progress on this? Note, the bit_and in there is invalid if prec is not a power of two. Given that % is generally quite expensive, I think it should be (if (single_use (@3) && pow2p_hwi (prec))

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #9 from Andrew Pinski --- Created attachment 59809 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59809&action=edit Patch which I am going to test Note this does not include the testcase changes.

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #8 from Andrew Pinski --- (In reply to Jakub Jelinek from comment #5) > So expr_not_equal_to (@2, wi::uhwi (32, TYPE_PRECISION (TREE_TYPE (@2))) > then. Oh I didn't know about expr_not_equal_to .

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #5 from Jakub Jelinek --- So expr_not_equal_to (@2, wi::uhwi (32, TYPE_PRECISION (TREE_TYPE (@2))) then.

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #7 from Jakub Jelinek --- And if you go the masking way, it should be single use on the subtraction (or addition), otherwise it isn't a win from GIMPLE IL POV (trading 2 statements for 3).

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #6 from Jakub Jelinek --- s/32/TYPE_PRECISION (type)/ Anyway, if you want to turn it into masking, then it should not covert just the subtraction, but also addition and the constant operand doesn't have to be equal to the precision o

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 --- Comment #4 from Andrew Pinski --- (In reply to Jakub Jelinek from comment #3) > So > --- gcc/match.pd.jj 2024-12-05 18:29:46.246399098 +0100 > +++ gcc/match.pd 2024-12-06 09:38:35.670473040 +0100 > @@ -4981,7 +4981,8 @@ DEFINE_INT_AND

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-06 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org --- Comment #3

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-05 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 Richard Biener changed: What|Removed |Added Priority|P3 |P1 Keywords|

[Bug tree-optimization/117927] [15 Regression] Invalid rotate optimization

2024-12-05 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117927 Andrew Pinski changed: What|Removed |Added Summary|Invalid rotate optimization |[15 Regression] Invalid