From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 50325 invoked by alias); 14 Oct 2015 13:40:55 -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 49513 invoked by uid 89); 14 Oct 2015 13:40:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 14 Oct 2015 13:40:49 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-FEM-02.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1ZmMIP-0006N3-D9 from joseph_myers@mentor.com ; Wed, 14 Oct 2015 06:40:45 -0700 Received: from digraph.polyomino.org.uk (137.202.0.76) by SVR-IES-FEM-02.mgc.mentorg.com (137.202.0.106) with Microsoft SMTP Server id 14.3.224.2; Wed, 14 Oct 2015 14:40:44 +0100 Received: from jsm28 (helo=localhost) by digraph.polyomino.org.uk with local-esmtp (Exim 4.82) (envelope-from ) id 1ZmMIM-0004Ty-GE; Wed, 14 Oct 2015 13:40:42 +0000 Date: Wed, 14 Oct 2015 13:40:00 -0000 From: Joseph Myers To: Kirill Yukhin CC: Jeff Law , Jakub Jelinek , GCC Patches Subject: Re: [PATCH, VECTOR ABI] Add __attribute__((__simd__)) to GCC. In-Reply-To: <20151014123601.GA38813@msticlxl57.ims.intel.com> Message-ID: References: <20151005130733.GB62312@msticlxl57.ims.intel.com> <561551B0.70507@redhat.com> <20151014123601.GA38813@msticlxl57.ims.intel.com> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-1152306461-1738333090-1444830042=:15356" X-SW-Source: 2015-10/txt/msg01361.txt.bz2 ---1152306461-1738333090-1444830042=:15356 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Content-length: 1594 On Wed, 14 Oct 2015, Kirill Yukhin wrote: > Is it ok for trunk? This patch has no documentation. Documentation for new attributes must be added to extend.texi. > Enables creation of one or more versions that can process multiple > arguments using SIMD instructions from a single invocation from a SIMD > loop. It is ultimately an alias to `omp declare simd’ pragma, available > w/o additional compiler switches. It is prohibited to use the attribute > along with Cilk Plus’s `vector’ attribute. If the attribute is specified > and `pragma omp declare simd’ presents on a decl, then the attribute is > ignored. This is missing the key information that it's not just about *creation* of the versions, it's about (in the case of an external declaration) *assuming* such versions were created in another translation unit. And you should have a link to the external ABI documents specifying for each architecture for which this involves such an assumption exactly what versions may be assumed to be present - this is what's required to be able to use the attribute in headers for a library and know that future GCC versions won't reinterpret the attribute as implying some versions for future ISA extensions are also present. I wonder whether the syntax for this attribute should allow optional arguments to describe what versions are present, but maybe that can be deferred until e.g. you want a way in future for a library to specify it has an AVX1024 version of a function as well as the baseline ABI set of versions. -- Joseph S. Myers joseph@codesourcery.com ---1152306461-1738333090-1444830042=:15356--