From patchwork Sat Feb 9 03:38:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 1039104 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="Pimewh7R"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 43xHrG2RZgz9sML for ; Sat, 9 Feb 2019 14:40:30 +1100 (AEDT) Received: from localhost ([127.0.0.1]:39041 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsJVE-0007HB-8w for incoming@patchwork.ozlabs.org; Fri, 08 Feb 2019 22:40:28 -0500 Received: from eggs.gnu.org ([209.51.188.92]:42422) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gsJTl-0006hR-Va for qemu-devel@nongnu.org; Fri, 08 Feb 2019 22:38:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gsJTl-0000So-5M for qemu-devel@nongnu.org; Fri, 08 Feb 2019 22:38:57 -0500 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]:42129) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gsJTk-0000Sa-W8 for qemu-devel@nongnu.org; Fri, 08 Feb 2019 22:38:57 -0500 Received: by mail-pg1-x543.google.com with SMTP id d72so2414254pga.9 for ; Fri, 08 Feb 2019 19:38:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=vfmR0xjiEFR7KqO1KlnHNMMmXo5J+oxa//ouhR3geX4=; b=Pimewh7RKiiabB77eByNRQ4dHx8chyFN8WV8FtGDLEjr2jxpGAk050fmSgpr+iEW4C Xz8jzvAWzgkyuYjSLYhagMWHNrCfjjLv0X+zQ/lwfVXNCDTDZjCW0mpqcORlWbDXDIER zWit9Iieu8OcOB42sjFkxkoWEbHRwAQ4qV5BIzNsQYBMdBo2mQcAlsMLYY68PN/ag1z0 POhV47vhyW3Dlid/8yH1lGpJHjZRd0HsZSiVrVxjgCMXUPqKS4JbLf2ZRybTR7fPF7vI Tp+wMzkH9fH8P4JPLFk7NYKNvrXbkwu4BgKNTo83+60dLv3D9a2mfOTIZJ0RlBE9HRqB ffBA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=vfmR0xjiEFR7KqO1KlnHNMMmXo5J+oxa//ouhR3geX4=; b=jqO2Ib4U3YSu5ObSvangpGz7jPQNJAtjTyu8vrBLrf5gLY5yaFtFlbzSuC5nezQKmL 1kScspIQHBB7qrcG7Jb48YvnGE/OjDQGMMAYdpFV/QiMiF4S2b13WmtAZ33djblW+772 xWsReH7kvJJvLM7XV0r1bI07fZHYnfpJjdmErOn+f3+B7E7AvId1lh23+btkYpWSNfdn MsRTPAbRpLCxOpDr4e+3fQGyRsnxgsIZJxA3O4LJUfvXHLgNyfW6daAmfiVtXagHdIb2 Qyp8X+RKukixepBVFoL9mD+Mps1ABqiBoMJxe4kIys/boIWv6ilBNl8YFXBy6wap1DPV JMPQ== X-Gm-Message-State: AHQUAuY94qC7JVWU8pB4w1OA/QoUJ4+XDzfVjkJcbrlH20/+X5Z8Snsz LxVmTqOq5t5I/84qz/y86NAc8Fko8yk= X-Google-Smtp-Source: AHgI3IYhQRShzD6HoeLTAHRzghu0HhRFS5uYI4rMfvCaClXGBYOvnpkQTcM2AVlwvD7/eeKL36RNQw== X-Received: by 2002:a62:4181:: with SMTP id g1mr25694638pfd.45.1549683535551; Fri, 08 Feb 2019 19:38:55 -0800 (PST) Received: from cloudburst.twiddle.net (97-126-115-157.tukw.qwest.net. [97.126.115.157]) by smtp.gmail.com with ESMTPSA id s84sm6340737pfi.15.2019.02.08.19.38.52 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 08 Feb 2019 19:38:52 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Fri, 8 Feb 2019 19:38:37 -0800 Message-Id: <20190209033847.9014-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190209033847.9014-1-richard.henderson@linaro.org> References: <20190209033847.9014-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::543 Subject: [Qemu-devel] [PATCH v3 02/12] target/arm: Use vector minmax expanders for aarch64 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" Reviewed-by: Peter Maydell Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index a12bfac719..fd5ceb6613 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -10948,6 +10948,20 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) } switch (opcode) { + case 0x0c: /* SMAX, UMAX */ + if (u) { + gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umax, size); + } else { + gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_smax, size); + } + return; + case 0x0d: /* SMIN, UMIN */ + if (u) { + gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_umin, size); + } else { + gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_smin, size); + } + return; case 0x10: /* ADD, SUB */ if (u) { gen_gvec_fn3(s, is_q, rd, rn, rm, tcg_gen_gvec_sub, size); @@ -11109,27 +11123,6 @@ static void disas_simd_3same_int(DisasContext *s, uint32_t insn) genenvfn = fns[size][u]; break; } - case 0xc: /* SMAX, UMAX */ - { - static NeonGenTwoOpFn * const fns[3][2] = { - { gen_helper_neon_max_s8, gen_helper_neon_max_u8 }, - { gen_helper_neon_max_s16, gen_helper_neon_max_u16 }, - { tcg_gen_smax_i32, tcg_gen_umax_i32 }, - }; - genfn = fns[size][u]; - break; - } - - 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 }, - { tcg_gen_smin_i32, tcg_gen_umin_i32 }, - }; - genfn = fns[size][u]; - break; - } case 0xe: /* SABD, UABD */ case 0xf: /* SABA, UABA */ {