On December 2, 2019 4:27:47 PM GMT+01:00, Alexander Monakov <amona...@ispras.ru> wrote: >On Mon, 2 Dec 2019, Richard Biener wrote: > >> +typedef long long v4di __attribute__((vector_size(32))); >> +struct Vec >> +{ >> + unsigned int v[8]; >> +}; >> + >> +v4di pun (struct Vec *s) >> +{ >> + v4di tem; >> + __builtin_memcpy (&tem, s, 32); >> + return tem; >> +} >> + >> +/* We're expecting exactly two stmts, in particular no >BIT_INSERT_EXPR >> + and no memcpy call. >> + _3 = MEM <vector(4) long long int> [(char * {ref-all})s_2(D)]; >> + return _3; */ > >So just to make sure I understand correctly: the type in angle brackets >does >not imply 256-bit alignment, and this access has implied alignment of >just >32 bits, which is deduced from the type of s_2, right?
Yes. I should have quoted the more obvious -gimple IL dump instead. Richard. >Thanks! >Alexander