https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97301
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I think the right fix is: 2021-01-22 Jakub Jelinek <ja...@redhat.com> PR testsuite/97301 * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute. --- gcc/config/rs6000/mmintrin.h.jj 2021-01-04 10:25:46.794143679 +0100 +++ gcc/config/rs6000/mmintrin.h 2021-01-22 13:03:28.511043929 +0100 @@ -58,7 +58,8 @@ #include <altivec.h> /* The Intel API is flexible enough that we must allow aliasing with other vector types, and their scalar components. */ -typedef __attribute__ ((__aligned__ (8))) unsigned long long __m64; +typedef __attribute__ ((__aligned__ (8), + __may_alias__)) unsigned long long __m64; typedef __attribute__ ((__aligned__ (8))) union which will then match the ppc64le *intrin.h emulation match what x86 is doing TBAA-wise. x86 mmintrin.h has: typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));