From patchwork Tue Dec 18 06:38:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 154084 Delivered-To: patch@linaro.org Received: by 2002:a2e:299d:0:0:0:0:0 with SMTP id p29-v6csp3345000ljp; Mon, 17 Dec 2018 22:40:48 -0800 (PST) X-Google-Smtp-Source: AFSGD/XArTDPQnLyUWrg7d+ROAGEfiovjtiwl3SCALyNQIsNG7Yc9dLxNA5n4DPS9RXtMP8Fu+4Q X-Received: by 2002:a0c:95e8:: with SMTP id t37mr16098533qvt.163.1545115248529; Mon, 17 Dec 2018 22:40:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1545115248; cv=none; d=google.com; s=arc-20160816; b=cMq2cZAIxTHXybki8aMC/L0mvGIH82ECI7tofYzHy/V7snT3Vzl3w6Cj6CXX/N/kbk UUdUfm1m+JYeR1BWzL6HTp0iLPyhnyx0iWHUZTgnNoHQFApW0cNfY04tlkOTmqa/4E3T GwMddSmALzJkZQckLSZEKGBbCb8hNMpmgthgVZ5pvekbwoH3BAKurNyLJ2jK7CKsF7ZR JKvfC2KsCkZQlBlydPy8kcrSwDgrwkzsF0Tzx9X8k7p325hzT/0OVE6KVK9W2wl3e2VC +hu/Y/0fJLL/6lqKW2pxSK01mGvQihwpDZ/2wIGv2gN8EowNIqS6CX3mvOQenlgqrd4S 1xQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=FerA1jdUPmyzDQdllgAlLCmDGQMUpOXaXKd/jiLP8aM=; b=aBovbM14h410m2PWO3vyqmJPT+xRlyqiK0Q+7dKafyfvMXxDbAB8v0xHCdoketH+pW osQ7K+DsmvQPiaKLkLnImXrzAMXF+L+wvmNVvRcdZEIElLCgZbvy1aFpan+bwfmAHE5D 6UuPK9pk41B4th7PmCX3eQuraAP4+v8g6wMF3/MFYxnPolpB5yT/ZG0IxEg+RP9XhJS0 NTGEWriE0yMnoLfM8PBLE2n0Xfn2H6dJmSB3XvCSe/O9cv/8PUMNxMevxxe3s128KelX iMi4zpIrciXN08mKIswKBQDFG4tioz8gU00+G0r0vETnMCf4Ig2S68FLxSSnv+O8jLwr 0nOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=a0FTROsS; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id l202si4233748qke.87.2018.12.17.22.40.48 for (version=TLS1 cipher=AES128-SHA bits=128/128); Mon, 17 Dec 2018 22:40:48 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=a0FTROsS; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:52022 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gZ93g-00025a-0k for patch@linaro.org; Tue, 18 Dec 2018 01:40:48 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52644) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gZ92c-0001Tm-8I for qemu-devel@nongnu.org; Tue, 18 Dec 2018 01:39:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gZ92X-0002ES-Tf for qemu-devel@nongnu.org; Tue, 18 Dec 2018 01:39:40 -0500 Received: from mail-pf1-x442.google.com ([2607:f8b0:4864:20::442]:42365) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gZ92V-0001y7-Ph for qemu-devel@nongnu.org; Tue, 18 Dec 2018 01:39:37 -0500 Received: by mail-pf1-x442.google.com with SMTP id 64so7641146pfr.9 for ; Mon, 17 Dec 2018 22:39:26 -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=FerA1jdUPmyzDQdllgAlLCmDGQMUpOXaXKd/jiLP8aM=; b=a0FTROsScdVNojLTeAg6PkNpTYPVYwt3hiHhr3aUh2RS+yQuodOj+8mjiV2o0FhjRt qrW2JuR7crj9S0DW2rDJ8KNjg5bEpUY6x2c9xSg5924zYH3J2lefhOeghE/08Vn9QHh6 vF0livydGPAe9SdIvTchT6P6j1/YAwjxrxO4E= 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=FerA1jdUPmyzDQdllgAlLCmDGQMUpOXaXKd/jiLP8aM=; b=O29rUjLccKR0NjuS5lAvD/wk8Pa5e8vngOedwcyQuqUGnyphFfMoTsLIii03hc0GUL ebclzk3IP2E4o+abK6vx9Ya29dWR8jebdRa90lWVmdSJ93NG2hMK2auCHqvbj/iBltNk /YzYenLT661B21nkf5/CX/u36rdk5cs8/JrSxnVQZcn5+qctFOgw9GCnSXD/ixWYOz1D pVmepI4HYHfQVz9qof1XdKuB4gg7ZQBZFSLjr0HanuJSXHu3xGJx/uOyvf9eri/eq7Uc yvDL1aPAhNV5/YcBGvPNChjxaoENJnvnHyz0onKPrhK1XPcWelnZWLK4k7azv35ucQjR HRVw== X-Gm-Message-State: AA+aEWbsGEX4JhIswty2/QvWJVdqR0N+nLvd7hQNxBn98BPfP4QpSumt OPq1xkV7pTSIDcbWptRlzIVAWIQcE+Y= X-Received: by 2002:a62:1484:: with SMTP id 126mr1174288pfu.257.1545115165174; Mon, 17 Dec 2018 22:39:25 -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 c7sm27072509pfh.18.2018.12.17.22.39.24 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Dec 2018 22:39:24 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Mon, 17 Dec 2018 22:38:46 -0800 Message-Id: <20181218063911.2112-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20181218063911.2112-1-richard.henderson@linaro.org> References: <20181218063911.2112-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::442 Subject: [Qemu-devel] [PATCH 09/34] 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: qemu-ppc@nongnu.org, mark.cave-ayland@ilande.co.uk, david@gibson.dropbear.id.au Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Signed-off-by: Richard Henderson --- target/arm/translate-a64.c | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) -- 2.17.2 diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c index 2d6f8c1b4f..bef21ada71 100644 --- a/target/arm/translate-a64.c +++ b/target/arm/translate-a64.c @@ -10452,6 +10452,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); @@ -10613,27 +10627,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 */ {