projects
/
platform
/
upstream
/
gcc.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ad8f6e2
)
Fix ICE on sh
author
Vladimir Makarov
<vmakarov@gcc.gnu.org>
Sat, 28 May 2022 18:08:38 +0000
(12:08 -0600)
committer
Jeff Law
<jeffreyalaw@gmail.com>
Sat, 28 May 2022 18:14:39 +0000
(12:14 -0600)
gcc/
PR target/103722
* config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
is special) for various scenarios.
gcc/config/sh/sh.cc
patch
|
blob
|
history
diff --git
a/gcc/config/sh/sh.cc
b/gcc/config/sh/sh.cc
index
8d40563
..
03e1c04
100644
(file)
--- 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);
}