From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39543) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8CEP-00080O-NC for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:13:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W8CEJ-000864-Td for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:13:49 -0500 Received: from mail-qc0-x233.google.com ([2607:f8b0:400d:c01::233]:64780) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W8CEJ-00085f-OZ for qemu-devel@nongnu.org; Tue, 28 Jan 2014 12:13:43 -0500 Received: by mail-qc0-f179.google.com with SMTP id e16so968222qcx.38 for ; Tue, 28 Jan 2014 09:13:43 -0800 (PST) Sender: Richard Henderson Message-ID: <52E7E53F.9020007@twiddle.net> Date: Tue, 28 Jan 2014 09:13:35 -0800 From: Richard Henderson MIME-Version: 1.0 References: <1390764312-21789-1-git-send-email-peter.maydell@linaro.org> <1390764312-21789-11-git-send-email-peter.maydell@linaro.org> In-Reply-To: <1390764312-21789-11-git-send-email-peter.maydell@linaro.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 10/21] target-arm: A64: Implement remaining non-pairwise int SIMD 3-reg-same insns List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell , qemu-devel@nongnu.org Cc: Peter Crosthwaite , patches@linaro.org, Michael Matz , Alexander Graf , Claudio Fontana , Dirk Mueller , Will Newton , Laurent Desnogues , =?ISO-8859-1?Q?Alex_Benn=E9e?= , kvmarm@lists.cs.columbia.edu, Christoffer Dall 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 > + 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~