Would that even be true in the case where you specify a alignment ( keeping in mind that the alignment is for that specific variable)?
On Tue, Sep 20, 2011 at 7:25 PM, Peter Alexander < peter.alexander...@gmail.com> wrote: > On 19/09/11 9:17 AM, Rory McGuire wrote: > >> surely you would have to use >> movaps XMM0, v.v; >> >> because the alignment would only happen inside the struct? >> >> >> On Sat, Sep 17, 2011 at 8:11 PM, Adam D. Ruppe >> <destructiona...@gmail.com >> <mailto:destructionator@gmail.**com<destructiona...@gmail.com>>> >> wrote: >> >> Perhaps: >> >> void foo() { >> struct V { align(16) float[4] v = [1.0f, 2.0f, 3.0f, 4.0f]; } >> V v; >> asm { >> movaps XMM0, v; >> } >> } >> >> >> It compiles, but I'm not sure if it's actually correct. >> >> >> > v has offset 0 in the struct, so &v.v == &v, which is all the inline asm > cares about. > >