From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15288 invoked by alias); 24 Oct 2017 10:01:24 -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 15259 invoked by uid 89); 24 Oct 2017 10:01:24 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 spammy= X-HELO: mga02.intel.com Received: from mga02.intel.com (HELO mga02.intel.com) (134.134.136.20) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 24 Oct 2017 10:01:14 +0000 Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Oct 2017 03:01:12 -0700 X-ExtLoop1: 1 Received: from irsmsx105.ger.corp.intel.com ([163.33.3.28]) by fmsmga005.fm.intel.com with ESMTP; 24 Oct 2017 03:01:10 -0700 Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by irsmsx105.ger.corp.intel.com (163.33.3.28) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 24 Oct 2017 11:01:09 +0100 Received: from irsmsx101.ger.corp.intel.com ([169.254.1.22]) by irsmsx155.ger.corp.intel.com ([169.254.14.169]) with mapi id 14.03.0319.002; Tue, 24 Oct 2017 11:01:09 +0100 From: "Koval, Julia" To: GCC Patches CC: Kirill Yukhin Subject: [PATCH][i386,AVX] Enable VBMI2 support [5/7] Date: Tue, 24 Oct 2017 10:05:00 -0000 Message-ID: <4E89A029A0F8D443B436A5167BA3C53F42AC3DCB@IRSMSX101.ger.corp.intel.com> x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOWYwYWEyZWQtN2Q3Mi00MmJlLWFiMjMtNzcwNTEwZjYyODUxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJMYVwvZVdZempzV1VReDhlTjNkcERveWdmWGJxbzBzdFcwV2V0SmVzZmhoeGUyY0pCNGhiOVRLQkdnNDNzN2gwaiJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-SW-Source: 2017-10/txt/msg01666.txt.bz2 Hi, This patch enables VPSHRD instruction. The doc for isaset and instruction: = https://software.intel.com/sites/default/files/managed/c5/15/architecture-i= nstruction-set-extensions-programming-reference.pdf Ok for trunk? gcc/ config/i386/avx512vbmi2intrin.h (_mm512_shrdi_epi16, _mm512_mask_shrdi_epi16, _mm512_maskz_shrdi_epi16, _mm512_shrdi_epi32, _mm512_mask_shrdi_epi32, _mm512_maskz_shrdi_epi32, _mm512_shrdi_epi64, _mm512_mask_shrdi_epi64, _mm512_maskz_shrdi_epi64): New intrinsics. config/i386/avx512vbmi2vlintrin.h (_mm256_shrdi_epi16, _mm256_mask_shrdi_epi16, _mm256_maskz_shrdi_epi16, _mm256_mask_shrdi_epi32, _mm256_maskz_shrdi_epi32, _mm256_shrdi_epi32, _mm256_mask_shrdi_epi64, _mm256_maskz_shrdi_epi64, _mm256_shrdi_epi64, _mm_mask_shrdi_epi16, _mm_maskz_shrdi_epi16, _mm_shrdi_epi16, _mm_mask_shrdi_epi32, _mm_maskz_shrdi_epi32, _mm_shrdi_epi32, _mm_mask_shrdi_epi64, _mm_maskz_shrdi_epi64, _mm_shrdi_epi64): Ditto. config/i386/i386-builtin.def (__builtin_ia32_vpshrd_v32hi, __builtin_ia32_vpshrd_v32hi_mask, __builtin_ia32_vpshrd_v16hi, __builtin_ia32_vpshrd_v16hi_mask, __builtin_ia32_vpshrd_v8hi, __builtin_ia32_vpshrd_v8hi_mask, __builtin_ia32_vpshrd_v16si, __builtin_ia32_vpshrd_v16si_mask, __builtin_ia32_vpshrd_v8si, __builtin_ia32_vpshrd_v8si_mask, __builtin_ia32_vpshrd_v4si, __builtin_ia32_vpshrd_v4si_mask, __builtin_ia32_vpshrd_v8di, __builtin_ia32_vpshrd_v8di_mask, __builtin_ia32_vpshrd_v4di, __builtin_ia32_vpshrd_v4di_mask, __builtin_ia32_vpshrd_v2di, __builtin_ia32_vpshrd_v2di_mask): New builtins. config/i386/sse.md (vpshrd_): New pattern. gcc/testsuite/ gcc.target/i386/avx-1.c: Handle new intrinsics. gcc.target/i386/sse-13.c: Ditto. gcc.target/i386/sse-23.c: Ditto. gcc.target/i386/avx512f-vpshrdd-2.c: New. gcc.target/i386/avx512f-vpshrdq-2.c: Ditto. gcc.target/i386/avx512vl-vpshrd-1.c: Ditto. gcc.target/i386/avx512vl-vpshrdd-2.c: Ditto. gcc.target/i386/avx512vl-vpshrdq-2.c: Ditto.