From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932840AbdKGCNN (ORCPT ); Mon, 6 Nov 2017 21:13:13 -0500 Received: from usa-sjc-mx-foss1.foss.arm.com ([217.140.101.70]:43656 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752462AbdKGCNM (ORCPT ); Mon, 6 Nov 2017 21:13:12 -0500 Date: Tue, 7 Nov 2017 02:13:16 +0000 From: Will Deacon To: Catalin Marinas Cc: "Jason A. Donenfeld" , linux-arm-kernel@lists.infradead.org, LKML , Mark Rutland , wangkefeng.wang@huawei.com, Ard Biesheuvel , Arnd Bergmann Subject: Re: [PATCH v4] arm64: support __int128 on gcc 5+ Message-ID: <20171107021316.GA23638@arm.com> References: <20171103141858.13149-1-Jason@zx2c4.com> <20171106093151.8312-1-Jason@zx2c4.com> <20171106155917.glgjgipppzsdpp6h@armageddon.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171106155917.glgjgipppzsdpp6h@armageddon.cambridge.arm.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 06, 2017 at 03:59:18PM +0000, Catalin Marinas wrote: > On Mon, Nov 06, 2017 at 10:31:51AM +0100, Jason A. Donenfeld wrote: > > Versions of gcc prior to gcc 5 emitted a __multi3 function call when > > dealing with TI types, resulting in failures when trying to link to > > libgcc, and more generally, bad performance. However, since gcc 5, > > the compiler supports actually emitting fast instructions, which means > > we can at long last enable this option and receive the speedups. > > > > The gcc commit that added proper Aarch64 support is: > > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d1ae7bb994f49316f6f63e6173f2931e837a351d > > This commit appears to be part of the gcc 5 release. > > > > There are still a few instructions, __ashlti3 and __ashrti3, which > > require libgcc, which is fine. Rather than linking to libgcc, we > > simply provide them ourselves, since they're not that complicated. > > > > Signed-off-by: Jason A. Donenfeld > > According to Arnd, linux-next (with this patch included) fails to build > with gcc-7 (config: https://pastebin.com/raw/sgvPe96e). > > Will is managing the upcoming merging window for arm64 but is travelling > this week. I'll wait for couple of days, he'll probably catch up with > emails but my suggestion is that we revert the patch and push it back > again into -next after the 4.15 merging window. So I pushed a fixup patch on top of for-next/core, but I suggest we temporarily revert the- DCONFIG_ARCH_SUPPORTS_INT128 option if any other issues crop up. Cheers, Will From mboxrd@z Thu Jan 1 00:00:00 1970 From: will.deacon@arm.com (Will Deacon) Date: Tue, 7 Nov 2017 02:13:16 +0000 Subject: [PATCH v4] arm64: support __int128 on gcc 5+ In-Reply-To: <20171106155917.glgjgipppzsdpp6h@armageddon.cambridge.arm.com> References: <20171103141858.13149-1-Jason@zx2c4.com> <20171106093151.8312-1-Jason@zx2c4.com> <20171106155917.glgjgipppzsdpp6h@armageddon.cambridge.arm.com> Message-ID: <20171107021316.GA23638@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Mon, Nov 06, 2017 at 03:59:18PM +0000, Catalin Marinas wrote: > On Mon, Nov 06, 2017 at 10:31:51AM +0100, Jason A. Donenfeld wrote: > > Versions of gcc prior to gcc 5 emitted a __multi3 function call when > > dealing with TI types, resulting in failures when trying to link to > > libgcc, and more generally, bad performance. However, since gcc 5, > > the compiler supports actually emitting fast instructions, which means > > we can at long last enable this option and receive the speedups. > > > > The gcc commit that added proper Aarch64 support is: > > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=d1ae7bb994f49316f6f63e6173f2931e837a351d > > This commit appears to be part of the gcc 5 release. > > > > There are still a few instructions, __ashlti3 and __ashrti3, which > > require libgcc, which is fine. Rather than linking to libgcc, we > > simply provide them ourselves, since they're not that complicated. > > > > Signed-off-by: Jason A. Donenfeld > > According to Arnd, linux-next (with this patch included) fails to build > with gcc-7 (config: https://pastebin.com/raw/sgvPe96e). > > Will is managing the upcoming merging window for arm64 but is travelling > this week. I'll wait for couple of days, he'll probably catch up with > emails but my suggestion is that we revert the patch and push it back > again into -next after the 4.15 merging window. So I pushed a fixup patch on top of for-next/core, but I suggest we temporarily revert the- DCONFIG_ARCH_SUPPORTS_INT128 option if any other issues crop up. Cheers, Will