From patchwork Thu Sep 1 00:49:00 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Segher Boessenkool X-Patchwork-Id: 664726 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 3sPkDD2HT8z9ssP for ; Thu, 1 Sep 2016 10:49:30 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=XI+c/dZl; 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 :to:cc:subject:date:message-id; q=dns; s=default; b=xyPnJsAas9x7 8Wj9aho06L7d9bFkEa9OYB3hBWKziy8OIfxjnBpBlvi6qyXOLe2V4KtlBUnv+GLS i5V5H1yAung5wJWWB4rwppwoG8J61MgAEQ8ZGck4VbG6eSGHAoMtLGF8zAxCuI2L h+QzoCZtGp1IxH5edyBsymboyvt9Ghw= 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; s=default; bh=3tT8ISMBtWXaAqu6xn Wy4ynj+b4=; b=XI+c/dZlzzGcFgPBug7pauQ4udPdlSYbVNPGCwqNTfw+MYQQq2 pJKAhvc1IIyqG/dQv9sAlgDns9HaCOkMSC+kqqZagJSqHGbu7wkNNcffLHRBfkL/ EFPQSBDjtjKipR3dotgBsiMvrvWxeeXpK/bIWd6X9Ihl4+d+bsyVUeWhs= Received: (qmail 67241 invoked by alias); 1 Sep 2016 00:49:22 -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 67230 invoked by uid 89); 1 Sep 2016 00:49:21 -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, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=boessenkool, Boessenkool, Segher, match_operand X-HELO: gcc1-power7.osuosl.org Received: from gcc1-power7.osuosl.org (HELO gcc1-power7.osuosl.org) (140.211.15.137) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 01 Sep 2016 00:49:11 +0000 Received: by gcc1-power7.osuosl.org (Postfix, from userid 10019) id E08981C073B; Thu, 1 Sep 2016 00:49:07 +0000 (UTC) From: Segher Boessenkool To: gcc-patches@gcc.gnu.org Cc: dje.gcc@gmail.com, iain@codesourcery.com, Segher Boessenkool Subject: [PATCH 1/3] rs6000: Fix for AIX, for r239866 Date: Thu, 1 Sep 2016 00:49:00 +0000 Message-Id: X-IsSubscribed: yes This should fix r239866 for AIX. I missed two patterns that refer to LR as "register_operand" "l" instead of as reg:P LR_REGNO. David, could you please test if this fixes the problem for you? Bootstrapped and regression checked on powerpc64-linux -m32,-m64, for what that is worth :-) Segher 2016-08-31 Segher Boessenkool * config/rs6000/rs6000.md (define_insn "*return_and_restore_fpregs_aix__r11"): Delete the use of the link register. (define_insn "*return_and_restore_fpregs_aix__r1"): Ditto. --- gcc/config/rs6000/rs6000.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md index 560cf1f..d86d27b 100644 --- a/gcc/config/rs6000/rs6000.md +++ b/gcc/config/rs6000/rs6000.md @@ -12735,26 +12735,24 @@ (define_insn "*return_and_restore_fpregs__r1" (define_insn "*return_and_restore_fpregs_aix__r11" [(match_parallel 0 "any_parallel_operand" [(return) - (use (match_operand:P 1 "register_operand" "l")) - (use (match_operand:P 2 "symbol_ref_operand" "s")) + (use (match_operand:P 1 "symbol_ref_operand" "s")) (use (reg:P 11)) - (set (match_operand:DF 3 "gpc_reg_operand" "=d") - (match_operand:DF 4 "memory_operand" "m"))])] + (set (match_operand:DF 2 "gpc_reg_operand" "=d") + (match_operand:DF 3 "memory_operand" "m"))])] "" - "b %2" + "b %1" [(set_attr "type" "branch") (set_attr "length" "4")]) (define_insn "*return_and_restore_fpregs_aix__r1" [(match_parallel 0 "any_parallel_operand" [(return) - (use (match_operand:P 1 "register_operand" "l")) - (use (match_operand:P 2 "symbol_ref_operand" "s")) + (use (match_operand:P 1 "symbol_ref_operand" "s")) (use (reg:P 1)) - (set (match_operand:DF 3 "gpc_reg_operand" "=d") - (match_operand:DF 4 "memory_operand" "m"))])] + (set (match_operand:DF 2 "gpc_reg_operand" "=d") + (match_operand:DF 3 "memory_operand" "m"))])] "" - "b %2" + "b %1" [(set_attr "type" "branch") (set_attr "length" "4")])