aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/csky
diff options
context:
space:
mode:
authorGeng Qi <gengqi@linux.alibaba.com>2021-04-30 21:02:15 +0800
committerXianmiao Qu <xianmiao_qu@c-sky.com>2021-05-26 17:23:31 +0800
commit5f338210456bf4f142a2da6eb0a01ae8ffecaa88 (patch)
tree6aa446665d73b85e814ba358d39b83ebc6132e32 /gcc/config/csky
parenta0d371a25148d113f7c3657f36fbf7dcb5e1f63d (diff)
downloadgcc-5f338210456bf4f142a2da6eb0a01ae8ffecaa88.zip
gcc-5f338210456bf4f142a2da6eb0a01ae8ffecaa88.tar.gz
gcc-5f338210456bf4f142a2da6eb0a01ae8ffecaa88.tar.bz2
C-SKY: Delete TARGET_CAN_CHANGE_MODE_CLASS, use defualt definition.
gcc/ChangeLog: * config/csky/csky.c (csky_can_change_mode_class): Delete. For csky, HF/SF mode use the low bits of VREGS.
Diffstat (limited to 'gcc/config/csky')
-rw-r--r--gcc/config/csky/csky.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/gcc/config/csky/csky.c b/gcc/config/csky/csky.c
index c0e42a2..e55821f 100644
--- a/gcc/config/csky/csky.c
+++ b/gcc/config/csky/csky.c
@@ -608,9 +608,6 @@ csky_default_logical_op_non_short_circuit (void)
#undef TARGET_MODES_TIEABLE_P
#define TARGET_MODES_TIEABLE_P csky_modes_tieable_p
-#undef TARGET_CAN_CHANGE_MODE_CLASS
-#define TARGET_CAN_CHANGE_MODE_CLASS csky_can_change_mode_class
-
#undef TARGET_CONDITIONAL_REGISTER_USAGE
#define TARGET_CONDITIONAL_REGISTER_USAGE csky_conditional_register_usage
@@ -2370,19 +2367,6 @@ csky_modes_tieable_p (machine_mode mode1, machine_mode mode2)
&& (mode1 == DFmode || mode2 == DFmode));
}
-/* Implement TARGET_CAN_CHANGE_MODE_CLASS.
- V_REG registers can't do subreg as all values are reformatted to
- internal precision. */
-
-static bool
-csky_can_change_mode_class (machine_mode from,
- machine_mode to,
- reg_class_t rclass)
-{
- return (GET_MODE_SIZE (from) == GET_MODE_SIZE (to)
- || !reg_classes_intersect_p (V_REGS, rclass));
-}
-
/* Implement TARGET_CLASS_LIKELY_SPILLED_P.
We need to define this for MINI_REGS when we only use r0 - r7.
Otherwise we can end up using r0-r4 for function arguments, and don't