]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
C-SKY: Delete TARGET_CAN_CHANGE_MODE_CLASS, use defualt definition.
authorGeng Qi <gengqi@linux.alibaba.com>
Fri, 30 Apr 2021 13:02:15 +0000 (21:02 +0800)
committerXianmiao Qu <xianmiao_qu@c-sky.com>
Wed, 26 May 2021 09:23:31 +0000 (17:23 +0800)
gcc/ChangeLog:

* config/csky/csky.c (csky_can_change_mode_class): Delete.
For csky, HF/SF mode use the low bits of VREGS.

gcc/config/csky/csky.c

index c0e42a260263e11a2fcafaef0e820616635c8851..e55821fe2ee3e3ccf262d604ad96963d7b9ded82 100644 (file)
@@ -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