public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r8-10876] rs6000: Fix up __m64 typedef in mmintrin.h [PR97301]
@ 2021-04-22 16:50 Jakub Jelinek
  0 siblings, 0 replies; only message in thread
From: Jakub Jelinek @ 2021-04-22 16:50 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:254b1a5abcad1d6d2f3c249cb8724004c51d80e9

commit r8-10876-g254b1a5abcad1d6d2f3c249cb8724004c51d80e9
Author: Jakub Jelinek <jakub@redhat.com>
Date:   Sat Jan 23 09:41:58 2021 +0100

    rs6000: Fix up __m64 typedef in mmintrin.h [PR97301]
    
    The x86 __m64 type is defined as:
    /* The Intel API is flexible enough that we must allow aliasing with other
       vector types, and their scalar components.  */
    typedef int __m64 __attribute__ ((__vector_size__ (8), __may_alias__));
    and so matches the comment above it in that reads and stores through
    pointers to __m64 can alias anything.
    But in the rs6000 headers that is the case only for __m128, but not __m64.
    
    The following patch adds that attribute, which fixes the
    FAIL: gcc.target/powerpc/sse-movhps-1.c execution test
    FAIL: gcc.target/powerpc/sse-movlps-1.c execution test
    regressions that appeared when Honza improved ipa-modref.
    
    2021-01-23  Jakub Jelinek  <jakub@redhat.com>
    
            PR testsuite/97301
            * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute.
    
    (cherry picked from commit db9a3ce7b83ce3ed3e0ffe7eb7a918595640e161)

Diff:
---
 gcc/config/rs6000/mmintrin.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/config/rs6000/mmintrin.h b/gcc/config/rs6000/mmintrin.h
index 497ecdf7895..0bcad939fb3 100644
--- a/gcc/config/rs6000/mmintrin.h
+++ b/gcc/config/rs6000/mmintrin.h
@@ -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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-22 16:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-22 16:50 [gcc r8-10876] rs6000: Fix up __m64 typedef in mmintrin.h [PR97301] Jakub Jelinek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).