[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0c06cb51-fc33-f2ba-e2b8-ad280b89f35c@arm.com>
Date: Mon, 18 Mar 2019 17:59:17 +0000
From: Robin Murphy <robin.murphy@....com>
To: Marc Gonzalez <marc.w.gonzalez@...e.fr>,
Russell King - ARM Linux admin <linux@...linux.org.uk>
Cc: Marc Zyngier <marc.zyngier@....com>,
Will Deacon <will.deacon@....com>,
Jens Axboe <axboe@...nel.dk>,
Jeffrey Hugo <jhugo@...eaurora.org>,
Catalin Marinas <catalin.marinas@....com>,
LKML <linux-kernel@...r.kernel.org>,
Bjorn Andersson <bjorn.andersson@...aro.org>,
MSM <linux-arm-msm@...r.kernel.org>,
AngeloGioacchino Del Regno <kholk11@...il.com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] arm64/io: Don't use WZR in writel
On 18/03/2019 17:30, Marc Gonzalez wrote:
> On 18/03/2019 18:19, Robin Murphy wrote:
>
>> For the context bank reset, yes, I am assuming that no complier will
>> ever be perverse enough to detect that cfg is not written after the
>> NULL check and immediately reallocate it to XZR for no good reason.
>> I'd like to think that assumption is going to hold for the reasonable
>> scope of this particular workaround, though.
>
> I'm not sure I understand the above paragraph.
>
> In code such as:
>
> if (val == 0) foo(val);
>
> gcc's algorithm is likely to figure out that the code is equivalent to
>
> if (val == 0) foo(0)
>
> and perform constant-propagation, etc.
>
> Is that what we're talking about?
As may already be apparent, the way I expect compilers to behave, and
the way compilers actually behave, are two overlapping but distinct sets
of concepts...
Robin.
Powered by blists - more mailing lists