Re: [PATCH 3/3] powerpc: Fix pre-update addressing in inline assembly

From: Segher Boessenkool
Date: Tue Oct 20 2020 - 07:56:51 EST


On Tue, Oct 20, 2020 at 09:44:33AM +0200, Christophe Leroy wrote:
> Le 19/10/2020 à 22:24, Segher Boessenkool a écrit :
> >>but the associated "<>" constraint is missing.
> >
> >But that is just fine. Pointless, sure, but not a bug.
>
> Most of those are from prehistoric code. So at some point in time it was
> effective. Then one day GCC changed it's way and they became pointless. So,
> not a software bug, but still a regression at some point.
>
> >>Use UPD_CONSTR macro everywhere %Un modifier is used.
> >
> >Eww. My poor stomach.
>
> There are not that many :)

Heh, your pain threshold is much higher than mine I guess :-)

> >Have you verified that update form is *correct* in all these, and that
> >we even *want* this there?
>
> I can't see anything that would militate against it, do you ?
>
> I guess if the elders have put %Us there, it was wanted.

On old CPUs, update form load/stores actually executed faster than a
"normal" memory access and an addi (or plain add). But on more recent
stuff it mostly saves code size. Which is nice of course, and can speed
up your code a bit, in theory at least.

It is quite hard to trigger the compiler to generate update form insns
in asm, sigh. So testing will probably not show anything either way.
Oh well :-)


Segher