From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cc-smtpout2.netcologne.de (cc-smtpout2.netcologne.de [89.1.8.212]) by sourceware.org (Postfix) with ESMTPS id 923853858436 for ; Thu, 3 Nov 2022 22:04:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 923853858436 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=netcologne.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=netcologne.de Received: from cc-smtpin1.netcologne.de (cc-smtpin1.netcologne.de [89.1.8.201]) by cc-smtpout2.netcologne.de (Postfix) with ESMTP id F37CB125C5; Thu, 3 Nov 2022 23:04:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=netcologne.de; s=nc1116a; t=1667513056; bh=D3EgACulh1sITJ5pJv3qSJfzjoUlUyd4xy305Un7jG4=; h=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:From; b=qYDT9Q0XDMdHGBCBr+HPEU+57LaU26dmkjrywq2jComRD90ICwQLyRIlscUHsUAm+ 1LoKp7tUbIA6UlXO66YekzldyJwCmsG0eUmSLMv6GzVpYwHta21IOhksZ4JeVVAlvc OUkeDKkKAiOnGTQhvc114E6rwwliAlM3qZje7QAHZ14BSTU8aPZIUyWQL8EGDRiuGA OKrIzuq4yAQNvH7KwHAY5b/M2+BKNGGiETtSKdgRwXj+kiEUdQMsXo6MbuHZcU6qPj u0aRZo3NcNms06ZBmvRSAFK9kRnGpGZHID4Q+0mVLClMtSCDtYlRb0AnTa1rIo7m3V qySlXHDTak59A== Received: from [IPV6:2001:4dd7:d2b7:0:7285:c2ff:fe6c:992d] (2001-4dd7-d2b7-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de [IPv6:2001:4dd7:d2b7:0:7285:c2ff:fe6c:992d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by cc-smtpin1.netcologne.de (Postfix) with ESMTPSA id 4E75611DE7; Thu, 3 Nov 2022 23:04:13 +0100 (CET) Message-ID: <88d8e0b3-8c75-2ccc-79bc-e9b621f0794c@netcologne.de> Date: Thu, 3 Nov 2022 23:04:12 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Subject: Re: Optimization of spread Content-Language: en-US To: Mikael Morin , =?UTF-8?Q?Th=c3=a9o_Cavignac?= Cc: gfortran References: <8f4bdd1c-44f1-fb2f-fdc2-f7fcbef17c43@orange.fr> From: Thomas Koenig In-Reply-To: <8f4bdd1c-44f1-fb2f-fdc2-f7fcbef17c43@orange.fr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-NetCologne-Spam: L X-Spamd-Bar: - X-Rspamd-Queue-Id: 4E75611DE7 X-Spam-Status: No, score=-3.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,KAM_SHORT,NICE_REPLY_A,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi, Mikael beat me to a mail saying essentially the same things by a few minutes, so I'm just adding a few details. > There are two places where inlining can be done: >  * In front-end passes where the parsed fortran code is rewritten > before generating the intermediary code for the optimizers.  Thomas > König can help you there. I most certainly can. frontend-passes.cc contains, among other functionality, a function to inline MATMUL for small sizes, so much of the infrastructure is already there. >  * Directly in the code generation for the optimizers.  It is (much) > more complex but can avoid the need for temporaries.  I can help you there. > > Some links about our development process and conventions: > https://gcc.gnu.org/contribute.html > https://gcc.gnu.org/git.html And, if you're into hacking gfortran, some starting pointers are at https://gcc.gnu.org/wiki/GFortranHacking . But always free feel to ask! Best regards Thomas