From: Vladimir Makarov Date: Sat, 28 May 2022 18:08:38 +0000 (-0600) Subject: Fix ICE on sh X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ce1580252ea57de23a595e9804ea87ed4353aa6a;p=platform%2Fupstream%2Fgcc.git 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. --- diff --git a/gcc/config/sh/sh.cc b/gcc/config/sh/sh.cc index 8d40563..03e1c04 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); }