[Bug target/48781] gcc generate movdqa instructions on unaligned memory address when using -mtune=native -march=native
tanzhangxi at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Apr 26 22:27:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48781
--- Comment #2 from Zhangxi Tan <tanzhangxi at gmail dot com> 2011-04-26 22:25:42 UTC ---
(In reply to comment #1)
> The alignment of __uint128_t is 16byte. I think you are invoking undefined
> behavior by using a data type which increases the alignment.
_uint128_t does not assume a 16-byte alignment, right? Maybe using (unsigned
int *) for pointer 'data' is not an good example.
Changing it to (void *) and casting it to (__uint128_t *) has the same problem.
Seems like, it's the combination of -O3, -mtune and -march. Problem doesn't
show up if I don't use -O3.
More information about the Gcc-bugs
mailing list