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
--- 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 #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 #3 from Matt Gattis 2011-06-15 00:39:06
UTC ---
Created attachment 24531
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24531
verbose gcc output
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
--- Comment #2 from Matt Gattis 2011-06-15 00:38:29
UTC ---
Created attachment 24530
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=24530
verbose gcc output
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49413
Summary: over-optimization that causes valid code to segfault
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: u