From patchwork Tue Sep 12 16:24:57 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 812950 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=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b="ggnCuUeW"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xs9CP4D75z9s7f for ; Wed, 13 Sep 2017 02:26:09 +1000 (AEST) Received: from localhost ([::1]:36887 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dro0l-0001fr-Ii for incoming@patchwork.ozlabs.org; Tue, 12 Sep 2017 12:26:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37795) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dro02-0001d8-1f for qemu-devel@nongnu.org; Tue, 12 Sep 2017 12:25:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drnzx-0006wz-Ui for qemu-devel@nongnu.org; Tue, 12 Sep 2017 12:25:22 -0400 Received: from mail-pf0-x231.google.com ([2607:f8b0:400e:c00::231]:33032) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1drnzx-0006wT-N0 for qemu-devel@nongnu.org; Tue, 12 Sep 2017 12:25:17 -0400 Received: by mail-pf0-x231.google.com with SMTP id y29so18667988pff.0 for ; Tue, 12 Sep 2017 09:25:17 -0700 (PDT) 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=/rHnail+79Vpq4qV/6+VWPq269d7ji7uuVWKuot2icg=; b=ggnCuUeWGFgkmMHf2VvGqYpbVSF+82IA2CHVcfB2jgNZPpCq2ZMwEGvxpoIe+ajIn0 JibGg5xAKkWqS9YcphIYMluzMXoCBEWgvBfEv0av9o1MvGN7iKsLvUf1HHmQv7F7h+VC zPZHC5nbfUHgaZ/0edIvmWh2XQPOzHr7a/Fa4= 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=/rHnail+79Vpq4qV/6+VWPq269d7ji7uuVWKuot2icg=; b=HTiqqnDkOeMsnc35vtHuO/L6ZN3ofBN+7YnzL4Ota/5IP5AxMfOzLlbsbtuKQBRfmP qfYX2YsrlWz9U024VV0NRdUWx+fctpzT+R4WEwaSnXrnJjzNXUXsD5SlULRCRf4RTZvh nhCqLApsd76Fbd3Ej+kEuDL1cJMrIjVQzGFRZMSJ7LkwVbcm+MWDB00zMBPkcnCCrIVJ xwWxAOjxMlCWrb9kECn0im7p/o9bX3mFQ4MP+Nfi+uuVN/OWUw8b2Qqgmcfg+tLeeHQE 6ldTn8LQiyI4SIken8uf3yieCa64VmBc9+80LerdOSnJcep0oIevH26icJW6tUAWxsx/ 9rgA== X-Gm-Message-State: AHPjjUgS9FPXJc/ItrzCEdA4XQWTtHNPMX9ZlrqHLgGJyjcowngVdahT sJ0++DE0VpSzDp8gKRCL7A== X-Google-Smtp-Source: ADKCNb5pogUiXrqFy5CkZw59gbkIHtPJ6oY1C5AM9oQLit0wTLxEi1Z1ZUtIQE3ntWxXtTYzFnC8BQ== X-Received: by 10.98.236.198 with SMTP id e67mr15301611pfm.157.1505233516386; Tue, 12 Sep 2017 09:25:16 -0700 (PDT) Received: from bigtime.twiddle.net (97-126-103-167.tukw.qwest.net. [97.126.103.167]) by smtp.gmail.com with ESMTPSA id b22sm20382140pfh.175.2017.09.12.09.25.14 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 12 Sep 2017 09:25:15 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 12 Sep 2017 09:24:57 -0700 Message-Id: <20170912162513.21694-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.13.5 MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:400e:c00::231 Subject: [Qemu-devel] [PATCH v2 00/16] TCG vectorization and example conversion 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: alex.bennee@linaro.org, f4bug@amsat.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" I haven't gotten so far as the complex vector op issue that came up in conversation with Alex this week. But this is what I was targeting as v2: * Add documentation. Enough, or is it still lacking? * Fixed the bug in tcg/i386 that affected BIC. * Fill in the host vector ops for aarch64. r~ Richard Henderson (16): tcg: Add expanders for out-of-line vector helpers tcg: Add types for host vectors tcg: Add operations for host vectors tcg: Add tcg_op_supported tcg: Add INDEX_op_invalid tcg: Add vector infrastructure and ops for add/sub/logic target/arm: Align vector registers target/arm: Use vector infrastructure for aa64 add/sub/logic tcg/i386: Add vector operations tcg/aarch64: Fully convert tcg_target_op_def tcg: Remove tcg_regset_clear tcg: Remove tcg_regset_set tcg: Remove tcg_regset_{or,and,andnot,not} tcg: Remove tcg_regset_set32 tcg: Fix types in tcg_regset_{set,reset}_reg tcg/aarch64: Add vector operations Makefile.target | 5 +- target/arm/cpu.h | 2 +- tcg/aarch64/tcg-target.h | 23 +- tcg/i386/tcg-target.h | 46 ++- tcg/tcg-gvec-desc.h | 49 +++ tcg/tcg-op-gvec.h | 104 +++++++ tcg/tcg-opc.h | 91 ++++++ tcg/tcg-runtime.h | 16 + tcg/tcg.h | 46 ++- target/arm/translate-a64.c | 137 +++++---- tcg/aarch64/tcg-target.inc.c | 689 +++++++++++++++++++++++++++++++------------ tcg/arm/tcg-target.inc.c | 25 +- tcg/i386/tcg-target.inc.c | 468 +++++++++++++++++++++++++---- tcg/mips/tcg-target.inc.c | 2 +- tcg/ppc/tcg-target.inc.c | 41 +-- tcg/s390/tcg-target.inc.c | 22 +- tcg/sparc/tcg-target.inc.c | 52 ++-- tcg/tcg-op-gvec.c | 582 ++++++++++++++++++++++++++++++++++++ tcg/tcg-runtime-gvec.c | 192 ++++++++++++ tcg/tcg.c | 334 ++++++++++++++++++++- tcg/tci/tcg-target.inc.c | 13 +- 21 files changed, 2527 insertions(+), 412 deletions(-) create mode 100644 tcg/tcg-gvec-desc.h create mode 100644 tcg/tcg-op-gvec.h create mode 100644 tcg/tcg-op-gvec.c create mode 100644 tcg/tcg-runtime-gvec.c