From patchwork Wed Jun 27 04:32:53 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Henderson X-Patchwork-Id: 140089 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp383161ljj; Tue, 26 Jun 2018 21:34:06 -0700 (PDT) X-Google-Smtp-Source: AAOMgpd2cfjbwGbwRLdsblcwz7Z/HxJK0uTYE3Q4mD3Ox6naOuSk5CvehPVRCtvCK6Dzi284TPmr X-Received: by 2002:a0c:90e1:: with SMTP id p88-v6mr4014113qvp.145.1530074046040; Tue, 26 Jun 2018 21:34:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530074046; cv=none; d=google.com; s=arc-20160816; b=HojeET6dDjI/oHLgue1k+fP8QvPzXW9RIXey+palh9iGE76vv2Us9vB7vzZE/7Fle6 afpqwOT2alvZKk9DHaDV2boZ0hFzWrToAi2L5Wy9FaKl0I7feAHp/pZNBZX2hH77TH9d a/dYXFWDHkRjPFw4OqU7V+hBamw5rr04sDKMu89pqJqT/gicRg0yQG4T9O1JTSdX2QNL vTukuGN4N6KIr/CaHTTBuDf3SKUl/eBzU29T4WqYtNuU/wCuZSBjlqBejyqmTlHsw/S+ 4V7tYRvmtsUmBs4hlHGLWeQ9M3Fii0eKXryZaCfZq972alhABkRmW/LFrOsc8RQ3nHwl a5Gw== 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=l3NgF50hmA7g+CHvTO0lQHMuS5cDkQRTneG/AruTrN8=; b=NmiOeSOSlXKPwnDBC8AAiIGRgZ5dAgUQiiTcBux5hXNGcbYJiN97lZdH13nUY3qsoO FWc5ejL4nZL1fWfatFJKjo6BbqwBcG4CDth/UD/4/Jcpl5UcAeHhLzNl0z21kT7zIgtf TlBQ1rs0m6vbp3+Puc4eJovmKtU7O/VloOnc0Y6IBZbfe/abS1vBscOYtJ2e3BibGFDt gd/IHXdNFGOWg+INsL4wSl2+IlCaQ/rY/29ae0zkilSsXvUrQ3NjxZwrVUPldeE+XneL GQ3n83s9Xn9g9sYkVlzoSJuLiqeYsv3ujzwrE1vVUJKHnfUJXmi0YmEPtjR5b+wOwwjO mVwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@linaro.org header.s=google header.b=c+si3qOX; 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 h12-v6si2293337qvk.245.2018.06.26.21.34.05 for (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 26 Jun 2018 21:34:06 -0700 (PDT) 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=c+si3qOX; 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]:56467 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fY29d-00043a-Db for patch@linaro.org; Wed, 27 Jun 2018 00:34:05 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60044) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fY29C-00043I-2J for qemu-devel@nongnu.org; Wed, 27 Jun 2018 00:33:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fY296-0008OI-JZ for qemu-devel@nongnu.org; Wed, 27 Jun 2018 00:33:38 -0400 Received: from mail-pf0-x231.google.com ([2607:f8b0:400e:c00::231]:41879) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fY296-0008NW-CT for qemu-devel@nongnu.org; Wed, 27 Jun 2018 00:33:32 -0400 Received: by mail-pf0-x231.google.com with SMTP id a11-v6so384276pff.8 for ; Tue, 26 Jun 2018 21:33:32 -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=l3NgF50hmA7g+CHvTO0lQHMuS5cDkQRTneG/AruTrN8=; b=c+si3qOXcI2n7frXIAI+pPpw+XjH9jX76KJyGA+YR7hmIFQc0GkSclRd/J0/aAkJLh Aj7FQCBIUgFEzamCAjnYopvmi+vm1pQfq8qnwaYgnr8jqFKbYC8zvdrdBPXdg6GidGsL xrca8VqIIoCY3IzzOodqozVEdkE9ufQb7aDJ4= 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=l3NgF50hmA7g+CHvTO0lQHMuS5cDkQRTneG/AruTrN8=; b=mizyMgX07V7pnS9ZWefXPnS2D8v6ULrq0kqbFy9JVe3XJX2hqkVUzE11SjQPCU2qhy s8NmT9B9sye1vmGPlP/SkGc/yCeFN1EU+kqvOX0a3aSGuZ5t+CRw9eJCyM3HYvDpY+Vo kaBCMfLOjFjFLB82C1BuZ1leXv2w3skqK3qp4v+/nj+R3OpYO9XE18h/TeBPku/+L81F 8pMeBdS9OsMPzaJEpBLYtbOmonvdlGyl8R792AVth70874RXxAJxnGsobbH+a03s+U6F +A/zZ1NVdePpHrDj3B+sZN6P7Lcr9/ATTekNwRU6DriWe4m3OqeW3XJRcujmL0CVhS8k 1+PQ== X-Gm-Message-State: APt69E1M9S2/xOloqrto0AoGILZuBM3dm+BXAtKnhCoQNZ9wK/CJ/d4B w3ycNkOUHcSvztCeeaKpCcmslBntOLU= X-Received: by 2002:a65:6292:: with SMTP id f18-v6mr3747479pgv.85.1530074011000; Tue, 26 Jun 2018 21:33:31 -0700 (PDT) Received: from cloudburst.twiddle.net (97-126-112-211.tukw.qwest.net. [97.126.112.211]) by smtp.gmail.com with ESMTPSA id p20-v6sm4577638pff.90.2018.06.26.21.33.29 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 26 Jun 2018 21:33:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Tue, 26 Jun 2018 21:32:53 -0700 Message-Id: <20180627043328.11531-1-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 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 v6 00/35] target/arm SVE patches 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, qemu-arm@nongnu.org Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: "Qemu-devel" This is the remainder of the SVE enablement patches, with an extra bonus patch to enable ARMv8.2-DotProd. V6 updates based on review. Patches with changes: 0002-target-arm-Implement-SVE-Contiguous-Load-first-fa.patch 0007-target-arm-Implement-SVE-FP-Multiply-Add-Group.patch 0009-target-arm-Implement-SVE-load-and-broadcast-eleme.patch 0010-target-arm-Implement-SVE-store-vector-predicate-r.patch 0011-target-arm-Implement-SVE-scatter-stores.patch 0013-target-arm-Implement-SVE-gather-loads.patch 0023-target-arm-Implement-SVE-floating-point-convert-p.patch 0027-target-arm-Implement-SVE-MOVPRFX.patch 0030-target-arm-Pass-index-to-AdvSIMD-FCMLA-indexed.patch 0033-target-arm-Implement-SVE-dot-product-indexed.patch 0034-target-arm-Enable-SVE-for-aarch64-linux-user.patch 0035-target-arm-Implement-ARMv8.2-DotProd.patch Patches lacking reviews: 0002-target-arm-Implement-SVE-Contiguous-Load-first-fa.patch 0007-target-arm-Implement-SVE-FP-Multiply-Add-Group.patch 0013-target-arm-Implement-SVE-gather-loads.patch 0030-target-arm-Pass-index-to-AdvSIMD-FCMLA-indexed.patch 0031-target-arm-Implement-SVE-fp-complex-multiply-add-.patch 0033-target-arm-Implement-SVE-dot-product-indexed.patch r~ Richard Henderson (35): target/arm: Implement SVE Memory Contiguous Load Group target/arm: Implement SVE Contiguous Load, first-fault and no-fault target/arm: Implement SVE Memory Contiguous Store Group target/arm: Implement SVE load and broadcast quadword target/arm: Implement SVE integer convert to floating-point target/arm: Implement SVE floating-point arithmetic (predicated) target/arm: Implement SVE FP Multiply-Add Group target/arm: Implement SVE Floating Point Accumulating Reduction Group target/arm: Implement SVE load and broadcast element target/arm: Implement SVE store vector/predicate register target/arm: Implement SVE scatter stores target/arm: Implement SVE prefetches target/arm: Implement SVE gather loads target/arm: Implement SVE first-fault gather loads target/arm: Implement SVE scatter store vector immediate target/arm: Implement SVE floating-point compare vectors target/arm: Implement SVE floating-point arithmetic with immediate target/arm: Implement SVE Floating Point Multiply Indexed Group target/arm: Implement SVE FP Fast Reduction Group target/arm: Implement SVE Floating Point Unary Operations - Unpredicated Group target/arm: Implement SVE FP Compare with Zero Group target/arm: Implement SVE floating-point trig multiply-add coefficient target/arm: Implement SVE floating-point convert precision target/arm: Implement SVE floating-point convert to integer target/arm: Implement SVE floating-point round to integral value target/arm: Implement SVE floating-point unary operations target/arm: Implement SVE MOVPRFX target/arm: Implement SVE floating-point complex add target/arm: Implement SVE fp complex multiply add target/arm: Pass index to AdvSIMD FCMLA (indexed) target/arm: Implement SVE fp complex multiply add (indexed) target/arm: Implement SVE dot product (vectors) target/arm: Implement SVE dot product (indexed) target/arm: Enable SVE for aarch64-linux-user target/arm: Implement ARMv8.2-DotProd target/arm/cpu.h | 1 + target/arm/helper-sve.h | 682 +++++++++++++ target/arm/helper.h | 44 +- linux-user/elfload.c | 2 + target/arm/cpu.c | 8 + target/arm/cpu64.c | 2 + target/arm/helper.c | 2 +- target/arm/sve_helper.c | 1855 ++++++++++++++++++++++++++++++++++++ target/arm/translate-a64.c | 57 +- target/arm/translate-sve.c | 1688 +++++++++++++++++++++++++++++++- target/arm/translate.c | 102 +- target/arm/vec_helper.c | 311 +++++- target/arm/sve.decode | 427 +++++++++ 13 files changed, 5116 insertions(+), 65 deletions(-) -- 2.17.1