From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 61198 invoked by alias); 15 Jun 2018 09:33:34 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 61175 invoked by uid 89); 15 Jun 2018 09:33:33 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.6 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,LIKELY_SPAM_BODY,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=no version=3.3.2 spammy=favorite, 2.12, directions, hard-coding X-Spam-User: qpsmtpd, 2 recipients X-HELO: mail-lf0-f48.google.com Received: from mail-lf0-f48.google.com (HELO mail-lf0-f48.google.com) (209.85.215.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 15 Jun 2018 09:33:31 +0000 Received: by mail-lf0-f48.google.com with SMTP id p23-v6so1985977lfh.11; Fri, 15 Jun 2018 02:33:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bltY1vCVCLsKXLwP+VRH3qSjZw6fYE4y/ADssqgoss4=; b=asjHHuNKYVJdiDhaOufFEfCA/iSIwNMUtRz9lXy0AZntIvoA2lw4+FY+GKWKWzRZtv CTvNatIXkVlUZPrm2qfTdmUw/ny5GExiifaFuAmkXz6RbPSPUkqGUeGeofEPc6EsJ7/e m6JbKJHLY0JITfafSm8vYlJ0nWS+dG62dThiwU+IcM5QjsvfsLg4zJ0vBluan7053Obg QbYzmU3ACcG5Kf52eODC4A+foH4z1R+IklPmrGpGP9lyWd6QjWGQW0W1RDieMaAbuBlm aopI85JCrzgNaJMBJElsmyPiyaqW+keBcddm06QIyf/jfyl0H/kudsJm/I0VQwHwxYG+ Detg== X-Gm-Message-State: APt69E3V7aiVPTLry9fXot6Gaq5nDLayUweQdqPmsCJ8sF7fdfsROH5Y hAg2gXzahY70LHhALTQkzMaaNdHcg7rth9RGLec= X-Google-Smtp-Source: ADUXVKKvFZ8X8oVV34Mq99swfyKJkRy15R5ECFTpFBKcp6Kw8VJcnt5Pbz5fFH14HSkieJZdDQokVAAhj0Azrbp3krs= X-Received: by 2002:a2e:529c:: with SMTP id n28-v6mr825333lje.62.1529055209311; Fri, 15 Jun 2018 02:33:29 -0700 (PDT) MIME-Version: 1.0 References: <6a8d496b-d830-5eb2-eba3-c2e452d06493@arm.com> <80c395e1-9de5-1d9c-35b6-1ccfdfa6a9e5@arm.com> <20180410102954.GB8577@tucnak> <20180410130655.GD8577@tucnak> <877en01nvw.fsf@mid.deneb.enyo.de> <8736xo1kon.fsf@mid.deneb.enyo.de> In-Reply-To: <8736xo1kon.fsf@mid.deneb.enyo.de> From: Richard Biener Date: Fri, 15 Jun 2018 11:39:00 -0000 Message-ID: Subject: Re: libmvec in gcc to have vector math in fortran To: Florian Weimer Cc: Jakub Jelinek , szabolcs.nagy@arm.com, Janne Blomqvist , nd@arm.com, GCC Development , "fortran@gcc.gnu.org" , sellcey@cavium.com Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2018-06/txt/msg00175.txt.bz2 On Fri, Jun 15, 2018 at 11:08 AM Florian Weimer wrote: > > * Richard Biener: > > > That said, good to see some glibc folks jump in on this thread. > > I'd like to see glibc provide a fortran intrinsic header advertising > > the libmvec routines it has. We probably do need some gfortran > > adjustments here but I think that glibc advertising is better than > > hard-coding lists into GCC (like we do for some targets with > > their -mveclibabi= option). > > The advantage of putting into GCC is that it will work irrespective of > the installed glibc header version, so if we get this going: > > > > you could use libmvec along with really old glibcs (probably as far > back as 2.12, maybe even older). Well, ok - I obviously meant bundling the header with libmvec, not with glibc (which currently is the same). Putting it into GCC means that you have mismatches in both directions. I was also considering to somehow auto-generate a header based on what the C headers advertise at GCC install time. [or put a C parser into the fortran frontend, eh...] > But then we might into a different direction altogether. > > Another question is wheter the Fortran header can be generated by > something like -fdump-ada-spec, so that we don't have to maintain it > separately from the C header. Sure, see above - I think that's possible and it doesn't have to be as complicated as -fdump-ada-spec. Instead a simple script in your favorite language will do the job. First and foremost we need a syntax that actually works for the Fortran frontend and a way to automatically include this special header / module. Richard.