CSKY: Add CPU CK803r3.
Move divul and divsl to CSKYV2_ISA_3E3R3 instruction set, which is enabled by ck803r3, and it's still a part of enhance DSP instruction set. gas/ * config/tc-csky.c (csky_cpus): Add ck803r3. (CSKY_ISA_803R3): Define. (CSKY_ISA_803R2): Refine, use CSKY_ISA_803R1. include/ * opcode/csky.h (CSKYV2_ISA_3E3R3): Define. opcodes/ * csky-opc.h (csky_v2_opcodes): Move divul and divsl to CSKYV2_ISA_3E3R3 instruction set.
This commit is contained in:
parent
8119cc3837
commit
4211a34001
6 changed files with 39 additions and 19 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||||
|
|
||||||
|
* config/tc-csky.c (csky_cpus): Add ck803r3.
|
||||||
|
(CSKY_ISA_803R3): Define.
|
||||||
|
(CSKY_ISA_803R2): Refine, use CSKY_ISA_803R1.
|
||||||
|
|
||||||
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||||
|
|
||||||
* testsuite/gas/csky/cskyv2_dsp.d : Fix Encode of mulsws.
|
* testsuite/gas/csky/cskyv2_dsp.d : Fix Encode of mulsws.
|
||||||
|
|
|
@ -620,8 +620,8 @@ const struct csky_cpu_info csky_cpus[] =
|
||||||
/* CK803 series. */
|
/* CK803 series. */
|
||||||
#define CSKY_ISA_803 (CSKY_ISA_802 | CSKYV2_ISA_2E3 | CSKY_ISA_MP)
|
#define CSKY_ISA_803 (CSKY_ISA_802 | CSKYV2_ISA_2E3 | CSKY_ISA_MP)
|
||||||
#define CSKY_ISA_803R1 (CSKY_ISA_803 | CSKYV2_ISA_3E3R1)
|
#define CSKY_ISA_803R1 (CSKY_ISA_803 | CSKYV2_ISA_3E3R1)
|
||||||
#define CSKY_ISA_803R2 (CSKY_ISA_803 | CSKYV2_ISA_3E3R1 | CSKYV2_ISA_3E3R2)
|
|
||||||
#define CSKY_ISA_FLOAT_803 (CSKY_ISA_FLOAT_E1 | CSKY_ISA_FLOAT_1E3)
|
#define CSKY_ISA_FLOAT_803 (CSKY_ISA_FLOAT_E1 | CSKY_ISA_FLOAT_1E3)
|
||||||
|
#define CSKY_ISA_EDSP (CSKYV2_ISA_3E3R3 | CSKY_ISA_DSP_ENHANCE)
|
||||||
{"ck803", CSKY_ARCH_803, CSKY_ISA_803 },
|
{"ck803", CSKY_ARCH_803, CSKY_ISA_803 },
|
||||||
{"ck803h", CSKY_ARCH_803, CSKY_ISA_803 },
|
{"ck803h", CSKY_ARCH_803, CSKY_ISA_803 },
|
||||||
{"ck803t", CSKY_ARCH_803, CSKY_ISA_803 | CSKY_ISA_TRUST},
|
{"ck803t", CSKY_ARCH_803, CSKY_ISA_803 | CSKY_ISA_TRUST},
|
||||||
|
@ -643,31 +643,35 @@ const struct csky_cpu_info csky_cpus[] =
|
||||||
{"ck803htr1", CSKY_ARCH_803, CSKY_ISA_803R1 | CSKY_ISA_TRUST},
|
{"ck803htr1", CSKY_ARCH_803, CSKY_ISA_803R1 | CSKY_ISA_TRUST},
|
||||||
{"ck803fr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803},
|
{"ck803fr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803fhr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803},
|
{"ck803fhr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803er1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE},
|
{"ck803er1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_EDSP},
|
||||||
{"ck803ehr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE},
|
{"ck803ehr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_EDSP},
|
||||||
{"ck803etr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_TRUST},
|
{"ck803etr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_TRUST},
|
||||||
{"ck803ehtr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_TRUST},
|
{"ck803ehtr1", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_TRUST},
|
||||||
{"ck803efr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803},
|
{"ck803efr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803efhr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803},
|
{"ck803efhr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803ftr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803ftr1", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
{"ck803eftr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803eftr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
{"ck803ehftr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803ehftr1", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R1 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
|
|
||||||
|
#define CSKY_ISA_803R2 (CSKY_ISA_803R1 | CSKYV2_ISA_3E3R2)
|
||||||
{"ck803r2", CSKY_ARCH_803, CSKY_ISA_803R2},
|
{"ck803r2", CSKY_ARCH_803, CSKY_ISA_803R2},
|
||||||
{"ck803hr2", CSKY_ARCH_803, CSKY_ISA_803R2},
|
{"ck803hr2", CSKY_ARCH_803, CSKY_ISA_803R2},
|
||||||
{"ck803tr2", CSKY_ARCH_803, CSKY_ISA_803R2 | CSKY_ISA_TRUST},
|
{"ck803tr2", CSKY_ARCH_803, CSKY_ISA_803R2 | CSKY_ISA_TRUST},
|
||||||
{"ck803htr2", CSKY_ARCH_803, CSKY_ISA_803R2 | CSKY_ISA_TRUST},
|
{"ck803htr2", CSKY_ARCH_803, CSKY_ISA_803R2 | CSKY_ISA_TRUST},
|
||||||
{"ck803fr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803},
|
{"ck803fr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803fhr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803},
|
{"ck803fhr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803er2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE},
|
{"ck803er2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_EDSP},
|
||||||
{"ck803ehr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE},
|
{"ck803ehr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_EDSP},
|
||||||
{"ck803etr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_TRUST},
|
{"ck803etr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_TRUST},
|
||||||
{"ck803ehtr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_TRUST},
|
{"ck803ehtr2", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_TRUST},
|
||||||
{"ck803efr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803},
|
{"ck803efr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803efhr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803},
|
{"ck803efhr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803},
|
||||||
{"ck803ftr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803ftr2", CSKY_ARCH_803 | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
{"ck803eftr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803eftr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
{"ck803efhtr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_DSP_ENHANCE | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
{"ck803efhtr2", CSKY_ARCH_803 | CSKY_ARCH_DSP | CSKY_ARCH_FLOAT, CSKY_ISA_803R2 | CSKY_ISA_EDSP | CSKY_ISA_FLOAT_803 | CSKY_ISA_TRUST},
|
||||||
|
|
||||||
|
#define CSKY_ISA_803R3 (CSKY_ISA_803R2 | CSKYV2_ISA_3E3R3)
|
||||||
|
{"ck803r3", CSKY_ARCH_803, CSKY_ISA_803R3},
|
||||||
|
|
||||||
{"ck803s", CSKY_ARCH_803, CSKY_ISA_803R1 },
|
{"ck803s", CSKY_ARCH_803, CSKY_ISA_803R1 },
|
||||||
{"ck803se", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKYV2_ISA_DSP},
|
{"ck803se", CSKY_ARCH_803 | CSKY_ARCH_DSP, CSKY_ISA_803R1 | CSKYV2_ISA_DSP},
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||||
|
|
||||||
|
* opcode/csky.h (CSKYV2_ISA_3E3R3): Define.
|
||||||
|
|
||||||
2020-08-31 Alan Modra <amodra@gmail.com>
|
2020-08-31 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
PR 26493
|
PR 26493
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#define CSKYV2_ISA_3E3R1 (1L << 6)
|
#define CSKYV2_ISA_3E3R1 (1L << 6)
|
||||||
#define CSKYV2_ISA_3E3R2 (1L << 7)
|
#define CSKYV2_ISA_3E3R2 (1L << 7)
|
||||||
#define CSKYV2_ISA_10E60 (1L << 8)
|
#define CSKYV2_ISA_10E60 (1L << 8)
|
||||||
|
#define CSKYV2_ISA_3E3R3 (1L << 9)
|
||||||
|
|
||||||
#define CSKY_ISA_TRUST (1L << 11)
|
#define CSKY_ISA_TRUST (1L << 11)
|
||||||
#define CSKY_ISA_CACHE (1L << 12)
|
#define CSKY_ISA_CACHE (1L << 12)
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||||
|
|
||||||
|
* csky-opc.h (csky_v2_opcodes): Move divul and divsl
|
||||||
|
to CSKYV2_ISA_3E3R3 instruction set.
|
||||||
|
|
||||||
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
2020-09-02 Cooper Qu <cooper.qu@linux.alibaba.com>
|
||||||
|
|
||||||
* csky-opc.h (csky_v2_opcodes): Fix Encode of mulsws.
|
* csky-opc.h (csky_v2_opcodes): Fix Encode of mulsws.
|
||||||
|
|
|
@ -5321,13 +5321,13 @@ const struct csky_opcode csky_v2_opcodes[] =
|
||||||
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
||||||
(16_20, AREG, OPRND_SHIFT_0_BIT),
|
(16_20, AREG, OPRND_SHIFT_0_BIT),
|
||||||
(21_25, AREG, OPRND_SHIFT_0_BIT)),
|
(21_25, AREG, OPRND_SHIFT_0_BIT)),
|
||||||
CSKY_ISA_DSP_ENHANCE),
|
CSKYV2_ISA_3E3R3),
|
||||||
OP32 ("divsl",
|
OP32 ("divsl",
|
||||||
OPCODE_INFO3 (0xf800e2e0,
|
OPCODE_INFO3 (0xf800e2e0,
|
||||||
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
||||||
(16_20, AREG, OPRND_SHIFT_0_BIT),
|
(16_20, AREG, OPRND_SHIFT_0_BIT),
|
||||||
(21_25, AREG, OPRND_SHIFT_0_BIT)),
|
(21_25, AREG, OPRND_SHIFT_0_BIT)),
|
||||||
CSKY_ISA_DSP_ENHANCE),
|
CSKYV2_ISA_3E3R3),
|
||||||
OP32 ("mulaca.s8",
|
OP32 ("mulaca.s8",
|
||||||
OPCODE_INFO3 (0xf800e4c0,
|
OPCODE_INFO3 (0xf800e4c0,
|
||||||
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
(0_4, AREG, OPRND_SHIFT_0_BIT),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue