diff options
author | Cooper Qu <cooper.qu@linux.alibaba.com> | 2020-09-10 17:36:24 +0800 |
---|---|---|
committer | Lifang Xia <xlf194833_xia@alibaba-inc.com> | 2020-09-10 17:41:11 +0800 |
commit | 525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f (patch) | |
tree | d8de68dc7017ff055db19347df14d3b056e56c08 /opcodes | |
parent | 36efe0aea5f7e5088f79e4c8d0265de0c0ec2be9 (diff) | |
download | gdb-525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f.zip gdb-525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f.tar.gz gdb-525a0aa301bb60cbd169c6ff6c83eb4d4c06be1f.tar.bz2 |
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.
Diffstat (limited to 'opcodes')
-rw-r--r-- | opcodes/csky-dis.c | 2 |
1 files changed, 2 insertions, 0 deletions
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: |