[<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
 
