]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/config/csky/csky_cores.def
Update copyright years.
[thirdparty/gcc.git] / gcc / config / csky / csky_cores.def
1 /* Architecture and core descriptions for the C-SKY back end.
2 Copyright (C) 2018-2019 Free Software Foundation, Inc.
3 Contributed by C-SKY Microsystems and Mentor Graphics.
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it
8 under the terms of the GNU General Public License as published
9 by the Free Software Foundation; either version 3, or (at your
10 option) any later version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
15 License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with GCC; see the file COPYING3. If not see
19 <http://www.gnu.org/licenses/>. */
20
21 /* Before using #include to read this file, define a macro:
22
23 CSKY_ARCH(NAME, CORE, ARCH, ISA)
24
25 The NAME is the name of the architecture, represented as a string
26 constant. The CORE is the identifier for a core representative of
27 this architecture. ARCH is the architecture revision. ISA is the
28 detailed architectural capabilities of the core. */
29
30 #ifdef CSKY_ARCH
31 CSKY_ARCH ("ck801", ck801, CK801,
32 CSKY_ISA_FEAT (CSKY_ISA_CK801))
33 CSKY_ARCH ("ck802", ck802, CK802,
34 CSKY_ISA_FEAT (CSKY_ISA_CK802))
35 CSKY_ARCH ("ck803", ck803, CK803,
36 CSKY_ISA_FEAT (CSKY_ISA_CK803))
37 CSKY_ARCH ("ck807", ck807, CK807,
38 CSKY_ISA_FEAT (CSKY_ISA_CK807) CSKY_ISA_FEAT (CSKY_ISA_DSP))
39 CSKY_ARCH ("ck810", ck810, CK810,
40 CSKY_ISA_FEAT (CSKY_ISA_CK810) CSKY_ISA_FEAT (CSKY_ISA_DSP))
41 #endif
42
43
44 /* Before using #include to read this file, define a macro:
45
46 CSKY_CORE(CORE_NAME, INTERNAL_IDENT, TUNE_IDENT, ARCH, ISA)
47
48 The isa features of core will inherit the ARCH.
49
50 The CORE_NAME is the name of the core, represented as a string constant.
51 The INTERNAL_IDENT is the name of the core represented as an identifier.
52 This must be unique for each entry in this table.
53 The TUNE_IDENT is the name of the core for which scheduling decisions
54 should be made, represented as an identifier.
55 The ARCH is the architecture revision implemented by the chip.
56 The ISA is the detailed architectural capabilities of the core. */
57
58 #ifdef CSKY_CORE
59 /* ck801 Architecture Processors */
60 CSKY_CORE ("ck801", ck801, ck801, CK801,
61 CSKY_ISA_FEAT_NONE)
62 CSKY_CORE ("ck801t", ck801t, ck801t, CK801,
63 CSKY_ISA_FEAT_NONE)
64
65 /* ck802 Architecture Processors */
66 CSKY_CORE ("ck802", ck802, ck802, CK802,
67 CSKY_ISA_FEAT_NONE)
68 CSKY_CORE ("ck802t", ck802t, ck802t, CK802,
69 CSKY_ISA_FEAT_NONE)
70 CSKY_CORE ("ck802j", ck802j, ck802j, CK802,
71 CSKY_ISA_FEAT (isa_bit_java))
72
73 /* ck803 Architecture Processors */
74 CSKY_CORE ("ck803", ck803, ck803, CK803,
75 CSKY_ISA_FEAT_NONE)
76 CSKY_CORE ("ck803h", ck803h, ck803h, CK803,
77 CSKY_ISA_FEAT_NONE)
78 CSKY_CORE ("ck803t", ck803t, ck803t, CK803,
79 CSKY_ISA_FEAT_NONE)
80 CSKY_CORE ("ck803ht", ck803ht, ck803ht, CK803,
81 CSKY_ISA_FEAT_NONE)
82 CSKY_CORE ("ck803f", ck803f, ck803f, CK803,
83 CSKY_ISA_FEAT_NONE)
84 CSKY_CORE ("ck803fh", ck803fh, ck803fh, CK803,
85 CSKY_ISA_FEAT_NONE)
86 CSKY_CORE ("ck803e", ck803e, ck803e, CK803,
87 CSKY_ISA_FEAT (CSKY_ISA_DSP))
88 CSKY_CORE ("ck803eh", ck803eh, ck803eh, CK803,
89 CSKY_ISA_FEAT (CSKY_ISA_DSP))
90 CSKY_CORE ("ck803et", ck803et, ck803et, CK803,
91 CSKY_ISA_FEAT (CSKY_ISA_DSP))
92 CSKY_CORE ("ck803eht", ck803eht, ck803eht, CK803,
93 CSKY_ISA_FEAT (CSKY_ISA_DSP))
94 CSKY_CORE ("ck803ef", ck803ef, ck803ef, CK803,
95 CSKY_ISA_FEAT (CSKY_ISA_DSP))
96 CSKY_CORE ("ck803efh", ck803efh, ck803efh, CK803,
97 CSKY_ISA_FEAT (CSKY_ISA_DSP))
98 CSKY_CORE ("ck803ft", ck803ft, ck803ft, CK803,
99 CSKY_ISA_FEAT_NONE)
100 CSKY_CORE ("ck803eft", ck803eft, ck803eft, CK803,
101 CSKY_ISA_FEAT (CSKY_ISA_DSP))
102 CSKY_CORE ("ck803efht", ck803efht, ck803efht, CK803,
103 CSKY_ISA_FEAT (CSKY_ISA_DSP))
104 CSKY_CORE ("ck803r1", ck803r1, ck803r1, CK803,
105 CSKY_ISA_FEAT (isa_bit_3E3r1))
106 CSKY_CORE ("ck803hr1", ck803hr1, ck803hr1, CK803,
107 CSKY_ISA_FEAT (isa_bit_3E3r1))
108 CSKY_CORE ("ck803tr1", ck803tr1, ck803tr1, CK803,
109 CSKY_ISA_FEAT (isa_bit_3E3r1))
110 CSKY_CORE ("ck803htr1", ck803htr1, ck803htr1, CK803,
111 CSKY_ISA_FEAT (isa_bit_3E3r1))
112 CSKY_CORE ("ck803fr1", ck803fr1, ck803fr1, CK803,
113 CSKY_ISA_FEAT (isa_bit_3E3r1))
114 CSKY_CORE ("ck803fhr1", ck803fhr1, ck803fhr1, CK803,
115 CSKY_ISA_FEAT (isa_bit_3E3r1))
116 CSKY_CORE ("ck803er1", ck803er1, ck803er1, CK803,
117 CSKY_ISA_FEAT (isa_bit_3E3r1))
118 CSKY_CORE ("ck803ehr1", ck803ehr1, ck803ehr1, CK803,
119 CSKY_ISA_FEAT (isa_bit_3E3r1))
120 CSKY_CORE ("ck803etr1", ck803etr1, ck803etr1, CK803,
121 CSKY_ISA_FEAT (isa_bit_3E3r1))
122 CSKY_CORE ("ck803ehtr1", ck803ehtr1, ck803ehtr1, CK803,
123 CSKY_ISA_FEAT (isa_bit_3E3r1))
124 CSKY_CORE ("ck803efr1", ck803efr1, ck803efr1, CK803,
125 CSKY_ISA_FEAT (isa_bit_3E3r1))
126 CSKY_CORE ("ck803efhr1", ck803efhr1, ck803efhr1, CK803,
127 CSKY_ISA_FEAT (isa_bit_3E3r1))
128 CSKY_CORE ("ck803ftr1", ck803ftr1, ck803ftr1, CK803,
129 CSKY_ISA_FEAT (isa_bit_3E3r1))
130 CSKY_CORE ("ck803eftr1", ck803eftr1, ck803eftr1, CK803,
131 CSKY_ISA_FEAT (isa_bit_3E3r1))
132 CSKY_CORE ("ck803efhtr1", ck803efhtr1, ck803efhtr1, CK803,
133 CSKY_ISA_FEAT (isa_bit_3E3r1))
134
135 /* ck803s Architecture Processors */
136 CSKY_CORE ("ck803s", ck803s, ck803s, CK803,
137 CSKY_ISA_FEAT_NONE)
138 CSKY_CORE ("ck803st", ck803st, ck803st, CK803,
139 CSKY_ISA_FEAT_NONE)
140 CSKY_CORE ("ck803se", ck803se, ck803se, CK803,
141 CSKY_ISA_FEAT (CSKY_ISA_DSP))
142 CSKY_CORE ("ck803sf", ck803sf, ck803sf, CK803,
143 CSKY_ISA_FEAT_NONE)
144 CSKY_CORE ("ck803sef", ck803sef, ck803sef, CK803,
145 CSKY_ISA_FEAT (CSKY_ISA_DSP))
146 CSKY_CORE ("ck803seft", ck803seft, ck803seft, CK803,
147 CSKY_ISA_FEAT (CSKY_ISA_DSP))
148
149 /* ck807 Architecture Processors */
150 CSKY_CORE ("ck807e", ck807e, ck807e, CK807,
151 CSKY_ISA_FEAT_NONE)
152 CSKY_CORE ("ck807ef", ck807ef, ck807ef, CK807,
153 CSKY_ISA_FEAT_NONE)
154 CSKY_CORE ("ck807", ck807, ck807, CK807,
155 CSKY_ISA_FEAT_NONE)
156 CSKY_CORE ("ck807f", ck807f, ck807f, CK807,
157 CSKY_ISA_FEAT_NONE)
158
159 /* ck810 Architecture Processors */
160 CSKY_CORE ("ck810e", ck810e, ck810e, CK810,
161 CSKY_ISA_FEAT_NONE)
162 CSKY_CORE ("ck810et", ck810et, ck810et, CK810,
163 CSKY_ISA_FEAT_NONE)
164 CSKY_CORE ("ck810ef", ck810ef, ck810ef, CK810,
165 CSKY_ISA_FEAT_NONE)
166 CSKY_CORE ("ck810eft", ck810eft, ck810eft, CK810,
167 CSKY_ISA_FEAT_NONE)
168 CSKY_CORE ("ck810", ck810, ck810, CK810,
169 CSKY_ISA_FEAT_NONE)
170 CSKY_CORE ("ck810v", ck810v, ck810v, CK810,
171 CSKY_ISA_FEAT_NONE)
172 CSKY_CORE ("ck810f", ck810f, ck810f, CK810,
173 CSKY_ISA_FEAT_NONE)
174 CSKY_CORE ("ck810t", ck810t, ck810t, CK810,
175 CSKY_ISA_FEAT_NONE)
176 CSKY_CORE ("ck810fv", ck810fv, ck810fv, CK810,
177 CSKY_ISA_FEAT_NONE)
178 CSKY_CORE ("ck810tv", ck810tv, ck810tv, CK810,
179 CSKY_ISA_FEAT_NONE)
180 CSKY_CORE ("ck810ft", ck810ff, ck810ft, CK810,
181 CSKY_ISA_FEAT_NONE)
182 CSKY_CORE ("ck810ftv", ck810ftv, ck810ftv, CK810,
183 CSKY_ISA_FEAT_NONE)
184 #endif
185
186
187 /* Before using #include to read this file, define a macro:
188
189 CSKY_FPU(NAME, CNAME, ISA)
190
191 NAME is the publicly visible option name.
192 CNAME is a C-compatible variable name substring.
193 ISA is the list of feature bits that this FPU provides. */
194
195 #ifdef CSKY_FPU
196 CSKY_FPU ("fpv2_sf", fpv2_sf, CSKY_ISA_FEAT (CSKY_ISA_FPv2_SF))
197 CSKY_FPU ("fpv2", fpv2, CSKY_ISA_FEAT (CSKY_ISA_FPv2))
198 CSKY_FPU ("fpv2_divd", fpv2_divd, CSKY_ISA_FEAT (CSKY_ISA_FPv2_DIVD))
199 #endif