From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 107028 invoked by alias); 23 Oct 2018 08:36:35 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 105936 invoked by uid 89); 23 Oct 2018 08:35:53 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-8.9 required=5.0 tests=BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_LAZY_DOMAIN_SECURITY,LIKELY_SPAM_BODY,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=wrongcode, wrong-code, online X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 23 Oct 2018 08:35:52 +0000 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EC42683F51; Tue, 23 Oct 2018 08:35:50 +0000 (UTC) Received: from tucnak.zalov.cz (ovpn-116-16.ams2.redhat.com [10.36.116.16]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CC7537012E; Tue, 23 Oct 2018 08:35:49 +0000 (UTC) Received: from tucnak.zalov.cz (localhost [127.0.0.1]) by tucnak.zalov.cz (8.15.2/8.15.2) with ESMTP id w9N8ZlPP013801; Tue, 23 Oct 2018 10:35:47 +0200 Received: (from jakub@localhost) by tucnak.zalov.cz (8.15.2/8.15.2/Submit) id w9N8ZkGu013800; Tue, 23 Oct 2018 10:35:46 +0200 Date: Tue, 23 Oct 2018 08:57:00 -0000 From: Jakub Jelinek To: Uros Bizjak , Kirill Yukhin Cc: gcc-patches@gcc.gnu.org Subject: [PATCH] Fix a couple of avx512* intrinsic prototypes (PR target/87674) Message-ID: <20181023083546.GE11625@tucnak> Reply-To: Jakub Jelinek MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.9.2 (2017-12-15) X-IsSubscribed: yes X-SW-Source: 2018-10/txt/msg01393.txt.bz2 Hi! For all these, the instructions use just 8-bits from mask register and ICC prototypes as well as online Intel intrinsic documentation confirm that too. Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk? Not sure if we need to backport it, this isn't a wrong-code issue, the important mask bits aren't lost in any way. 2018-10-23 Jakub Jelinek PR target/87674 * config/i386/avx512vlintrin.h (_mm_mask_mullo_epi32): Change type of second argument from __mmask16 to __mmask8. * config/i386/avx512vlbwintrin.h (_mm_mask_packus_epi32, _mm_mask_packs_epi32): Likewise. * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i64scatter_ps): Likewise. (_mm512_mask_prefetch_i64scatter_pd): Likewise. Formatting fix. --- gcc/config/i386/avx512vlintrin.h.jj 2018-10-22 09:28:21.843398728 +0200 +++ gcc/config/i386/avx512vlintrin.h 2018-10-22 09:52:39.432092006 +0200 @@ -9095,7 +9095,7 @@ _mm_maskz_mullo_epi32 (__mmask8 __M, __m extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) -_mm_mask_mullo_epi32 (__m128i __W, __mmask16 __M, __m128i __A, +_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_pmulld128_mask ((__v4si) __A, --- gcc/config/i386/avx512vlbwintrin.h.jj 2018-07-11 22:55:44.663456512 +0200 +++ gcc/config/i386/avx512vlbwintrin.h 2018-10-22 09:55:24.784333238 +0200 @@ -4346,7 +4346,7 @@ _mm_maskz_packus_epi32 (__mmask8 __M, __ extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) -_mm_mask_packus_epi32 (__m128i __W, __mmask16 __M, __m128i __A, +_mm_mask_packus_epi32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packusdw128_mask ((__v4si) __A, @@ -4389,7 +4389,7 @@ _mm_maskz_packs_epi32 (__mmask8 __M, __m extern __inline __m128i __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) -_mm_mask_packs_epi32 (__m128i __W, __mmask16 __M, __m128i __A, +_mm_mask_packs_epi32 (__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { return (__m128i) __builtin_ia32_packssdw128_mask ((__v4si) __A, --- gcc/config/i386/avx512pfintrin.h.jj 2018-01-03 10:20:06.095535707 +0100 +++ gcc/config/i386/avx512pfintrin.h 2018-10-22 09:49:52.647874664 +0200 @@ -174,16 +174,16 @@ _mm512_prefetch_i64scatter_ps (void *__a extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) -_mm512_mask_prefetch_i64scatter_pd (void *__addr, __mmask16 __mask, +_mm512_mask_prefetch_i64scatter_pd (void *__addr, __mmask8 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqpd (__mask, (__v8di) __index, __addr, __scale, - __hint); + __hint); } extern __inline void __attribute__ ((__gnu_inline__, __always_inline__, __artificial__)) -_mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask16 __mask, +_mm512_mask_prefetch_i64scatter_ps (void *__addr, __mmask8 __mask, __m512i __index, int __scale, int __hint) { __builtin_ia32_scatterpfqps (__mask, (__v8di) __index, __addr, __scale, Jakub