From patchwork Sat Nov 16 13:32:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Richard Sandiford X-Patchwork-Id: 1196116 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=gcc.gnu.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=gcc-patches-return-513787-incoming=patchwork.ozlabs.org@gcc.gnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="L0wEg3Vk"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47FbkK6Nqrz9sNH for ; Sun, 17 Nov 2019 00:32:39 +1100 (AEDT) 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:subject:date:message-id:mime-version:content-type; q=dns; s= default; b=O9tEtciMlZSjV/E+uJw28LltUqKNhLqoUlMUMfCkBzwXa1H9mFfQ8 /D7cHrq6/cu5+8Y5NgsnjmKssc7tRaDeUoGFB+xUvscQstcZi9JinjUc5j9URzGC Z22zUvc2XK6Yq00kgDKIayCZmv/vsmrVzBBA07fVZkpPMs3M4ZPD94= 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:subject:date:message-id:mime-version:content-type; s= default; bh=YEfF4F9nUvqv3Osi8F58PZwJt6s=; b=L0wEg3VkRgkN+cD85rx/ ChHy2GJM1JuUVCPBKIcQSqJIFaU2jr44EWD9LdTWO2zo9xoEWAm+oacJGqv0ag7I XhtNSPjt5Is4egNNW8hQza9RL7qS8vNhLPBpcs8Zg1mcS94RB3822nXwATEae5wU YpYc7VIOiWCIGkkNNBym+NA= Received: (qmail 108531 invoked by alias); 16 Nov 2019 13:32:31 -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 108521 invoked by uid 89); 16 Nov 2019 13:32:30 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.7 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:1141 X-HELO: foss.arm.com Received: from foss.arm.com (HELO foss.arm.com) (217.140.110.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 16 Nov 2019 13:32:29 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id AC1E130E for ; Sat, 16 Nov 2019 05:32:27 -0800 (PST) Received: from localhost (e121540-lin.manchester.arm.com [10.32.98.126]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4EBF93F534 for ; Sat, 16 Nov 2019 05:32:27 -0800 (PST) From: Richard Sandiford To: gcc-patches@gcc.gnu.org Mail-Followup-To: gcc-patches@gcc.gnu.org, richard.sandiford@arm.com Subject: [committed][AArch64] Robustify aarch64_wrffr Date: Sat, 16 Nov 2019 13:32:26 +0000 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 X-IsSubscribed: yes This patch uses distinct values for the FFR and FFRT outputs of aarch64_wrffr, so that a following aarch64_copy_ffr_to_ffrt has an effect. This is needed to avoid regressions with later patches. The block comment at the head of the file already described the pattern this way, and there was already an unspec for it. Not sure what made me change it... Tested on aarch64-linux-gnu and applied as r278356. Richard 2019-11-16 Richard Sandiford gcc/ * config/aarch64/aarch64-sve.md (aarch64_wrffr): Wrap the FFRT output in UNSPEC_WRFFR. Index: gcc/config/aarch64/aarch64-sve.md =================================================================== --- gcc/config/aarch64/aarch64-sve.md 2019-11-16 11:30:29.089315019 +0000 +++ gcc/config/aarch64/aarch64-sve.md 2019-11-16 13:31:11.590394198 +0000 @@ -984,7 +984,7 @@ (define_insn "aarch64_wrffr" [(set (reg:VNx16BI FFR_REGNUM) (match_operand:VNx16BI 0 "aarch64_simd_reg_or_minus_one" "Dm, Upa")) (set (reg:VNx16BI FFRT_REGNUM) - (match_dup 0))] + (unspec:VNx16BI [(match_dup 0)] UNSPEC_WRFFR))] "TARGET_SVE" "@ setffr