https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118141
--- Comment #14 from Richard Yao <richard.yao at alumni dot stonybrook.edu> --- A few final questions: What is the purpose of a union type if type punning is undefined behavior in the standard? If I specify -std=c99, should I expect type punning via union types to break on me? Is there any documentation for how the strict aliasing rule interacts with compiler intrinsics? In specific, would this be undefined behavior too or does using the memcpy() instead of _mm_storeu_si128() make it okay? https://godbolt.org/z/34PW6WfKn