riscv_register_move_cost (machine_mode mode,
reg_class_t from, reg_class_t to)
{
- bool from_is_fpr = from == FP_REGS || from == RVC_FP_REGS;
- bool from_is_gpr = from == GR_REGS || from == RVC_GR_REGS;
- bool to_is_fpr = to == FP_REGS || to == RVC_FP_REGS;
- bool to_is_gpr = to == GR_REGS || to == RVC_GR_REGS;
+ bool from_is_fpr = reg_class_subset_p (from, FP_REGS);
+ bool from_is_gpr = reg_class_subset_p (from, GR_REGS);
+ bool to_is_fpr = reg_class_subset_p (to, FP_REGS);
+ bool to_is_gpr = reg_class_subset_p (to, GR_REGS);
if ((from_is_fpr && to_is_gpr) || (from_is_gpr && to_is_fpr))
return tune_param->fmv_cost;