[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2024-05-07 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Richard Biener changed: What|Removed |Added Target Milestone|14.0|14.2 --- Comment #18 from Richard

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-12-13 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #17 from GCC Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:ff8d0ce17fb585a29a83349acbc67b2dd3556629 commit r14-6495-gff8d0ce17fb585a29a83349acbc67b2dd3556629 Author: Roger Sayle Date: Wed

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-10-30 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #16 from CVS Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:31cc9824d1cd5e0f7fa145d0831a923479333cd6 commit r14-5013-g31cc9824d1cd5e0f7fa145d0831a923479333cd6 Author: Roger Sayle Date: Mon

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-08-04 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #15 from CVS Commits --- The master branch has been updated by Roger Sayle : https://gcc.gnu.org/g:c572f09a751cbd365e2285b30527de5ab9025972 commit r14-2998-gc572f09a751cbd365e2285b30527de5ab9025972 Author: Roger Sayle Date: Fri

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-21 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #14 from Andrew Pinski --- (In reply to Segher Boessenkool from comment #13) > So. Before expand we have > > _6 = (__int128) x_3(D); > x.0_1 = _6 << 59; > _2 = x.0_1 >> 59; Jakub is trying to emulate this using shifts but

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-21 Thread segher at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #13 from Segher Boessenkool --- So. Before expand we have _6 = (__int128) x_3(D); x.0_1 = _6 << 59; _2 = x.0_1 >> 59; _4 = (__int128 unsigned) _2; return _4; That should have been optimised better :-( The RTL code it

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-21 Thread segher at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #12 from Segher Boessenkool --- (In reply to Jakub Jelinek from comment #9) > Wonder how many important targets provide double-word shift patterns vs. > ones which expand it through generic code. Very long ago rs6000 had special

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-21 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #11 from Jakub Jelinek --- To handle this in generic code, I think expand_expr_real_2 woiuld need to notice this case of << operand of arithmetic >> by same amount and tell that to expand_variable_shift -> expand_shift_1 ->

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-20 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #10 from Jakub Jelinek --- Though, grepping tmp-mddump.md files shows only x86 having ashlti3 and ashrti3 expanders.

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-20 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Jakub Jelinek changed: What|Removed |Added CC||krebbel at gcc dot gnu.org,

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-20 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Uroš Bizjak changed: What|Removed |Added Assignee|ubizjak at gmail dot com |unassigned at gcc dot gnu.org

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-20 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #7 from CVS Commits --- The master branch has been updated by Uros Bizjak : https://gcc.gnu.org/g:b50a851eef4b70aabf28fa875d9b2a302d17b66a commit r14-2684-gb50a851eef4b70aabf28fa875d9b2a302d17b66a Author: Uros Bizjak Date: Thu

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-19 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Uroš Bizjak changed: What|Removed |Added Target Milestone|--- |14.0 CC|uros at gcc dot

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-19 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #5 from Jakub Jelinek --- Thanks. Shouldn't INTVAL (operands[2]) < * BITS_PER_UNIT be UINTVAL (operands[2]) < * BITS_PER_UNIT just to make sure it doesn't trigger for negative?

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-19 Thread ubizjak at gmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Uroš Bizjak changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-19 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 --- Comment #2 from Jakub Jelinek --- Improved testcase which shows similar behavior also with bitfields: #ifdef __SIZEOF_INT128__ #define type __int128 #define N 59 #else #define type long long #define N 27 #endif struct S { type a : sizeof

[Bug rtl-optimization/110717] Double-word sign-extension missed-optimization

2023-07-18 Thread jakub at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110717 Jakub Jelinek changed: What|Removed |Added CC||uros at gcc dot gnu.org