[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #13 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:2dc5d6b1e7ec8822f5bd78761962ca2c85d4a2b4 commit r13-4607-g2dc5d6b1e7ec8822f5bd78761962ca2c85d4a2b4 Author: Richard Biener Date:

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread rguenther at suse dot de via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #12 from rguenther at suse dot de --- On Sun, 11 Dec 2022, glisse at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 > > --- Comment #11 from Marc Glisse --- > (In reply to Richard Biener from comment

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread glisse at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #11 from Marc Glisse --- (In reply to Richard Biener from comment #10) > Should be fixed in GCC 13. If I compile the original testcase with -O3, I get for test2: _1 = this_6(D) + 16; _2 = _6(D)->data1; if (_1 != _2) so we

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Richard Biener changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #9 from CVS Commits --- The master branch has been updated by Richard Biener : https://gcc.gnu.org/g:d13b86f932ff7b9d8f41483fd869c637b67d4dec commit r13-4600-gd13b86f932ff7b9d8f41483fd869c637b67d4dec Author: Richard Biener Date:

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-11 Thread rguenth at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Richard Biener changed: What|Removed |Added Assignee|pinskia at gcc dot gnu.org |rguenth at gcc dot gnu.org ---

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #7 from Andrew Pinski --- (In reply to Andrew Pinski from comment #6) > Better one: > struct b { int data[16]; }; > > int foo (struct b *x) > { > int *a = x->data; > int *b = ((int*)x) + 4; > return b - a; > } Note we can

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #6 from Andrew Pinski --- (In reply to Andrew Pinski from comment #5) > Reduced testcase for that issue: > struct { int data[16]; } *x; > int foo (int n1) > { > int *a = x->data; > int *b = ((int*)x) + 4; > return b - a; > }

[Bug tree-optimization/89317] Ineffective code from std::copy

2022-12-08 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Andrew Pinski changed: What|Removed |Added Keywords||TREE --- Comment #5 from Andrew Pinski

[Bug tree-optimization/89317] Ineffective code from std::copy

2021-11-23 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Andrew Pinski changed: What|Removed |Added Severity|normal |enhancement

[Bug tree-optimization/89317] Ineffective code from std::copy

2021-09-07 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Andrew Pinski changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug tree-optimization/89317] Ineffective code from std::copy

2019-02-18 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 Richard Biener changed: What|Removed |Added Status|UNCONFIRMED |NEW Last reconfirmed|

[Bug tree-optimization/89317] Ineffective code from std::copy

2019-02-12 Thread glisse at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #3 from Marc Glisse --- If we avoid changing the type from int16_t to uint16_t, we get 2 calls to memmove. They don't get expanded, probably because we fail to simplify the size to 16 in gimple: _1 = [(void *)this_5(D) + 16B]; _2

[Bug tree-optimization/89317] Ineffective code from std::copy

2019-02-12 Thread bugzi...@poradnik-webmastera.com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #2 from Daniel Fruzynski --- Yes, I mean inefficient.

[Bug tree-optimization/89317] Ineffective code from std::copy

2019-02-12 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317 --- Comment #1 from Jonathan Wakely --- You mean inefficient, right? The effects are correct as far as I can see.