CSKY: Add new arches while refine the cpu option process.
authorCooper Qu <cooper.qu@linux.alibaba.com>
Thu, 10 Sep 2020 09:36:24 +0000 (17:36 +0800)
committerLifang Xia <xlf194833_xia@alibaba-inc.com>
Thu, 10 Sep 2020 09:41:11 +0000 (17:41 +0800)
commit525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f
treed8de68dc7017ff055db19347df14d3b056e56c08
parent36efe0aea5f7e5088f79e4c8d0265de0c0ec2be9
CSKY: Add new arches while refine the cpu option process.

Add arches CK804, CK805 and CK800. CK800 is an special arch which
support all instructions for CSKYV2. Refine the cpu tables to
simplify adding a new cpu.

Co-Authored-By: Lifang Xia <lifang_xia@c-sky.com>
gas/
* config/tc-csky.c (struct csky_cpu_info): Add new members
isa_flag, features and ver.
(struct csky_cpu_feature): New.
(struct csky_cpu_version): New.
(CSKY_FEATURE_MAX): Define.
(CSKY_CPU_REVERISON_MAX): Define.
(FEATURE_DSP_EXT, FEATURE_DSP, FEATURE_MMU, FEATURE_VDSP,
 FEATURE_FLOAT, FEATURE_TRUST, FEATURE_JAVA, FEATURE_SHIELD):
Define, each standard one collection of instructions.
(CSKY_FEATURES_DEF_NULL, CSKY_FEATURES_DEF_e,
 CSKY_FEATURES_DEF_t, CSKY_FEATURES_DEF_f, CSKY_FEATURES_DEF_v,
 CSKY_FEATURES_DEF_ef, CSKY_FEATURES_DEF_jt,
 CSKY_FEATURES_DEF_efht, CSKY_FEATURES_DEF_efv,
 CSKY_FEATURES_DEF_eft, CSKY_FEATURES_DEF_d,
 CSKY_FEATURES_DEF_df, CSKY_FEATURES_DEF_ft,
 CSKY_FEATURES_DEF_tv, CSKY_FEATURES_DEF_fv,
 CSKY_FEATURES_DEF_dft, CSKY_FEATURES_DEF_dfv,
 CSKY_FEATURES_DEF_ftv, CSKY_FEATURES_DEF_eftv): Define,
the features combination used by cpu.
(CSKY_CPU_REVERISON_r0p0, CSKY_CPU_REVERISON_r1p0,
 CSKY_CPU_REVERISON_r2p0, CSKY_CPU_REVERISON_r3p0,
 CSKY_CPU_REVERISON_RESERVED, CSKY_CPU_REVERISON_R3):
Define, version information used by cpu.
(csky_cpus): Refine, and add CK804, CK805 and CK800.
(parse_cpu): Refine.
(parse_arch): Refine.
(md_show_usage): Refine.
(md_begin): Refine.

include/
* opcode/csky.h (CSKY_ARCH_804): Define.
(CSKY_ARCH_805): Define.
(CSKY_ARCH_800): Define.
gas/ChangeLog
gas/config/tc-csky.c
include/ChangeLog
opcodes/csky-dis.c