From patchwork Fri May 13 13:29:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takayuki 'January June' Suwa X-Patchwork-Id: 53942 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 A7804395C04B for ; Fri, 13 May 2022 13:37:46 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A7804395C04B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1652449066; bh=+9tPaofajscuooDHAkuT3uPNKQA/15OUsVO0EaaEBPc=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=gjLqZufJVKMooRIsj3Hph82A7Pxv/TPmM1anJh9OKtGiPhFDyogDsVn7QQOMIfum0 nNb7iwnRzE7s7CVkW3mhZwgPaWY2ytLqdTQnW3qhAL/mryFQvffLy2Lnc3wWlHnFjt f5hb8DtKL75bx5eT0vWwK34d+rNTqiq4/XH0W3T0= X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from nh604-vm9.bullet.mail.ssk.yahoo.co.jp (nh604-vm9.bullet.mail.ssk.yahoo.co.jp [182.22.90.66]) by sourceware.org (Postfix) with SMTP id 61723395B474 for ; Fri, 13 May 2022 13:35:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 61723395B474 Received: from [182.22.66.104] by nh604.bullet.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:21 -0000 Received: from [182.22.91.133] by t602.bullet.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:21 -0000 Received: from [127.0.0.1] by omp606.mail.ssk.yahoo.co.jp with NNFMP; 13 May 2022 13:35:21 -0000 X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 196810.48455.bm@omp606.mail.ssk.yahoo.co.jp Received: (qmail 81186 invoked by alias); 13 May 2022 13:35:21 -0000 Received: from unknown (HELO ?192.168.2.3?) (175.177.45.163 with ) by smtp6010.mail.ssk.ynwp.yahoo.co.jp with SMTP; 13 May 2022 13:35:21 -0000 X-YMail-JAS: cOsf7DMVM1kbxdMAV.lq6xsrZfy9Orw.uoJK9fUcUeaDJkRVPfKCapKUNwn3jfa6JzeBJVIg9kHxsABfWXnkrP06q1uENNRZ2q0AlWhPPDGxr4k1YQMI2nn1SudB3JBN_EApM3S3ag-- X-Apparently-From: X-YMail-OSG: ei6LTmMVM1mhM3H6JpJ6YmAoZXGdQy8Z4YkUS6FNMRj7qlA FAFmK4NpOt48wDNx8fCImcg1v_M41UYm2SAdNwq9MOuF4psaGZoz_krjgY7h m9y6T.OhQNruNMBPRD_fTDHr8MKgmAA19h04Pp8agvvsvvEcAJrdus97tDtN nOdVKyMLeGul7BqH308fHbtol4.Df9vmuDBv.3sVO.2.ktY5XnRWYwJ7x2g9 E0nVWq6zH1EYl52fEOiCw0uiPr1ZmhMR.JMUUNW7clXsC22rZpHH3hJanAmF gTySsbpN6x6TihYSePG.OaLRIBDwpcIt4Bdgtu1Wx4Iop8e8A0RtD7UskvoG pSyzcKkIIt1XipfeU.ksAId0LYH3WG1RtEWnkpY6Cg8DZEDPUWVNKd582zM. f9Whgd6HcXrVkaBICoX5O8FxARFKhxdT05X0zlgcXAcNyiPVGmiD693vd3fx rEI9eTnebWyj7U58nTD7w91RAx2ZQiX3rQs1SDPxVZFiEi_3CyKSX8iy2xXA prjXLhkrk3BPjSAcdcq.qAtO643Pi3P3bobaYd7PIfwLHIcckzFe7tSO6aSu 1ojhpkvc62IAcERZh0c9x6cBgUkDzq4Lahzr9NlJqshe1xNOe9bk4idcgUI. WH_uKvYFufBPFbtpzlaJ_nlT1DJKcJFzGJjmhVdb8hbeQnMqtaBfwgf54IuM NQ_1HxrawqiIH73_ZcN59mxAXphKE42slnlNZflDoOUJcQZ0C.E9RntYSurh TRHvNRP2PskE1TcUBZO3ZwA.1HTIfxcYBkZwOtFNRpdPI0KIM3dns7a4JIW8 Vd_Gqi8ZIZd9zDQAzm6dAKzawBS8XOaAoUOYmXyJw1UfCWHAYZLtAFeEdj8m wr4E.ghiwoyMTZ.OJBXQAKFFmDRQYabdNyn.tcCC42Ld3r5iWtLrdhPv6F2V 0WCnF6di4jSEKlldbxg-- Message-ID: <6fc7ba62-f570-ec94-eab7-43f8da2d56a9@yahoo.co.jp> Date: Fri, 13 May 2022 22:29:22 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Content-Language: en-US To: gcc-patches@gcc.gnu.org Subject: [PATCH 3/5] xtensa: Fix instruction counting regarding block move expansion X-Spam-Status: No, score=-13.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) 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: Takayuki 'January June' Suwa via Gcc-patches From: Takayuki 'January June' Suwa Reply-To: Takayuki 'January June' Suwa Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" This patch makes counting the number of instructions of the remainder (modulo 4) part more accurate. gcc/ChangeLog: * gcc/config/xtensa/xtensa.cc (xtensa_expand_block_move): Make instruction counting more accurate, and simplify emitting insns. --- gcc/config/xtensa/xtensa.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) @@ -1350,7 +1350,7 @@ xtensa_expand_block_move (rtx *operands) temp[next] = gen_reg_rtx (mode[next]); x = adjust_address (src_mem, mode[next], offset_ld); - emit_insn (gen_rtx_SET (temp[next], x)); + emit_move_insn (temp[next], x); offset_ld += next_amount; bytes -= next_amount; @@ -1360,9 +1360,9 @@ xtensa_expand_block_move (rtx *operands) if (active[phase]) { active[phase] = false; - + x = adjust_address (dst_mem, mode[phase], offset_st); - emit_insn (gen_rtx_SET (x, temp[phase])); + emit_move_insn (x, temp[phase]); offset_st += amount[phase]; } diff --git a/gcc/config/xtensa/xtensa.cc b/gcc/config/xtensa/xtensa.cc index c5518ff9549..d2aabf38339 100644 --- a/gcc/config/xtensa/xtensa.cc +++ b/gcc/config/xtensa/xtensa.cc @@ -1313,7 +1313,7 @@ xtensa_expand_block_move (rtx *operands) move_ratio = 4; if (optimize > 2) move_ratio = LARGEST_MOVE_RATIO; - num_pieces = (bytes / align) + (bytes % align); /* Close enough anyway. */ + num_pieces = (bytes / align) + ((bytes % align + 1) / 2); if (num_pieces > move_ratio) return 0;