From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1105) id B115B3858D28; Fri, 1 Jul 2022 15:27:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B115B3858D28 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Joseph Myers To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-8536] Fix ICE on sh X-Act-Checkin: gcc X-Git-Author: Vladimir Makarov X-Git-Refname: refs/heads/releases/gcc-12 X-Git-Oldrev: b1c8ee2627696717013ebdb1ca3f5f97a76b1cb9 X-Git-Newrev: 962e7f0803f163f9cf44d64a2e199935d3f361fe Message-Id: <20220701152750.B115B3858D28@sourceware.org> Date: Fri, 1 Jul 2022 15:27:50 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2022 15:27:50 -0000 https://gcc.gnu.org/g:962e7f0803f163f9cf44d64a2e199935d3f361fe commit r12-8536-g962e7f0803f163f9cf44d64a2e199935d3f361fe Author: Vladimir Makarov Date: Sat May 28 12:08:38 2022 -0600 Fix ICE on sh gcc/ PR target/103722 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which is special) for various scenarios. (cherry picked from commit ce1580252ea57de23a595e9804ea87ed4353aa6a) Diff: --- gcc/config/sh/sh.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc index 8d4056338a5..03e1c04ec7e 100644 --- a/gcc/config/sh/sh.cc +++ b/gcc/config/sh/sh.cc @@ -10762,6 +10762,12 @@ sh_register_move_cost (machine_mode mode, && ! REGCLASS_HAS_GENERAL_REG (dstclass)) return 2 * ((GET_MODE_SIZE (mode) + 7) / 8U); + if (((dstclass == FP_REGS || dstclass == DF_REGS) + && (srcclass == PR_REGS)) + || ((srcclass == FP_REGS || srcclass == DF_REGS) + && (dstclass == PR_REGS))) + return 7; + return 2 * ((GET_MODE_SIZE (mode) + 3) / 4U); }