http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
Richard Guenther changed:
What|Removed |Added
Status|UNCONFIRMED |RESOLVED
Resolution|
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #9 from Matt Gattis 2011-08-04 04:21:20
UTC ---
> However, on most archs I'm pretty sure the optimizer already checks alignment
> in order to do things like SIMD instructions. So this is probably a valid
> FEATURE REQUEST... that the
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
Gabriel M. Beddingfield changed:
What|Removed |Added
CC||gabriel at teuton dot org
--- C
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #7 from Matt Gattis 2011-06-15 01:19:57
UTC ---
(In reply to comment #6)
> The problem is:
> double *v = (qp == &(t->q)) ? t->xyz->va : t->xyz->vb;
>
> the pointer v is a pointer to a 8 byte aligned data but you supply it with
> so
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #6 from Andrew Pinski 2011-06-15
01:13:14 UTC ---
The problem is:
double *v = (qp == &(t->q)) ? t->xyz->va : t->xyz->vb;
the pointer v is a pointer to a 8 byte aligned data but you supply it with
something which is only 4 byte alig
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #5 from Matt Gattis 2011-06-15 01:10:35
UTC ---
(In reply to comment #1)
> I think this code is undefined as the alignment requirements of double is 8
> bytes but the original (t->xyz->va/t->xyz->vb) is packed so it has a alignment
>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #4 from Paolo Carlini 2011-06-15
01:00:34 UTC ---
Personally, I find the expression "over-optimization" misleading: either we
have a compiler *bug*, which therefore is performing an incorrect
transformation, or we don't, thus the code