tree-optimization/116081 - typedef vs. non-typedef in vectorization
[official-gcc.git] / gcc / config / csky / csky_cores.def
blobeaffa5b8397dfb1edb4358045dc684e0f5e5f61a
1 /* Architecture and core descriptions for the C-SKY back end.
2 Copyright (C) 2018-2024 Free Software Foundation, Inc.
3 Contributed by C-SKY Microsystems and Mentor Graphics.
5 This file is part of GCC.
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.
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.
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/>. */
21 /* Before using #include to read this file, define a macro:
23 CSKY_ARCH(NAME, CORE, ARCH, ISA)
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. */
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 CSKY_ARCH ("ck860", ck860, CK860,
42 CSKY_ISA_FEAT (CSKY_ISA_CK860))
43 #endif
46 /* Before using #include to read this file, define a macro:
48 CSKY_CORE(CORE_NAME, INTERNAL_IDENT, TUNE_IDENT, ARCH, ISA)
50 The isa features of core will inherit the ARCH.
52 The CORE_NAME is the name of the core, represented as a string constant.
53 The INTERNAL_IDENT is the name of the core represented as an identifier.
54 This must be unique for each entry in this table.
55 The TUNE_IDENT is the name of the core for which scheduling decisions
56 should be made, represented as an identifier.
57 The ARCH is the architecture revision implemented by the chip.
58 The ISA is the detailed architectural capabilities of the core. */
60 #ifdef CSKY_CORE
61 /* ck801 Architecture Processors */
62 CSKY_CORE ("ck801", ck801, ck801, CK801,
63 CSKY_ISA_FEAT_NONE)
64 CSKY_CORE ("ck801t", ck801t, ck801t, CK801,
65 CSKY_ISA_FEAT_NONE)
67 /* ck802 Architecture Processors */
68 CSKY_CORE ("ck802", ck802, ck802, CK802,
69 CSKY_ISA_FEAT_NONE)
70 CSKY_CORE ("ck802t", ck802t, ck802t, CK802,
71 CSKY_ISA_FEAT_NONE)
72 CSKY_CORE ("ck802j", ck802j, ck802j, CK802,
73 CSKY_ISA_FEAT (isa_bit_java))
75 /* ck803 Architecture Processors */
76 CSKY_CORE ("ck803", ck803, ck803, CK803,
77 CSKY_ISA_FEAT_NONE)
78 CSKY_CORE ("ck803h", ck803h, ck803h, CK803,
79 CSKY_ISA_FEAT_NONE)
80 CSKY_CORE ("ck803t", ck803t, ck803t, CK803,
81 CSKY_ISA_FEAT_NONE)
82 CSKY_CORE ("ck803ht", ck803ht, ck803ht, CK803,
83 CSKY_ISA_FEAT_NONE)
84 CSKY_CORE ("ck803f", ck803f, ck803f, CK803,
85 CSKY_ISA_FEAT_NONE)
86 CSKY_CORE ("ck803fh", ck803fh, ck803fh, CK803,
87 CSKY_ISA_FEAT_NONE)
88 CSKY_CORE ("ck803e", ck803e, ck803e, CK803,
89 CSKY_ISA_FEAT (CSKY_ISA_DSP))
90 CSKY_CORE ("ck803eh", ck803eh, ck803eh, CK803,
91 CSKY_ISA_FEAT (CSKY_ISA_DSP))
92 CSKY_CORE ("ck803et", ck803et, ck803et, CK803,
93 CSKY_ISA_FEAT (CSKY_ISA_DSP))
94 CSKY_CORE ("ck803eht", ck803eht, ck803eht, CK803,
95 CSKY_ISA_FEAT (CSKY_ISA_DSP))
96 CSKY_CORE ("ck803ef", ck803ef, ck803ef, CK803,
97 CSKY_ISA_FEAT (CSKY_ISA_DSP))
98 CSKY_CORE ("ck803efh", ck803efh, ck803efh, CK803,
99 CSKY_ISA_FEAT (CSKY_ISA_DSP))
100 CSKY_CORE ("ck803ft", ck803ft, ck803ft, CK803,
101 CSKY_ISA_FEAT_NONE)
102 CSKY_CORE ("ck803eft", ck803eft, ck803eft, CK803,
103 CSKY_ISA_FEAT (CSKY_ISA_DSP))
104 CSKY_CORE ("ck803efht", ck803efht, ck803efht, CK803,
105 CSKY_ISA_FEAT (CSKY_ISA_DSP))
106 CSKY_CORE ("ck803r1", ck803r1, ck803r1, CK803,
107 CSKY_ISA_FEAT (isa_bit_3E3r1))
108 CSKY_CORE ("ck803hr1", ck803hr1, ck803hr1, CK803,
109 CSKY_ISA_FEAT (isa_bit_3E3r1))
110 CSKY_CORE ("ck803tr1", ck803tr1, ck803tr1, CK803,
111 CSKY_ISA_FEAT (isa_bit_3E3r1))
112 CSKY_CORE ("ck803htr1", ck803htr1, ck803htr1, CK803,
113 CSKY_ISA_FEAT (isa_bit_3E3r1))
114 CSKY_CORE ("ck803fr1", ck803fr1, ck803fr1, CK803,
115 CSKY_ISA_FEAT (isa_bit_3E3r1))
116 CSKY_CORE ("ck803fhr1", ck803fhr1, ck803fhr1, CK803,
117 CSKY_ISA_FEAT (isa_bit_3E3r1))
118 CSKY_CORE ("ck803er1", ck803er1, ck803er1, CK803,
119 CSKY_ISA_FEAT (isa_bit_3E3r1))
120 CSKY_CORE ("ck803ehr1", ck803ehr1, ck803ehr1, CK803,
121 CSKY_ISA_FEAT (isa_bit_3E3r1))
122 CSKY_CORE ("ck803etr1", ck803etr1, ck803etr1, CK803,
123 CSKY_ISA_FEAT (isa_bit_3E3r1))
124 CSKY_CORE ("ck803ehtr1", ck803ehtr1, ck803ehtr1, CK803,
125 CSKY_ISA_FEAT (isa_bit_3E3r1))
126 CSKY_CORE ("ck803efr1", ck803efr1, ck803efr1, CK803,
127 CSKY_ISA_FEAT (isa_bit_3E3r1))
128 CSKY_CORE ("ck803efhr1", ck803efhr1, ck803efhr1, CK803,
129 CSKY_ISA_FEAT (isa_bit_3E3r1))
130 CSKY_CORE ("ck803ftr1", ck803ftr1, ck803ftr1, CK803,
131 CSKY_ISA_FEAT (isa_bit_3E3r1))
132 CSKY_CORE ("ck803eftr1", ck803eftr1, ck803eftr1, CK803,
133 CSKY_ISA_FEAT (isa_bit_3E3r1))
134 CSKY_CORE ("ck803efhtr1", ck803efhtr1, ck803efhtr1, CK803,
135 CSKY_ISA_FEAT (isa_bit_3E3r1))
137 /* ck803s Architecture Processors */
138 CSKY_CORE ("ck803s", ck803s, ck803s, CK803,
139 CSKY_ISA_FEAT_NONE)
140 CSKY_CORE ("ck803st", ck803st, ck803st, CK803,
141 CSKY_ISA_FEAT_NONE)
142 CSKY_CORE ("ck803se", ck803se, ck803se, CK803,
143 CSKY_ISA_FEAT (CSKY_ISA_DSP))
144 CSKY_CORE ("ck803sf", ck803sf, ck803sf, CK803,
145 CSKY_ISA_FEAT_NONE)
146 CSKY_CORE ("ck803sef", ck803sef, ck803sef, CK803,
147 CSKY_ISA_FEAT (CSKY_ISA_DSP))
148 CSKY_CORE ("ck803seft", ck803seft, ck803seft, CK803,
149 CSKY_ISA_FEAT (CSKY_ISA_DSP))
151 /* ck807 Architecture Processors */
152 CSKY_CORE ("ck807e", ck807e, ck807e, CK807,
153 CSKY_ISA_FEAT_NONE)
154 CSKY_CORE ("ck807ef", ck807ef, ck807ef, CK807,
155 CSKY_ISA_FEAT_NONE)
156 CSKY_CORE ("ck807", ck807, ck807, CK807,
157 CSKY_ISA_FEAT_NONE)
158 CSKY_CORE ("ck807f", ck807f, ck807f, CK807,
159 CSKY_ISA_FEAT_NONE)
161 /* ck810 Architecture Processors */
162 CSKY_CORE ("ck810e", ck810e, ck810e, CK810,
163 CSKY_ISA_FEAT_NONE)
164 CSKY_CORE ("ck810et", ck810et, ck810et, CK810,
165 CSKY_ISA_FEAT_NONE)
166 CSKY_CORE ("ck810ef", ck810ef, ck810ef, CK810,
167 CSKY_ISA_FEAT_NONE)
168 CSKY_CORE ("ck810eft", ck810eft, ck810eft, CK810,
169 CSKY_ISA_FEAT_NONE)
170 CSKY_CORE ("ck810", ck810, ck810, CK810,
171 CSKY_ISA_FEAT_NONE)
172 CSKY_CORE ("ck810v", ck810v, ck810v, CK810,
173 CSKY_ISA_FEAT_NONE)
174 CSKY_CORE ("ck810f", ck810f, ck810f, CK810,
175 CSKY_ISA_FEAT_NONE)
176 CSKY_CORE ("ck810t", ck810t, ck810t, CK810,
177 CSKY_ISA_FEAT_NONE)
178 CSKY_CORE ("ck810fv", ck810fv, ck810fv, CK810,
179 CSKY_ISA_FEAT_NONE)
180 CSKY_CORE ("ck810tv", ck810tv, ck810tv, CK810,
181 CSKY_ISA_FEAT_NONE)
182 CSKY_CORE ("ck810ft", ck810ff, ck810ft, CK810,
183 CSKY_ISA_FEAT_NONE)
184 CSKY_CORE ("ck810ftv", ck810ftv, ck810ftv, CK810,
185 CSKY_ISA_FEAT_NONE)
187 /* ck860 Architecture Processors */
188 CSKY_CORE("ck860", ck860, ck860, CK860,
189 CSKY_ISA_FEAT_NONE)
190 CSKY_CORE("ck860f", ck860f, ck860f, CK860,
191 CSKY_ISA_FEAT_NONE)
192 #endif
195 /* Before using #include to read this file, define a macro:
197 CSKY_FPU(NAME, CNAME, ISA)
199 NAME is the publicly visible option name.
200 CNAME is a C-compatible variable name substring.
201 ISA is the list of feature bits that this FPU provides. */
203 #ifdef CSKY_FPU
204 CSKY_FPU ("fpv2_sf", fpv2_sf, CSKY_ISA_FEAT (CSKY_ISA_FPv2_SF))
205 CSKY_FPU ("fpv2", fpv2, CSKY_ISA_FEAT (CSKY_ISA_FPv2))
206 CSKY_FPU ("fpv2_divd", fpv2_divd, CSKY_ISA_FEAT (CSKY_ISA_FPv2_DIVD))
208 CSKY_FPU ("fpv3_hf", fpv3_hf, CSKY_ISA_FEAT (CSKY_ISA_FPv3_HF))
209 CSKY_FPU ("fpv3_hsf", fpv3_hsf, CSKY_ISA_FEAT (CSKY_ISA_FPv3_HSF))
210 CSKY_FPU ("fpv3_sdf", fpv3_sdf, CSKY_ISA_FEAT (CSKY_ISA_FPv3_SDF))
211 CSKY_FPU ("fpv3", fpv3, CSKY_ISA_FEAT (CSKY_ISA_FPv3))
212 #endif