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 ce1580252e
)
This commit is contained in:
parent
b1c8ee2627
commit
962e7f0803
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue