From patchwork Thu Feb 8 16:49:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 127686 Delivered-To: patch@linaro.org Received: by 10.46.124.24 with SMTP id x24csp1672159ljc; Thu, 8 Feb 2018 08:58:26 -0800 (PST) X-Google-Smtp-Source: AH8x2264WYbJr5FQ4mslCSYHcpFJuyS9Z2Lyd+YN0Orei7JWBA/22Q/ecp0fGlCM8VV4rfuqAJU7 X-Received: by 10.37.122.3 with SMTP id v3mr1014962ybc.76.1518109106549; Thu, 08 Feb 2018 08:58:26 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1518109106; cv=none; d=google.com; s=arc-20160816; b=FCqQ0P8HRxkEY6c8PUMg1AfeFBbTK7zy+M8dc7tn/Fl/dW/reMTvAHBjnt1jFoY+7R 8et2fB+2DqcniYFi0HnNQbd+2hYjh9yhuiT7KkuTTxDNUzGqdGGbfQ0laCg+id+eqpXv SA8mQlLIGlb6JcHtyMteIhUt4DGpViTXLby82WLjponbLsM67Xesgli+2gOjoS/rxiy4 WnYuRPAZ6VTiv4FC6LEEUS9z/v5cEcFcVb3xfeiq0p3wxUrjfmFlYvqTk+FwsOwWSDji MnfiiHo6pkI1f1WSOFEUPLSq5x7Ih7qPR0RFvuENej+aZGsPwuySjGIaepLywGV2KgNm zhAg== 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 :content-transfer-encoding:mime-version:message-id:date:to:from :dkim-signature:arc-authentication-results; bh=2zQglnhK/3L2WZk0+0WXgTFyCHcTDYrzki1H7T7qYV4=; b=Z0BB/yv5NVaULDUcpJWdcSXzMeE7B1V+8UuJQYXv8iVgPxiGYCnxoe+a0dYgSXxAMt oyq50bIJ+IULmNRbVyN/fXpeyhOn9Fu5OU5/sd4g99huFyE899Twgsfsbp8LvsXxgxYI sMZvnRyIynCXlidfQdVczKG9yCbbVCmcrg1XsWAGBTqPKYDKBgapg35oMSOPdNBAOChU wEG8v3fakOwEmf9HzrWjVvnKso5tA2hU9aRY9yBO09XNwrBJuEPGOilJ/qJsIy9vx7Gd XsvBYbmWCXT6YldDI6Ndq0txQUBSki113nU6Tp1PPwVuPobkRdHZYQC6McsjsrGsDKpQ 0r5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=CfqFZ/8O; 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 j205si58460ybc.818.2018.02.08.08.58.26 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 08 Feb 2018 08:58:26 -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=CfqFZ/8O; 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]:52907 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ejpWk-0007K9-0e for patch@linaro.org; Thu, 08 Feb 2018 11:58:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42018) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ejpNs-00089S-QR for qemu-devel@nongnu.org; Thu, 08 Feb 2018 11:49:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ejpNp-00042K-Mr for qemu-devel@nongnu.org; Thu, 08 Feb 2018 11:49:16 -0500 Received: from mail-pg0-x232.google.com ([2607:f8b0:400e:c05::232]:43544) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ejpNp-00040C-Es for qemu-devel@nongnu.org; Thu, 08 Feb 2018 11:49:13 -0500 Received: by mail-pg0-x232.google.com with SMTP id f6so1791567pgs.10 for ; Thu, 08 Feb 2018 08:49:13 -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=2zQglnhK/3L2WZk0+0WXgTFyCHcTDYrzki1H7T7qYV4=; b=CfqFZ/8OVOR2HncG2Qci3YznHkS9XHvPg0DrJa+0jph/api7Ad4D29rWBdYVZ5+R1r Tawmh//HO2jlm3Ei3bJcmL5LPaE6VOP9wxg5UmsnR1p3poFCpjkI559FkHi36jn6DShV gttkD8i3Fc/A/m6Bfu5GTqLZRpihiI0t8+7n0= 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=2zQglnhK/3L2WZk0+0WXgTFyCHcTDYrzki1H7T7qYV4=; b=sm/UBlw2NJUaUKQHxiu+RtQ0QB7rKuwP2/3utPeDAsAVwe79ntZV4N1iaiG4oE5y43 2ggtekfPVT7hUppMK9EPydWkqc68UhRW4MtBUR3xurNM9XZGu96olfD0mPvb/t2Kd+x7 S6ry8Z9dToq1Ht2mewFf7uZkWXGA8x9FQb/Ilo9SyxozOzDOroEP9V82e9GhEVC15bG4 AVG3x6TmNvptPtqbsZG28skmz7bL7IzzHoA2YJrPlHnQn+oK7qf75LQ0AgrgFR8scuaH TW/zoXisbwZERE9ZueM4iGmbOGNV3fZd8BYAeMZDGZkYha2XqTsyiBFCHd3I6zofj95V RLaA== X-Gm-Message-State: APf1xPAUjspVpY8H/sQ08/6R8IAh5s6IumHyU7DJJN7GIh7YxTJ9cesc MowUt6L+auyGmdjgBCe1JqHNHktWz/0= X-Received: by 10.98.70.17 with SMTP id t17mr1330971pfa.14.1518108551885; Thu, 08 Feb 2018 08:49:11 -0800 (PST) Received: from cloudburst.twiddle.net (174-21-6-47.tukw.qwest.net. [174.21.6.47]) by smtp.gmail.com with ESMTPSA id o186sm681255pga.16.2018.02.08.08.49.10 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Feb 2018 08:49:10 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Date: Thu, 8 Feb 2018 08:49:08 -0800 Message-Id: <20180208164909.8639-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.14.3 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c05::232 Subject: [Qemu-devel] [PULL v2 00/20] tcg generic vectors 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+patch=linaro.org@nongnu.org Sender: "Qemu-devel" Changes since last: * Fix the constant pool patch for ppc64 and sparc64 hosts. That's a bit of a brown-bag moment. I failed to test those because "clearly" they weren't affected the patches. r~ The following changes since commit b256b89c63c12e902645dd55e7b5362f60574742: Merge remote-tracking branch 'remotes/jnsnow/tags/bitmaps-pull-request' into staging (2018-02-08 10:16:59 +0000) are available in the Git repository at: git://github.com/rth7680/qemu.git tags/pull-tcg-20180208 for you to fetch changes up to 14e4c1e2355473ccb2939afc69ac8f25de103b92: tcg/aarch64: Add vector operations (2018-02-08 15:54:08 +0000) ---------------------------------------------------------------- tcg generic vectors ---------------------------------------------------------------- Richard Henderson (20): tcg: Allow multiple word entries into the constant pool tcg: Add types and basic operations for host vectors tcg: Standardize integral arguments to expanders tcg: Add generic vector expanders tcg: Add generic vector ops for constant shifts tcg: Add generic vector ops for comparisons tcg: Add generic vector ops for multiplication tcg: Add generic helpers for saturating arithmetic tcg: Add generic vector helpers with a scalar operand tcg/optimize: Handle vector opcodes during optimize target/arm: Align vector registers target/arm: Use vector infrastructure for aa64 add/sub/logic target/arm: Use vector infrastructure for aa64 mov/not/neg target/arm: Use vector infrastructure for aa64 dup/movi target/arm: Use vector infrastructure for aa64 constant shifts target/arm: Use vector infrastructure for aa64 compares target/arm: Use vector infrastructure for aa64 multiplies target/arm: Use vector infrastructure for aa64 orr/bic immediate tcg/i386: Add vector operations tcg/aarch64: Add vector operations Makefile.target | 4 +- accel/tcg/tcg-runtime.h | 118 +++ target/arm/cpu.h | 2 +- tcg/aarch64/tcg-target.h | 25 +- tcg/aarch64/tcg-target.opc.h | 3 + tcg/i386/tcg-target.h | 41 +- tcg/i386/tcg-target.opc.h | 13 + tcg/tcg-gvec-desc.h | 49 + tcg/tcg-op-gvec.h | 306 ++++++ tcg/tcg-op.h | 52 +- tcg/tcg-opc.h | 46 + tcg/tcg.h | 87 ++ accel/tcg/tcg-runtime-gvec.c | 997 +++++++++++++++++++ target/arm/translate-a64.c | 975 ++++++++++++++----- tcg/aarch64/tcg-target.inc.c | 588 ++++++++++- tcg/i386/tcg-target.inc.c | 987 ++++++++++++++++++- tcg/optimize.c | 150 +-- tcg/tcg-op-gvec.c | 2216 ++++++++++++++++++++++++++++++++++++++++++ tcg/tcg-op-vec.c | 389 ++++++++ tcg/tcg-op.c | 42 +- tcg/tcg-pool.inc.c | 113 ++- tcg/tcg.c | 125 ++- accel/tcg/Makefile.objs | 2 +- configure | 48 + tcg/README | 86 ++ 25 files changed, 6969 insertions(+), 495 deletions(-) create mode 100644 tcg/aarch64/tcg-target.opc.h create mode 100644 tcg/i386/tcg-target.opc.h create mode 100644 tcg/tcg-gvec-desc.h create mode 100644 tcg/tcg-op-gvec.h create mode 100644 accel/tcg/tcg-runtime-gvec.c create mode 100644 tcg/tcg-op-gvec.c create mode 100644 tcg/tcg-op-vec.c