From 525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f Mon Sep 17 00:00:00 2001 From: Cooper Qu Date: Thu, 10 Sep 2020 17:36:24 +0800 Subject: 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 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. --- opcodes/csky-dis.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'opcodes') diff --git a/opcodes/csky-dis.c b/opcodes/csky-dis.c index 450a9be..ba0f460 100644 --- a/opcodes/csky-dis.c +++ b/opcodes/csky-dis.c @@ -649,6 +649,7 @@ csky_output_operand (char *str, struct operand const *oprnd, memcpy (&f, &value, sizeof (float)); sprintf (buf, "%f\t// imm9:%4d, imm4:%2d", f, imm8, imm4); strcat (str, buf); + break; } @@ -677,6 +678,7 @@ csky_output_operand (char *str, struct operand const *oprnd, memcpy (&d, &dvalue, sizeof (double)); sprintf (buf, "%lf\t// imm9:%4ld, imm4:%2ld", d, (long) imm8, (long) imm4); strcat (str, buf); + break; } case OPRND_TYPE_LABEL_WITH_BRACKET: -- cgit v1.1