[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20201130141804.GV1551@shell.armlinux.org.uk>
Date: Mon, 30 Nov 2020 14:18:04 +0000
From: Russell King - ARM Linux admin <linux@...linux.org.uk>
To: David Laight <David.Laight@...LAB.COM>
Cc: 'Ard Biesheuvel' <ardb@...nel.org>, Antony Yu <swpenim@...il.com>,
Nicolas Pitre <nico@...xnic.net>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
clang-built-linux <clang-built-linux@...glegroups.com>,
Nathan Chancellor <natechancellor@...il.com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [RESEND,PATCH] ARM: fix __div64_32() error when compiling with
clang
On Mon, Nov 30, 2020 at 01:58:27PM +0000, David Laight wrote:
> > And actually, the same applies on BE, but the other way around. So we
> > should mark __xl as an output register as well, as __xl will assume
> > the right value depending on the endianness.
>
> Why not use "+r" to indicate than an 'output' parameter is also
> used as an input.
>
> Rather cleaner than specifying the same C variable as both
> input and output.
You have an incorrect understanding. "__n" is the input operand in r0.
"__rem" is the output operand in r0/r1.
No single C variable is used as both an input and an output.
--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
Powered by blists - more mailing lists