From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2153) id 43D92386197F; Fri, 29 Jan 2021 19:19:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43D92386197F MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jakub Jelinek To: gcc-cvs@gcc.gnu.org Subject: [gcc r10-9319] rs6000: Fix up __m64 typedef in mmintrin.h [PR97301] X-Act-Checkin: gcc X-Git-Author: Jakub Jelinek X-Git-Refname: refs/heads/releases/gcc-10 X-Git-Oldrev: e5750f847158e7f9bdab770fd9c5fff58c5074d3 X-Git-Newrev: db9a3ce7b83ce3ed3e0ffe7eb7a918595640e161 Message-Id: <20210129191950.43D92386197F@sourceware.org> Date: Fri, 29 Jan 2021 19:19:50 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Jan 2021 19:19:50 -0000 https://gcc.gnu.org/g:db9a3ce7b83ce3ed3e0ffe7eb7a918595640e161 commit r10-9319-gdb9a3ce7b83ce3ed3e0ffe7eb7a918595640e161 Author: Jakub Jelinek 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 PR testsuite/97301 * config/rs6000/mmintrin.h (__m64): Add __may_alias__ attribute. 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 b735cbf3945..497fb1528b4 100644 --- a/gcc/config/rs6000/mmintrin.h +++ b/gcc/config/rs6000/mmintrin.h @@ -58,7 +58,8 @@ #include /* 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