From patchwork Sun Dec 11 20:00:02 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iain Sandoe X-Patchwork-Id: 704869 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org 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 3tcH052MvJz9t0Z for ; Mon, 12 Dec 2016 07:00:40 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b="nGd2WMFI"; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :content-type:content-transfer-encoding:subject:date:message-id :cc:to:mime-version; q=dns; s=default; b=I65J3Oo19O5TCwzXRb7HUpg Hj51kvpPCAQVQIOPDVW9b+EGvPaPScGuVsCXYb7a9jVUKskcXNCEjxNdig9ImKtT cOh7lOPNIdhq89u4A2ImBjbuZ1JrfRInzXiMa4J4MI2NKPO5FRKSaQMLZfs0VTik 7K4yoIgLC2HOq1HnzEoA= 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 :content-type:content-transfer-encoding:subject:date:message-id :cc:to:mime-version; s=default; bh=noT+Wg4ErCYsZJ2c12U7G6OccrM=; b= nGd2WMFIQvDaDKatBUWooac3O/MeHkjCFlvbC4EIdxZAdAqARJUd7+Ry58z3fJOo VNx1O49MTQksttNJxcBW7ZmjB/t6mf6Jk4DEL1bjpU21MuqF1mErfd/gY3a3Hp2P AlVZH1A2zwzbS5KDzgxuIQijQ4+n70NgKgnOadQDgRQ= Received: (qmail 52073 invoked by alias); 11 Dec 2016 20:00:27 -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 52056 invoked by uid 89); 11 Dec 2016 20:00:27 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_PASS, URIBL_RED autolearn=ham version=3.3.2 spammy=USE, RETURN X-HELO: relay1.mentorg.com Received: from relay1.mentorg.com (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sun, 11 Dec 2016 20:00:16 +0000 Received: from nat-ies.mentorg.com ([192.94.31.2] helo=SVR-IES-MBX-04.mgc.mentorg.com) by relay1.mentorg.com with esmtp id 1cGAI8-0002I2-D3 from Iain_Sandoe@mentor.com ; Sun, 11 Dec 2016 12:00:12 -0800 Received: from [127.0.0.1] (137.202.0.87) by SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Sun, 11 Dec 2016 20:00:07 +0000 From: Iain Sandoe Subject: [Darwin,PPC] Remove use of LR in restore_world. Date: Sun, 11 Dec 2016 20:00:02 +0000 Message-ID: <113F4011-14E9-4B23-89DA-2FC4B2DBBEF8@codesourcery.com> CC: GCC Patches , David Edelsohn To: Segher Boessenkool MIME-Version: 1.0 (Mac OS X Mail 8.2 \(2104\)) X-ClientProxiedBy: svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) To SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) Hi Folks, another from my darwin-ppc stack... r239866 removed most of the uses of LR in returns and sibcalls Darwin had an additional use of LR in the restore_world machinery. This patch removes it from the pattern in altivec.md and the relevant predicate. OK / Comments? Iain gcc/ 2016-12-11 Iain Sandoe * config/rs6000/altivec.md (*restore_world): Remove LR use. * config/rs6000/predicates.md (restore_world_operation): Adjust op count, remove one USE. --- gcc/config/rs6000/altivec.md | 1 - gcc/config/rs6000/predicates.md | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 802aa74..0646f4c 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -406,7 +406,6 @@ (define_insn "*restore_world" [(match_parallel 0 "restore_world_operation" [(return) - (use (reg:SI LR_REGNO)) (use (match_operand:SI 1 "call_operand" "s")) (clobber (match_operand:SI 2 "gpc_reg_operand" "=r"))])] "TARGET_MACHO && (DEFAULT_ABI == ABI_DARWIN) && TARGET_32BIT" diff --git a/gcc/config/rs6000/predicates.md b/gcc/config/rs6000/predicates.md index 57a463b..0716c46 100644 --- a/gcc/config/rs6000/predicates.md +++ b/gcc/config/rs6000/predicates.md @@ -1338,13 +1338,12 @@ rtx elt; int count = XVECLEN (op, 0); - if (count != 59) + if (count != 58) return 0; index = 0; if (GET_CODE (XVECEXP (op, 0, index++)) != RETURN || GET_CODE (XVECEXP (op, 0, index++)) != USE - || GET_CODE (XVECEXP (op, 0, index++)) != USE || GET_CODE (XVECEXP (op, 0, index++)) != CLOBBER) return 0;