Hi gengqi,

I could not find the patchs [3/7], [4/7] and [7/7]. Could you check the emails and send them again ?


On 10/29/20 9:22 PM, gengqi via Gcc-patches wrote:
gcc/ChangeLog:

        * config/csky/constraints.md ("W"): New constriant for mem operand
        with base reg, index register.
        ("Q"): Renamed and modified "csky_valid_fpuv2_mem_operand" to
        "csky_valid_mem_constraint_operand" to deal with both "Q" and "W"
        constraint.
        ("Dv"): New constraint for const double value that can be used at
        fmovi instruction.
        * config/csky/csky-modes.def (HFmode): New mode.
        * config/csky/csky-protos.h (csky_valid_fpuv2_mem_operand): Rename
        to "csky_valid_mem_constraint_operand" and new support for constraint
        "W".
        (get_output_csky_movedouble_length): New.
        (fpuv3_output_move): New.
        (fpuv3_const_double): New.
        * config/csky/csky.c (csky_option_override): New arch CK860 with fpv3.
        (decompose_csky_address): Robustness adjust.
        (csky_print_operand): New "CONST_DOUBLE" operand.
        (csky_output_move): New support for fpv3 instructions.
        (get_output_csky_movedouble_length): New.
        (fpuv3_output_move): New.
        (fpuv3_const_double): New.
        (csky_emit_compare): New cover for float comparsion.
        (csky_emit_compare_float): Refine.
        (csky_vaild_fpuv2_mem_operand): Rename to
        "csky_valid_mem_constraint_operand" and new support for constraint "W".
        (ck860_rtx_costs): New.
        (csky_rtx_costs): New subcall for CK860.
        (regno_reg_class): New vregs for fpuv3.
        (csky_dbx_regno): Likewise.
        (csky_cpu_cpp_builtins): New builtin macro for fpuv3.
        (csky_conditional_register_usage): New suporrot for fpuv3.
        (csky_dwarf_register_span): New suporrot for fpuv3.
        (csky_init_builtins, csky_mangle_type): New support for "__fp16" type.
        (ck810_legitimate_index_p): New support for fp16.
        * gcc/config/csky/csky.h (TARGET_TLS): ADD CK860.
        (CSKY_VREG_P, CSKY_VREG_LO_P, CSKY_VREG_HI_P): New support for fpuv3.
        (TARGET_SINGLE_FPU): New support for fpuv3.
        (TARGET_SUPPORT_FPV3): New macro.
        (FIRST_PSEUDO_REGISTER): Value change, since the new fpuv3 regs.
        (FIXED_REGISTERS, CALL_REALLY_USED_REGISTERS, REGISTER_NAMES,
         REG_CLASS_CONTENTS): Support for fpuv3.
        * gcc/config/csky/csky.md (movsf): Move to cksy_insn_fpu.md and adjust.
        (csky_movsf_fpv2): Likewise.
        (ck801_movsf): Likewise.
        (csky_movsf): Likewise.
        (movdf): Likewise.
        (csky_movdf_fpv2): Likewise.
        (ck801_movdf): Likewise.
        (csky_movdf): Likewise.
        (movsicc): Refine. Use "comparison_operatior" instead of
        "ordered_comparison_operatior".
        (addsicc): Likewise.
        (CSKY_FIRST_VFP3_REGNUM, CSKY_LAST_VFP3_REGNUM): New constant.
        (call_value_internal_vh): New insn.
        * config/csky/csky_cores.def (CK860): New arch and cpu.
        (fpv3): New 4 fpus: fpv3_hf, fpv3_hsf, fpv3_sdf and fpv3.
        * config/csky/csky_insn_fpu.md (mov<float_mode>): Move the float mov
        patterns from csky.md here.
        (fpuv2 instructions): Refactor. Separate all float patterns into
        emit-patterns and match-patterns, remain the emit-patterns here, and
        move the match-patterns to csky_insn_fpuv2.md.
        (fpuv3 instructions): Add patterns and fuse part of them with the
        fpuv2's.
        * config/csky/csky_insn_fpuv2.md: New file for fpuv2 instructions.
        * config/csky/csky_insn_fpuv3.md: New flie and new patterns for fpuv3
        isntructions.
        * config/csky/csky_isa.def (fcr): New.
        (fpv3): New 4 isa sets: fpv3_hi, fpv3_hf, fpv3_sf and fpv3_df.
        (CK860): New definition for ck860.
        * gcc/config/csky/csky_tables.opt (ck860): New processors ck860,
        ck860f. And new arch ck860.
        (fpv3): New 4 fpus: fpv3_hf, fpv3_hsf, fpv3_sdf and fpv3.
        * config/csky/predicates.md (csky_float_comparsion_operator): Delete
        "geu", "gtu", "leu", "ltu", which will never appear at float comparison.
        * config/cksy/t-csky-elf, config/csky/t-csky-linux: New for ck860.
        * doc/md.texi: Add "Q" and "W" constraints for C-SKY.
---
  gcc/config/csky/constraints.md     |  13 +-
  gcc/config/csky/csky-modes.def     |   2 +
  gcc/config/csky/csky-protos.h      |   7 +-
  gcc/config/csky/csky.c             | 650 ++++++++++++++++++++++++++----
  gcc/config/csky/csky.h             | 162 ++++++--
  gcc/config/csky/csky.md            | 127 ++----
  gcc/config/csky/csky_cores.def     |  13 +
  gcc/config/csky/csky_insn_fpu.md   | 798 +++++++++++++++----------------------
  gcc/config/csky/csky_insn_fpuv2.md | 470 ++++++++++++++++++++++
  gcc/config/csky/csky_insn_fpuv3.md | 506 +++++++++++++++++++++++
  gcc/config/csky/csky_isa.def       |  15 +
  gcc/config/csky/csky_tables.opt    |  21 +
  gcc/config/csky/predicates.md      |   3 +-
  gcc/config/csky/t-csky-elf         |   9 +-
  gcc/config/csky/t-csky-linux       |  11 +-
  gcc/doc/md.texi                    |   8 +
  16 files changed, 2139 insertions(+), 676 deletions(-)
  create mode 100644 gcc/config/csky/csky-modes.def
  create mode 100644 gcc/config/csky/csky_insn_fpuv2.md
  create mode 100644 gcc/config/csky/csky_insn_fpuv3.md


Reply via email to