From patchwork Sun Feb 16 21:42:28 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 183565 Delivered-To: patch@linaro.org Received: by 2002:a92:1f12:0:0:0:0:0 with SMTP id i18csp4249117ile; Sun, 16 Feb 2020 13:42:50 -0800 (PST) X-Google-Smtp-Source: APXvYqxDwecJ4ko+Houe6RVGTPR/Nu03PJCj3tUmRiy7j819WlT87HwvmuBUegM+9g4fCqYJT8uq X-Received: by 2002:ac8:6ec5:: with SMTP id f5mr11083749qtv.137.1581889370053; Sun, 16 Feb 2020 13:42:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581889370; cv=none; d=google.com; s=arc-20160816; b=Z34JJRRjo82aAcNnkvCH+wKaL3vNda6Ubom4UtWts7WBAVwO7/tJWQGi+5VthfGRdq yyUDGtB8vLTMp5Z3cWWPDjlQw2aVnfW5eHf+ssBv+frLRSQeshBg3jligQtHQQwLmy75 yWottDLgM1fUgp0199CYcLYx1igvWiOaHl3Pk30GQ5ccTpWcSeVkR/PH7yXZI5js8UsY owEBjKOIFDiwvfLBUNVyjal0W+9loo/yjXr94R6Q/Hk12k6d74E6f2tn3bGeRhEpbdAh 2qtS3V9t96UJo6A6Vdf85j75mkybgHuuI1yrbuwo4uAirTxdCaCRE7bQBLuY+/hg3Bak 0UEA== 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:content-transfer-encoding :mime-version:message-id:date:subject:to:from:dkim-signature; bh=iwAfLdSd4Nz0+d0j/xxVSEbWBf2WYBccmS2/+I5uAl0=; b=cmA64VRFu+g6nIlGxp9rCU9wZyO227Qhc7RqyJDUd8zRV64AomW/e7V/byyKONXSxw pJUw+cS+dkufFWKy+SwHC9QodDzR5APmai4HRgkNXW/qMlNroLVp94cJzac4Ej5o0XCo nrDCFEgcSXYUfv0whmZdIOIVG2jaBwMDhnc0qFJxC1mu+w+fWtSsC+IvlMtPM+AYixmH qQECDamGn+N4zg6Xwz/s15OCMtks5zgOdP8+7pFqe6ZJ3laT9nK0pK3X5i50Ckrm7uie XL0YP+/EwvIew32F2CDuBrQSePxTJyIpeBJ1g4HskmDRWASdDXGafk7uKWH1md+xdQ8d C4rA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="tHH7RU/3"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id z23si5988978qto.69.2020.02.16.13.42.49 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 16 Feb 2020 13:42:50 -0800 (PST) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="tHH7RU/3"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from localhost ([::1]:36834 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j3Rgf-0007q8-GJ for patch@linaro.org; Sun, 16 Feb 2020 16:42:49 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:47662) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j3RgS-0007ps-II for qemu-devel@nongnu.org; Sun, 16 Feb 2020 16:42:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j3RgR-0004qd-AL for qemu-devel@nongnu.org; Sun, 16 Feb 2020 16:42:36 -0500 Received: from mail-pg1-x544.google.com ([2607:f8b0:4864:20::544]:42125) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j3RgR-0004pc-5R for qemu-devel@nongnu.org; Sun, 16 Feb 2020 16:42:35 -0500 Received: by mail-pg1-x544.google.com with SMTP id w21so7973230pgl.9 for ; Sun, 16 Feb 2020 13:42:35 -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:mime-version :content-transfer-encoding; bh=iwAfLdSd4Nz0+d0j/xxVSEbWBf2WYBccmS2/+I5uAl0=; b=tHH7RU/3tsSyj+jbN59lDUi5kcyKVVlCHnied+hnlcfdqm0qa1miVFoKQXPZCsuXgZ KrG/JJqzo3qmWl69eRCDzNjxje8NIP6OXFALJePYZraW5mq1C4bir8+O8q4cQBVBd+Pr 2IpvpKBZxiMu888EkUYR7AxO4tgS/nWNVsikUdBLqDbUCGhKvkB8Pds4UEw0hrQHPnZD n96se0KW+pwKFE8oOujvcUYVuVRnw3YyMen/g1Dq/Bq7RjXZSo+p4sJX/1da+n1yRZzn jMEGtd8HHt13mlXESXrhwnDUua0tyDhSBYcchJEuFF3ams6K7qtbrKrK7ONcAqrAC8RJ i1AQ== 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:mime-version :content-transfer-encoding; bh=iwAfLdSd4Nz0+d0j/xxVSEbWBf2WYBccmS2/+I5uAl0=; b=qtJlGsdlBwoxlmCLXfywgBzUdDolS2TtTkKoLIHTiGdAesV+XC8wekuV0dGDjziIkZ CBQ6MXxzQKo1zQCK7gx1PIcPwbxnMEE76EWm2NKhfsbWeuSN/NB5kHmVnUnC8OKnatGY 5X+YObr+WCGbVj5aAmSWJX4bnj1Q/eIzgLas8rAT/bd/I3hDLgBAQH+KEZNhrT6nTWtV 6ZWROwbjsZoKUiKwnrRQQwgLMwYgrtbztpcqZMTOdGlMjodw/iSZw4OV24ubXjgjlAZU HvQfpPoIOP5QT99wwDFYnX//AZ0SR01kJ9aalqxtxWAzpOd2xxwTgNuuW5U1AVgObyCS 2jNA== X-Gm-Message-State: APjAAAV0041PXQd6WMmuwBJ8ytTcmwb9P5PYOR3Xe/wSAiiXyzGXSG/p oEoTAK8+JTd5U7TDElvd05TArAOw8Y0= X-Received: by 2002:a63:38b:: with SMTP id 133mr14552527pgd.153.1581889353666; Sun, 16 Feb 2020 13:42:33 -0800 (PST) Received: from localhost.localdomain (97-126-123-70.tukw.qwest.net. [97.126.123.70]) by smtp.gmail.com with ESMTPSA id z29sm14821848pgc.21.2020.02.16.13.42.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 16 Feb 2020 13:42:32 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH v2 0/4] target/arm vector improvements Date: Sun, 16 Feb 2020 13:42:28 -0800 Message-Id: <20200216214232.4230-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::544 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Changes for v2: * Rename function arguments as requested by ajb. * Minor optimization in helper_gvec_pmul_b. Original blurb: The first patch has been seen before. https://patchwork.ozlabs.org/patch/1115039/ It had a bug and I didn't fix it right away and then forgot. Fixed now; I had mixed up the operand ordering for aarch32. The next 3 are something that I noticed while doing other stuff. In particular, pmull is used heavily during https transfers. While cloning a repository, the old code peaks at 27% of the total runtime, as measured by perf top. The new code does not quite reach 3% repeating the same clone. In addition, the new helper functions are in the form that will be required for the implementation of SVE2. r~ Richard Henderson (4): target/arm: Vectorize USHL and SSHL target/arm: Convert PMUL.8 to gvec target/arm: Convert PMULL.64 to gvec target/arm: Convert PMULL.8 to gvec target/arm/helper-sve.h | 2 + target/arm/helper.h | 21 ++- target/arm/translate.h | 6 + target/arm/neon_helper.c | 117 ------------- target/arm/translate-a64.c | 83 ++++----- target/arm/translate.c | 348 ++++++++++++++++++++++++++++++++----- target/arm/vec_helper.c | 211 ++++++++++++++++++++++ 7 files changed, 560 insertions(+), 228 deletions(-) -- 2.20.1