Testcase: #define vector __attribute__((vector_size(16) )) #pragma pack(push, r1, 1)
struct a { char t; vector float f; }; #pragma pack(push, r1, 1) vector float f(struct a * b, vector float a) { return b->f = a; } ---- CUT --- We use directly a stvx instruction here and this will store in the incorrect position. -- Summary: Vector load/store from a packed struct does not work (without -mstrict-align) Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: wrong-code Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: pinskia at gcc dot gnu dot org GCC target triplet: powerpc*-*-* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35866