From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 127612 invoked by alias); 17 Apr 2018 13:55:14 -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 127592 invoked by uid 89); 17 Apr 2018 13:55:13 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 spammy=temporarily, H*r:10a6, HX-ClientProxiedBy:10a6 X-Spam-User: qpsmtpd, 2 recipients X-HELO: EUR01-HE1-obe.outbound.protection.outlook.com Received: from mail-he1eur01on0050.outbound.protection.outlook.com (HELO EUR01-HE1-obe.outbound.protection.outlook.com) (104.47.0.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 17 Apr 2018 13:55:07 +0000 Received: from [10.2.206.57] (217.140.96.140) by DB7PR08MB3291.eurprd08.prod.outlook.com (2603:10a6:5:1f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.675.14; Tue, 17 Apr 2018 13:55:02 +0000 Cc: nd@arm.com, Janne Blomqvist , GCC Development , Fortran List , Steve Ellcey Subject: Re: libmvec in gcc to have vector math in fortran To: Richard Biener , Jakub Jelinek References: <6a8d496b-d830-5eb2-eba3-c2e452d06493@arm.com> <80c395e1-9de5-1d9c-35b6-1ccfdfa6a9e5@arm.com> <20180410102954.GB8577@tucnak> <20180410130655.GD8577@tucnak> <1308CDF7-94DB-414B-900C-03B21C015D59@gmail.com> From: Szabolcs Nagy Message-ID: <2d781626-82f5-6a32-e515-121f7952ce94@arm.com> Date: Wed, 18 Apr 2018 08:41:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux aarch64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <1308CDF7-94DB-414B-900C-03B21C015D59@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: HE1PR0701CA0047.eurprd07.prod.outlook.com (2603:10a6:3:9e::15) To DB7PR08MB3291.eurprd08.prod.outlook.com (2603:10a6:5:1f::29) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:DB7PR08MB3291; X-Microsoft-Exchange-Diagnostics: 1;DB7PR08MB3291;3:Y/J/iiYZ64V9bsoblX/EPQAilKgP7mkZLm9TkrMJt/diNHTJYl5tsezGV2FhnxlluUmBW/yqR2xP1PSwmQvltpy2ySORa1pnkiPGlYm3d65LeMMWmDiVMfRMuMFTom9B40mBvz+OCXGQiH21+Wg033/oAR8Ic4JJ0Vdbc91P6uY1AL4qAfOJ8nCUkjjyQ7vXQx3Wx7aXSeLbDQ+b4Z+u/Hu26l71DLI4UoIKvrDLojkXcj8vdIZ6ujr0GSpA7owg;25:FLsyHQ7AmIi3DtM7KIHzIjaTSl1BrajxRdwchnGxUFYbHv/fxYdl+MKiUY7Cg7zIw1wB8MLBTEpoIS/CDyeIV9KiHC7nXLnmj2ZKDAE7JMX7TC6G+8HW+Ouf0hUv58Mejj9y2Zh9e96aNwvtL1L+568CzYs4r8flPxwZBmzB/WqKoMHu+WbgZixNmsmF1q40NGUV7cJOzxpYOp6ke7PmmbMDNgiHqP6ABPjBc52ooVQY6yoJWYL6TZrBwGz4aSol18rdi0kiSrdojQsZF+diTEaC1P37F7TVqHXwMAUlHB9Tbgojlu/FMz52K+PoCSYqL/eMooYRaf74bhEk8DzPQg==;31:TzNQQP3Jfca0kD8MveHqxZDjPB024be9EyoRYFkHpTfqVAOGatFdLs4FiKAE51pB/aLjdRHDP7NP0j0b5O7Dp7fMqBGvxL2a652eFU7oZe7jsYu29y0yMSXBss8tigsKvO8MuHwziMD96F0g3YoNIzn04e9oU6WwOELxGSvad78/AVIpF+lUhHD/9DxsqrSnubD34+KTJRDs2JsZEndbR71VAwcZArD8bsiQcqq/XjY= X-MS-TrafficTypeDiagnostic: DB7PR08MB3291: Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs.Nagy@arm.com; NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1;DB7PR08MB3291;20:dBlLVc2Cz3pyrrNAOp2+DKsqNAJO052800pgRrqVaP1W06NUpGYst0DbbSFX4Zmc2Y737gKnmjWpkkaM5hyZkPToMCeH97p2088abppMkJ9FVVamgBpT/+kP/dBb90ya/02v0LLqv1W3dFkKjz4bwJye83zczwU1fdgF0sbVFlM=;4:c1Bq118zlgAghrrsAFQ/DUiI4U4V4mzlRbPLNVrRMXo0fLKZAJlT5CW/9/ymDJDoQX97hS7zomcWiFNNHhFFxGVEMs0OmgG2fGYy33zHO9gUwLozGCN+MsQ82WaA+9+nnSvKIDAcne2CNrdRmhMZn2T4EAp927y5j/ovblBl5MWwwB5XrRwkk1Dr+3OcxXAuxM2Gz2wfxg2wD5wZBBNMUfzIBVCRVqToU6il7tieGqwGXSW0TZeqJANRIKn58Z17O475jk8+9t4dHYSfzsRwEw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231232)(944501359)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(6041310)(20161123558120)(20161123562045)(20161123560045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:DB7PR08MB3291;BCL:0;PCL:0;RULEID:;SRVR:DB7PR08MB3291; X-Forefront-PRVS: 0645BEB7AA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(6049001)(376002)(39860400002)(346002)(39380400002)(396003)(366004)(54094003)(189003)(199004)(81166006)(23676004)(52146003)(2486003)(67846002)(486006)(956004)(31696002)(86362001)(53936002)(52116002)(2616005)(6666003)(81156014)(8936002)(6246003)(446003)(68736007)(476003)(11346002)(97736004)(76176011)(58126008)(44832011)(4326008)(64126003)(6486002)(8676002)(93886005)(229853002)(316002)(39060400002)(16576012)(50466002)(3846002)(47776003)(53546011)(186003)(66066001)(6116002)(16526019)(65956001)(65806001)(77096007)(5660300001)(110136005)(54906003)(65826007)(36756003)(26005)(25786009)(305945005)(105586002)(72206003)(230700001)(2906002)(478600001)(106356001)(31686004)(59450400001)(386003)(7736002);DIR:OUT;SFP:1101;SCL:1;SRVR:DB7PR08MB3291;H:[10.2.206.57];FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtEQjdQUjA4TUIzMjkxOzIzOlkyaksvTG0wRWlNeisvT0hrM0VacEZrbUdY?= =?utf-8?B?QmhlNmhDOUlmdmVnZ0didkFNTFNNcFZIa3lWMTdUYWNDeEpQbFByanY0NHhZ?= =?utf-8?B?ZGlGWWUrMWl6ZFF6NFZuQjh5VEFVYTVONGpkYTN1dit1L21WbE1YbmZuRW5S?= =?utf-8?B?dG5ISEJheXdjUm81aUNrcGhSSGg5azc0cnVxK2Q1NktHMXE1T21jM1U1VkND?= =?utf-8?B?WHNwREEwY2JTZHNHZHQ0VlkzMnNKWngyVVNRV3IyQ2h1RUplTDkxam5nY1I1?= =?utf-8?B?RWhnOWNsRlkzR1pacXBxZVRZb1BlVloyVm4yZHZtZ3NvZ3FkREM1SWR3aEJS?= =?utf-8?B?S3hTaGFyWDBsRFJCd2FkZzdJVzIxTTRmRnpIRlRRWTBxRndlS2ZUUThFRGNB?= =?utf-8?B?L09jOS9Cb0JBRFl6SCtNak51M3k3YzZlQVlDWTVCZGI3eTV6MldlVkl6Q1RX?= =?utf-8?B?bDNLSTNSQkZ3ZGljdko1K0tubU1nZWlKMjFuMEFCdnhhVkRsWlpjcFB6RHp5?= =?utf-8?B?TDFVMzU4NVZRck5tWkhtV1F0WEhmenlnZFlvUE5DK0U4WXhZcnQwWHpBMjhv?= =?utf-8?B?VXZtUFNoN2czRWc3YXYwcHREdzYyaXZTaVhCMzRWd1F2M1c1a3g4OVFWaDNX?= =?utf-8?B?RHBXWHk5NGQ5eGRtN1FobThSSElxN3BDWkJnNFN5MVFKU0ErOHM2b0svRVBy?= =?utf-8?B?OTEza3RjSm9IS3ZiNjJhd0dsd2k3eHlWVHJIdEZSNFNra1dQb0E4MWNyS2FG?= =?utf-8?B?c25HNmxFcWhTRXNNME9hYTRrb0pFTEQvd0UwNVZSYXpkSUNZbTZ2QjlPVHVo?= =?utf-8?B?L1hlNnhCd0FIN3J6Wit4elY1RkNxYWxjTTJHa3FqWEUwNjNNS25TcVFVbkJr?= =?utf-8?B?WWxQYVRVZFRRZDVxdnM1MlJ0YVJRRncvcmNmck9lTXVzekRFcDIxby9JaUhI?= =?utf-8?B?ZmtxSjhtMXVNbVgxYWJTSzdPOWRoWTZwWWlGY2ZFRTVCcHhwV0tUMWVEeXJO?= =?utf-8?B?bUlDQk5WZEtnd09JWWx4Qnc3NXdybDBuQ1NubTBuS05oRVlNVm56YnZLM1c1?= =?utf-8?B?MktEdUR4aXlzU3hOUk90c2tSSm5yWXlOVCtiWjBacEFockMrWjdWVnA1Z0Vt?= =?utf-8?B?LzJ0OWs5RnpEa2hiMmVBWHJhSGRhVWJvOHl1M3kvVkZCaFZOdSs3aGNmVllR?= =?utf-8?B?TmsxMUVUaFVrcUlRUXM4OHlMb0VpK1J2ZnNlckNoakNRV2NIbWhkYnBMVVI1?= =?utf-8?B?MUJDYjg1eDdIMFFJcXFTMU80TXNNbWFBaXMxdnpmUE9NelVrRUphTDRsZVNx?= =?utf-8?B?bndvMUc3OHhjNDhOWEZUcm9mdnNpT3g4dVBpbFZNRi9vaGsrdFJRbnduaGlH?= =?utf-8?B?ZUJGb0t6YWFSS3hSRXFnKy9JU2xtNTN6OTYxendxRzdJeng3emorQUthK1Ew?= =?utf-8?B?SUgrcmN5NFFBVDZxdHNVcWxKVTNnQzJYTFlVVyttTW1NbXM5bVRoWlVKczgr?= =?utf-8?B?Ykk5ajIxWHlBczFsc1I3c3JvVVpUckFVekwvZmdXVG9oSlpPMXFoR2k4WjU4?= =?utf-8?B?QlV5RzJjMFNhSGFybDhyb0R1ZExhYm5xRnJxTXBuRC9qOXh0ZG0xZ0pRcTFz?= =?utf-8?B?ZHUvZ09rQ0Fvb016QmhyU1VIMk1KRU5GWTNGZFBPeXpQOHFONm5aRFk3TGRu?= =?utf-8?B?RlA1a1d1dHNaODNmaGlxTU5UVkFkOEFpQThmMlZIaWdLejNnWEFZVERtbWkv?= =?utf-8?B?Q1ZNbmpXR0VJWG90L3BTQ2tnVGhkZFloYWZiREJtbllTbzJxNXd5RWtoVnB3?= =?utf-8?B?YlU0QUZZbHFON2lOeUtsMkdhNlNPdVVUaFpUSlFWWW9BRVNuT29PZ1oxZTNZ?= =?utf-8?B?d3ZtWXowV1VVcVlYeWp1MmUxU2FuY1RySkFVV3A3QnF0K1k4TXJITlJTV1FC?= =?utf-8?B?RDEzY1BzcE5IQWRWVlJoOW5xZU0yV0dDNjY1Zk02R01nOUlVeUNWT2t2ZGYy?= =?utf-8?B?NzQ1Z3BPb2x6amdscXRIZERmbmxtMEdBUFZsSUdLdGczb1F5YlRBZjhLdlpw?= =?utf-8?B?UzIyQ3hhQlduajV0Y1dVYUJJNXZEY29na2taYjc2MGMzdDVtTUR5YlVLYzhw?= =?utf-8?Q?wBNGK8G3rlW9c7k7dWct7aHicJW+TvdSrkoQ5PuBAAUL?= X-Microsoft-Antispam-Message-Info: rXf2sexDuSoxH/4Ko0m9lAUFbIEDyiIui9LSQzI56637zUcSfcT4IrgS9tXqkX+sQn19ftG4l9HB7ibqt4T5TmHCweCuFgSbpuEwMGijUfUq2hU7Y1dYBMJLJLCtp9ZSk3ocnxipRYeVBvCpxelYcb7Gg1vMZkl20Bj6cAzQx15YbOaJEwooPblM+vivsk8i X-Microsoft-Exchange-Diagnostics: 1;DB7PR08MB3291;6:JZp+/lJWdik6n+vgsrVtsrJSmyTozTQwYm2p151+u3oQHJ/cAoiYmrS+nxyZd6xFQ87Mp7lQEwgkB89Xyw7twdSYEKRzJ8SxPtx6cEmf7myz+1Izz4dByt71SM41mmdWfVupYxhOmCqgatDuK8OqQs2JIrQEIgREZaDKIJ1bEdAYunyVMxnABde7SgSBTyMOqHSqlCauAoXyqVooaCWUNstnV2bkDcw+9yXOz1JZLvRSTKCImeyOEk8m1+0rutkzEC9avJs3BOaxjZ/qihx8RuJu3obYPe0CcTRjUsg1k9jKbrBn5gGhmRkyg/2cndHciRZdEKQv/8uDE5GohgW03HlR7KuWnASDcIYtgdF9LRSlLe+X4o1RopiAzYWj2pJhx98l1T5ZqzNxfSeWY/oQUMLpg2Bs5nGdIEwhfGEDljAH9KiWE5chRhfEnz3qYRONGxX8+KY6plNFYOsCwxATuw==;5:rUw7sUUYPchTVMdmYhnC5MK3LH0j33jF8TQuUqEBL8URLWulVRa3eLY1ecoWyb2PW2DBbOiRo1dYZxooHHJjBLYIRhf6BaDPInxEljGN87q1Og2wMG8GTjoq0N8sSdzSBHyyr2xJ07BiDJMWzDB4THTB5PUVtVC0/r34/mxoDuU=;24:36M85VhwN92njZyYpCfAjJ2IfjiTPgUeqyhe5bGxUxOO+QXcNL+z/B/RJ+hozgLkTVmlYaWlHumbrc+YCqsKtHaxzOmlyYRY0FKiwIYojIo= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB7PR08MB3291;7:CjvKHFmkF3onlxVPn8H+ohgJGYdPzJ8AMragpsxSCzgVlddsosYozoA/2viPE66LojCDX6mphJcTPXKLYA7b4EPl1pwmOGgRWHZuY95tYVGB8VyYpFiyti+Ogm1XEIxQJeIZW1D3j1wCcBBNwJsS3dEaHFKRKdDmjlbDb+mjc8qZw9clLD+bBAFbd88aLB9O2MNQk9vbc4K3t+qIyVP4uLHLzxgzRSwUzyRlUzI3rFXK2BGWaxug/BPIanYfrWBK X-MS-Office365-Filtering-Correlation-Id: 4701b266-b330-4873-5394-08d5a46ad1d1 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Apr 2018 13:55:02.8000 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4701b266-b330-4873-5394-08d5a46ad1d1 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3291 X-IsSubscribed: yes X-SW-Source: 2018-04/txt/msg00101.txt.bz2 On 10/04/18 14:27, Richard Biener wrote: > On April 10, 2018 3:06:55 PM GMT+02:00, Jakub Jelinek wrote: >> On Tue, Apr 10, 2018 at 02:55:43PM +0200, Richard Biener wrote: >>> I wonder if it is possible for glibc to ship a "module" for fortran >> instead >>> containing the appropriate declarations and gfortran auto-include >> that >>> (if present). >> >> Then we'd run into module binary format changing every release, so hard >> for >> glibc to ship that. >> >> Another thing is how would we express it in the module, >> we could just use OpenMP syntax, >> interface >> function sin(x) bind(C,name="__builtin_sin") result(res) >> import >> !$omp declare simd notinbranch >> real(c_double) :: res >> real(c_double),value :: x >> end function >> end interface >> but we'd need to temporarily enable OpenMP while parsing that module. >> I see Fortran now supports already >> !GCC$ attributes stdcall, fastcall::test >> Could we support >> !GCC$ attributes simd >> and >> !GCC$ attributes simd('notinbranch') >> too? > > Maybe we can also generate this module in a fixinlclude way? > ideally everything should work magically but i think it's good to have a big hammer solution that's easy to reason about. the gcc vectorizer should be testable independently of glibc, and users should be able to specify what can be vectorized. if this is via a per-frontend declaration syntax, then i see implementation and usability issues, while those are sorted out a single flag that requests every function known to gcc to be vectorized sounds to me a viable big hammer solution: easy to implement and enables users to start experimenting with simd math. (the implementation may use a preincluded fortran module internally, but i think it makes sense to have a single flag ui too)