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:
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
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
Richard Biener changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
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:
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
---
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
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;
> }
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
Andrew Pinski changed:
What|Removed |Added
Keywords||TREE
--- Comment #5 from Andrew Pinski
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
Andrew Pinski changed:
What|Removed |Added
Severity|normal |enhancement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
Richard Biener changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|
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
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89317
--- Comment #2 from Daniel Fruzynski ---
Yes, I mean inefficient.
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.
15 matches
Mail list logo