https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98317
--- Comment #3 from Daniel Han-Chen <danielhanchen at gmail dot com> --- Oh ok then. It's cause I was trying to do unaligned loads by following: https://stackoverflow.com/questions/9318115/loading-data-for-gccs-vector-extensions In it, it mentioned using typedef char __attribute__ ((vector_size (16),aligned (1))) unaligned_byte16, which works, though the other way does not. But I like your solution by declaring the type as aligned(1) separately.