On Tue, Jul 10, 2018 at 10:03:33AM -0700, Olof Johansson wrote:
> Hi Russell,
> > @@ -663,13 +679,27 @@ static inline void emit_a32_mov_r(const s8 dst, const 
> > s8 src,
> >  static inline void emit_a32_mov_r64(const bool is64, const s8 dst[],
> >                                   const s8 src[],
> >                                   struct jit_ctx *ctx) {
> > -       emit_a32_mov_r(dst_lo, src_lo, ctx);
> > -       if (is64) {
> > +       if (!is64) {
> > +               emit_a32_mov_r(dst_lo, src_lo, ctx);
> > +               /* Zero out high 4 bytes */
> > +               emit_a32_mov_i(dst_hi, 0, ctx);
> > +       } else if (__LINUX_ARM_ARCH__ < 6 &&
> > +                  ctx->cpu_architecture < CPU_ARCH_ARMv5) {
> >                 /* complete 8 byte move */
> > +               emit_a32_mov_r(dst_lo, src_lo, ctx);
> >                 emit_a32_mov_r(dst_hi, src_hi, ctx);
> 
> 
> Tiny nit: Looks like you compare for >= ARMv5TE above and <ARMv5 here.

Good catch, I'll fix it, and it gives me some satisfaction that
someone is reviewing this JIT code closely!  IMHO, JITs need a lot
of scrutiny.

> I'm not aware of any vanilla v5 implementations (all I can find are
> v5TE or <=v4T), so it doesn't seem like something actually causing
> problems. Mostly pointing it out for consistency's sake.

They're rare - I think the only one is an ARM1020 (ARMv5T) as opposed
to the ARM1020E (ARMv5TE).  Whether any are in the wild or not is
another matter.

-- 
RMK's Patch system: http://www.armlinux.org.uk/developer/patches/
FTTC broadband for 0.8mile line in suburbia: sync at 13.8Mbps down 630kbps up
According to speedtest.net: 13Mbps down 490kbps up

Reply via email to