From patchwork Fri Nov 3 17:45:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 117954 Delivered-To: patch@linaro.org Received: by 10.140.22.164 with SMTP id 33csp6145qgn; Fri, 3 Nov 2017 10:46:06 -0700 (PDT) X-Google-Smtp-Source: ABhQp+R3a9oz27TLqSgbQSD5cbVKGEeGNgGwczhlV6HBQyWrORc+9UHZmoMMuG5zsvXB44XB75Sk X-Received: by 10.101.82.202 with SMTP id z10mr7814937pgp.404.1509731166017; Fri, 03 Nov 2017 10:46:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509731166; cv=none; d=google.com; s=arc-20160816; b=DnCwqHQWzd5ZxPz94ShedEzZuEgKETF5wlLOQl/r33E6/oMp2pSPb7yj91Xo266k6S VeHJa20jbL5kY1fO9MkxC24RAquAlqTdgWCjvV4ZBikkjSkJDB+x4XlsGCxkLf6iV2q4 ePPcZK5Hp9rjNV3JqDzQKtmod+b0+6G/Uvo+b5xL800n5RvuU2ZwmnxHnwm2bVmWESIA Djew4F7hpel3Yw9uv+ikWQ8X84Z/3E7VgSB6wBrMYMcndeWYGctjuZIU2AgS9F7Tb4hM lYjYy8Y9dW8ez2GdJX/aWyTs34h1L6CfxCUQj7jn4OnBUhPQcfpJq1/tg3ZdHmUdXdSO XEmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:message-id:date:subject:cc:mail-followup-to :to:from:delivered-to:sender:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:mailing-list:dkim-signature :domainkey-signature:arc-authentication-results; bh=1DndQry7yt4l9XrOo6904NWxE4wMgsy2FJ2lEHRtJJw=; b=JPMnyJgXz3hTHhVT7Q8utqCjfwDXN697DA8o17nPz60yXH7Jm+/c4PjfFz4xlU3zcJ Hez/zaV+Z/uSbxK4LOw8ZGjxvc+rOSq7E5FuyQfTZJqTB9FA1yr9+t9gcrouqAdvdu5+ FO+6Fq2L+Mqe9Gn9EBHODBu50xa2JkPjf4lWH7mwUFdTG7J5Xh7/jTQaUH9biIKUTwQq C2Rndre5Razapq3YC8R+hSL6x8QtCbRCKDFNOtJLss3UcMavpu4pBSYhRWz73TeiYEfI tT9KBkb+FpLM/j7vEoJ+I+m5FNeqGG9RQnYu62d4RzasJIy0DqLs5ea9oPIMMf2nuTnr 2nWQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=Rnl7SOam; spf=pass (google.com: domain of gcc-patches-return-465902-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-465902-patch=linaro.org@gcc.gnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id c23si5536975plo.446.2017.11.03.10.46.05 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 03 Nov 2017 10:46:06 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-465902-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Authentication-Results: mx.google.com; dkim=pass header.i=@gcc.gnu.org header.s=default header.b=Rnl7SOam; spf=pass (google.com: domain of gcc-patches-return-465902-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) smtp.mailfrom=gcc-patches-return-465902-patch=linaro.org@gcc.gnu.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; q=dns; s=default; b=cWl+RYBZcb0emaExz6CmOC6fAafdnViEV342Zzx9u8op89t3lH 4olt5j242xNxzSw4iYfXSGBeD5B0BmBp/RJW6er66Cj20IM/GqbKCuTfYsP1jCOT S2FS+GnSKwFNEb4TnTIsf3F76CjesUklkCjJsbNdv5MB6mi/nn3JfA/2g= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:cc:subject:date:message-id:mime-version:content-type; s= default; bh=6xSBQ3iG59jXcXX3PaL5bgocGYI=; b=Rnl7SOami5S2T8fJpwtg aE5Zxaaym6TwuEVKOU5YmDDulckYJjBlRcL0hmhCkDSDVWqWIdqTeWNfhHSrEvRO 00xLPjL9SzFtwd4i3hdIY+LJ+q+5uziDR9gOr/ggWWc/cI14KSx0VFCZft3XCvha u5FKm/PYug6amSf/3rteaR8= Received: (qmail 49299 invoked by alias); 3 Nov 2017 17:45:50 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 49284 invoked by uid 89); 3 Nov 2017 17:45:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, RCVD_IN_SORBS_SPAM, SPF_PASS autolearn=no version=3.3.2 spammy=plugs, ease, UD:arm.com, products X-HELO: mail-wr0-f173.google.com Received: from mail-wr0-f173.google.com (HELO mail-wr0-f173.google.com) (209.85.128.173) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 03 Nov 2017 17:45:48 +0000 Received: by mail-wr0-f173.google.com with SMTP id z55so3191215wrz.1 for ; Fri, 03 Nov 2017 10:45:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:mail-followup-to:cc:subject:date :message-id:user-agent:mime-version; bh=1DndQry7yt4l9XrOo6904NWxE4wMgsy2FJ2lEHRtJJw=; b=RiK+00ZJemmdF0nNz0bCr71NpyKYl7m2Mrfh1SnWPMrVahwy5+NB/5nZD47WXh4XYD HU1I8FuTEpYA9G6CFR9JfhM8wm3ePDlGQJFW8wIdRDL0t+kRLKuEeEqPx8i0Ix7C/nL/ T7zW3xQUiKFbzeaOZ1DUSJHchBbK+k6GViemoI2JbUz4z/1C4vv2JWinr+TmzqxYAjFZ vY3jRjFd1G7f5icQdAHPn+MfqpLZ82jyojKAcyp82gDtIbuo+xDgFCs31UKtAumA1ybD Uo434MiICA3NRmV3cn05GlFDXD0muXBirUGjLaIg4yfERuXSukM3Ai6J/woC0TqNFdmA oviA== X-Gm-Message-State: AMCzsaUYlslife5DsboBYQiINThjiUlfpRmcFHBT58057VToPC2z/X44 838cc8Wnc/TFSgbX5pD3lQiuSA== X-Received: by 10.223.185.121 with SMTP id b54mr6350162wrg.264.1509731146840; Fri, 03 Nov 2017 10:45:46 -0700 (PDT) Received: from localhost (188.29.164.162.threembb.co.uk. [188.29.164.162]) by smtp.gmail.com with ESMTPSA id x49sm4499930wrb.25.2017.11.03.10.45.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 03 Nov 2017 10:45:45 -0700 (PDT) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, richard.earnshaw@arm.com, james.greenhalgh@arm.com, marcus.shawcroft@arm.com, richard.sandiford@linaro.org Cc: richard.earnshaw@arm.com, james.greenhalgh@arm.com, marcus.shawcroft@arm.com Subject: [0/4] [AArch64] Add SVE support Date: Fri, 03 Nov 2017 17:45:43 +0000 Message-ID: <87a803ntmg.fsf@linaro.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 This series adds support for ARM's Scalable Vector Extension. More details on SVE can be found here: https://developer.arm.com/products/architecture/a-profile/docs/arm-architecture-reference-manual-supplement-armv8-a There are four parts for ease of review, but it probably makes sense to commit them as one patch. The series plugs SVE into the current vectorisation framework without adding any new features to the framework itself. This means for example that vector loops still handle full vectors, with a scalar epilogue loop being needed for the rest. Later patches add support for other features like fully-predicated loops. The patches build on top of the various series that I've already posted. Sorry that there were so many, and thanks again for all the reviews. Tested on aarch64-linux-gnu without SVE and aarch64-linux-gnu with SVE (in the default vector-length agnostic mode). Also tested with -msve-vector-bits=256 and -msve-vector-bits=512 to select 256-bit and 512-bit SVE registers. Thanks, Richard