On 01/26/2014 11:25 AM, Peter Maydell wrote: > @@ -6773,9 +6801,9 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) > case 0x8: /* SSHL, USHL */ > { > static NeonGenTwoOpFn * const fns[3][2] = { > - { gen_helper_neon_shl_u8, gen_helper_neon_shl_s8 }, > - { gen_helper_neon_shl_u16, gen_helper_neon_shl_s16 }, > - { gen_helper_neon_shl_u32, gen_helper_neon_shl_s32 }, > + { gen_helper_neon_shl_s8, gen_helper_neon_shl_u8 }, > + { gen_helper_neon_shl_s16, gen_helper_neon_shl_u16 }, > + { gen_helper_neon_shl_s32, gen_helper_neon_shl_u32 }, > }; > genfn = fns[size][u]; > break; Oops, I clearly missed this in the review of the previous patch. But these bug fixes ought to be folded into the previous. Otherwise, Reviewed-by: Richard Henderson <rth@xxxxxxxxxxx> > + case 0xd: /* SMIN, UMIN */ > + { > + static NeonGenTwoOpFn * const fns[3][2] = { > + { gen_helper_neon_min_s8, gen_helper_neon_min_u8 }, > + { gen_helper_neon_min_s16, gen_helper_neon_min_u16 }, > + { gen_helper_neon_min_s32, gen_helper_neon_min_u32 }, > + }; > + genfn = fns[size][u]; > + break; Out of curiosity, what logic are you applying to using the neon helper functions and implementing stuff inline? It appears that you're implementing all of the 64-bit stuff inline, but using the existing 32-bit helpers, even if the helpers are remarkably small, like some of these. r~ _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm