From patchwork Fri Jan 14 10:26:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Claudiu Zissulescu Ianculescu X-Patchwork-Id: 50019 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0B2A13853801 for ; Fri, 14 Jan 2022 10:27:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0B2A13853801 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1642156021; bh=iooaV/zT4Ags2ZbFCLMe1xVlkX0xMJtLYGEGGybkAKc=; h=To:Subject:Date:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:Cc:From; b=If/5nsy0FAtWF/MnK9xRgQUHhHMNqpOtYqGiVdpyCBzHB8EiET8cp8nAM+ce3DWbQ P1DhN8tb9MkQ+qQ1k0Xu8jtUCSzcBX0eIi3/lVda7GhgGV9dcEvwZOpaAvT9dEoCJp hKI2cDvbgsyKTg3t+5GUW6BP7aTKxOl7hNeu/5VU= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com [IPv6:2a00:1450:4864:20::534]) by sourceware.org (Postfix) with ESMTPS id AC9CB385E036 for ; Fri, 14 Jan 2022 10:26:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org AC9CB385E036 Received: by mail-ed1-x534.google.com with SMTP id m4so33157768edb.10 for ; Fri, 14 Jan 2022 02:26:30 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=iooaV/zT4Ags2ZbFCLMe1xVlkX0xMJtLYGEGGybkAKc=; b=MTqliarXVr0qAIhleMDDY94rhqJhhrUt2LqU6xM5zTnAS1LyAD7mZTB8uHvmgfujt2 NBmjLfyitIb5rqw8b5X3rzDVu4q69xWAdWTf7MJiWwn1gW//hhZi+GgAh58Sz5hSjrvI Eb+/nndnGdt9CjfVbEmhXMym9f/SOrXvpKxlZNLHp4fyNh9wa4HP0RQDke/NfYNidJSB VpQqojT8T6kD7j1E3H8DWpYNTIt5Az82fNx78xg2vi7yGpz3qX9Lv0fDz8KZAt46NnME dEq72a7mHioTSfW++ryI82UJyx4F64QxBcFKHb5P5q1u6lVLITjA5FosK67wR+V4rRMN LdNw== X-Gm-Message-State: AOAM531+qmIOvNbrW8nmQM8vQK+Vahoel2B8WA9v4bqVq6ryzzM53Te/ 3EUvS/VL7jZoDzbSlBdk3AVuGU2DeSI= X-Google-Smtp-Source: ABdhPJzvj3/3e8knkoww6chyCXmPcRDPydjFlvPe/vQhH5VWkbD447w354WKqH5Ua7ZHFosgcpBBWA== X-Received: by 2002:a17:906:6a26:: with SMTP id qw38mr7295193ejc.518.1642155989372; Fri, 14 Jan 2022 02:26:29 -0800 (PST) Received: from localhost.localdomain (5-15-221-190.residential.rdsnet.ro. [5.15.221.190]) by smtp.gmail.com with ESMTPSA id f6sm1728582ejf.69.2022.01.14.02.26.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Jan 2022 02:26:28 -0800 (PST) X-Google-Original-From: Claudiu Zissulescu To: gcc-patches@gcc.gnu.org Subject: [committed] arc: Update stack size computation when accumulator registers are available. Date: Fri, 14 Jan 2022 12:26:23 +0200 Message-Id: <20220114102624.179789-1-claziss@synopsys.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Claudiu Zissulescu via Gcc-patches From: Claudiu Zissulescu Ianculescu Reply-To: Claudiu Zissulescu Cc: fbedard@synopsys.com Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" When accumulator registers are available in a processor, they need to be save onto stack durring interrupts. We were already doing so, but the stack size was wrongly computed in the case other than ARC600. gcc/ * config/arc/arc.c (arc_compute_frame_size): Remove condition when computin checking accumulator regs. (arc_expand_prologue): Update comments. (arc_expand_epilogue): Likewise. Signed-off-by: Claudiu Zissulescu --- gcc/config/arc/arc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gcc/config/arc/arc.c b/gcc/config/arc/arc.c index 6de364e9ce0..3096a9bef44 100644 --- a/gcc/config/arc/arc.c +++ b/gcc/config/arc/arc.c @@ -2897,9 +2897,8 @@ arc_compute_frame_size (void) cfun, TARGET_DPFP)) reg_size += UNITS_PER_WORD * 2; - /* Check for special MLO/MHI case used by ARC600' MUL64 - extension. */ - if (arc_must_save_register (R58_REG, cfun, TARGET_MUL64_SET)) + /* Check if R58 is used. */ + if (arc_must_save_register (R58_REG, cfun, true)) reg_size += UNITS_PER_WORD * 2; /* 4) Calculate extra size made up of the blink + fp size. */ @@ -3878,7 +3877,7 @@ arc_expand_prologue (void) } } - /* Save ARC600' MUL64 registers. */ + /* Save accumulator registers. */ if (arc_must_save_register (R58_REG, cfun, true)) frame_size_to_allocate -= arc_save_callee_saves (3ULL << 58, false, false, 0, false); @@ -3971,7 +3970,7 @@ arc_expand_epilogue (int sibcall_p) first_offset = 0; } - /* Restore ARC600' MUL64 registers. */ + /* Restore accumulator registers. */ if (arc_must_save_register (R58_REG, cfun, true)) { rtx insn;