[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <3rf4Pc1S8mz9sXy@ozlabs.org>
Date: Tue, 28 Jun 2016 22:10:12 +1000 (AEST)
From: Michael Ellerman <mpe@...erman.id.au>
To: "Naveen N. Rao" <naveen.n.rao@...ux.vnet.ibm.com>,
linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
netdev@...r.kernel.org
Cc: Matt Evans <matt@...abs.org>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...com>,
Denis Kirjanov <kda@...ux-powerpc.org>,
Thadeu Lima de Souza Cascardo <cascardo@...hat.com>,
Paul Mackerras <paulus@...ba.org>,
"David S. Miller" <davem@...emloft.net>,
Ananth N Mavinakayanahalli <ananth@...ibm.com>
Subject: Re: [PATCHv2, 2/7] ppc: bpf/jit: Fix/enhance 32-bit Load Immediate implementation
On Wed, 2016-22-06 at 16:25:02 UTC, "Naveen N. Rao" wrote:
> The existing LI32() macro can sometimes result in a sign-extended 32-bit
> load that does not clear the top 32-bits properly. As an example,
> loading 0x7fffffff results in the register containing
> 0xffffffff7fffffff. While this does not impact classic BPF JIT
> implementation (since that only uses the lower word for all operations),
> we would like to share this macro between classic BPF JIT and extended
> BPF JIT, wherein the entire 64-bit value in the register matters. Fix
> this by first doing a shifted LI followed by ORI.
>
> An additional optimization is with loading values between -32768 to -1,
> where we now only need a single LI.
>
> The new implementation now generates the same or less number of
> instructions.
>
> Acked-by: Alexei Starovoitov <ast@...nel.org>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@...ux.vnet.ibm.com>
Series applied to powerpc next, thanks.
https://git.kernel.org/powerpc/c/aaf2f7e09932a08c1287d8e4c6
cheers
Powered by blists - more mailing lists