Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753357AbbKXMX0 (ORCPT ); Tue, 24 Nov 2015 07:23:26 -0500 Received: from pandora.arm.linux.org.uk ([78.32.30.218]:53118 "EHLO pandora.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752960AbbKXMXY (ORCPT ); Tue, 24 Nov 2015 07:23:24 -0500 Date: Tue, 24 Nov 2015 12:23:08 +0000 From: Russell King - ARM Linux To: =?iso-8859-1?Q?M=E5ns_Rullg=E5rd?= Cc: Arnd Bergmann , linux-arm-kernel@lists.infradead.org, Stephen Boyd , Nicolas Pitre , Peter Maydell , "linux-arm-msm@vger.kernel.org" , Daniel Lezcano , lkml - Kernel Mailing List , Steven Rostedt , Christopher Covington Subject: Re: [RFC/PATCH 0/3] ARM: Use udiv/sdiv for __aeabi_{u}idiv library functions Message-ID: <20151124122308.GB8644@n2100.arm.linux.org.uk> References: <1448068997-26631-1-git-send-email-sboyd@codeaurora.org> <20151124001306.GI19156@codeaurora.org> <20151124085349.GQ19156@codeaurora.org> <4485320.CGMJdfZLya@wuerfel> <20151124104225.GA8644@n2100.arm.linux.org.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: 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 Content-Length: 1929 Lines: 44 On Tue, Nov 24, 2015 at 12:10:02PM +0000, M?ns Rullg?rd wrote: > Russell King - ARM Linux writes: > > > On Tue, Nov 24, 2015 at 11:38:53AM +0100, Arnd Bergmann wrote: > >> I suggested using -mcpu=cortex-a15 because there are old gcc versions > >> that don't know about -march=armv7ve or -march=armv7-a+idiv yet, but > >> that do understand -mcpu=cortex-a15. > > > > That's not all. The bigger problem is that there are toolchains out > > there which accept these options, but do _not_ support IDIV in either > > ARM or Thumb mode. I'm afraid that makes it impossible to add this > > feature to the mainline kernel in this form: we need to run a test > > build to check that -march=armv7ve or what-not really does work > > through both GCC and GAS. > > If the compiler accepts the option but doesn't actually emit any div > instructions, is there any real harm? That's not what I've found. I've found that asking the assembler to accept idiv instructions appears to be ignored, which is something completely different. Further to this, what it comes down to is the stupid idea that the compiler should embed .arch / .cpu in the assembly output, which has the effect of overriding the command line arguments given to it via -Wa. So, giving -Wa,-mcpu=cortex-a15 is a total no-op, because the first thing in the assembly output is: .arch armv7-a which kills off any attempt to set the assembly level ISA from the command line. It does appear after all that Ubuntu 14.04 does support sdiv/idiv with -mcpu=cortex-a15, but there is no -march=armv7ve. -- FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up according to speedtest.net. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/