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__));

Reply via email to