1//===- CSKYTargetParser.def - CSKY target parsing defines -------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file provides defines to build up the CSKY target parser's logic.
10//
11//===----------------------------------------------------------------------===//
12
13// NOTE: NO INCLUDE GUARD DESIRED!
14
15#ifndef CSKY_FPU
16#define CSKY_FPU(NAME, KIND, VERSION)
17#endif
18CSKY_FPU("invalid", FK_INVALID, FPUVersion::NONE)
19CSKY_FPU("auto", FK_AUTO, FPUVersion::FPV2)
20CSKY_FPU("fpv2", FK_FPV2, FPUVersion::FPV2)
21CSKY_FPU("fpv2_divd", FK_FPV2_DIVD, FPUVersion::FPV2)
22CSKY_FPU("fpv2_sf", FK_FPV2_SF, FPUVersion::FPV2)
23CSKY_FPU("fpv3", FK_FPV3, FPUVersion::FPV3)
24CSKY_FPU("fpv3_hf", FK_FPV3_HF, FPUVersion::FPV3)
25CSKY_FPU("fpv3_hsf", FK_FPV3_HSF, FPUVersion::FPV3)
26CSKY_FPU("fpv3_sdf", FK_FPV3_SDF, FPUVersion::FPV3)
27
28#undef CSKY_FPU
29
30#ifndef CSKY_ARCH
31#define CSKY_ARCH(NAME, ID, ARCH_BASE_EXT)
32#endif
33CSKY_ARCH("invalid", INVALID, CSKY::AEK_INVALID)
34CSKY_ARCH("ck801", CK801, CSKY::MAEK_E1 | CSKY::AEK_TRUST)
35CSKY_ARCH("ck802", CK802, CSKY::MAEK_E2 | CSKY::AEK_TRUST | CSKY::AEK_NVIC)
36CSKY_ARCH("ck803", CK803,
37 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
38 CSKY::AEK_HWDIV)
39CSKY_ARCH("ck803s", CK803S,
40 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
41 CSKY::AEK_HWDIV)
42CSKY_ARCH("ck804", CK804,
43 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
44 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
45CSKY_ARCH("ck805", CK805,
46 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
47 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG | CSKY::MAEK_3E3R2 |
48 CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3)
49CSKY_ARCH("ck807", CK807,
50 CSKY::MAEK_3E7 | CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
51 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
52 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
53 CSKY::AEK_NVIC | CSKY::AEK_CACHE)
54CSKY_ARCH("ck810", CK810,
55 CSKY::MAEK_7E10 | CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
56 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
57 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
58 CSKY::AEK_NVIC | CSKY::AEK_CACHE)
59CSKY_ARCH("ck810v", CK810V,
60 CSKY::MAEK_7E10 | CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
61 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
62 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
63 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1)
64CSKY_ARCH("ck860", CK860,
65 CSKY::MAEK_10E60 | CSKY::MAEK_MP | CSKY::MAEK_MP1E2 |
66 CSKY::AEK_TRUST | CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 |
67 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
68 CSKY::AEK_CACHE | CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
69CSKY_ARCH("ck860v", CK860V,
70 CSKY::MAEK_10E60 | CSKY::MAEK_MP | CSKY::MAEK_MP1E2 |
71 CSKY::AEK_TRUST | CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 |
72 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
73 CSKY::AEK_CACHE | CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
74 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E60F)
75#undef CSKY_ARCH
76
77#ifndef CSKY_ARCH_EXT_NAME
78#define CSKY_ARCH_EXT_NAME(NAME, ID, FEATURE, NEGFEATURE)
79#endif
80CSKY_ARCH_EXT_NAME("invalid", CSKY::AEK_INVALID, nullptr, nullptr)
81CSKY_ARCH_EXT_NAME("none", CSKY::AEK_NONE, nullptr, nullptr)
82CSKY_ARCH_EXT_NAME("fpuv2_sf", CSKY::AEK_FPUV2SF, "+fpuv2_sf", "-fpuv2_sf")
83CSKY_ARCH_EXT_NAME("fpuv2_df", CSKY::AEK_FPUV2DF, "+fpuv2_df", "-fpuv2_df")
84CSKY_ARCH_EXT_NAME("fdivdu", CSKY::AEK_FDIVDU, "+fdivdu", "-fdivdu")
85CSKY_ARCH_EXT_NAME("fpuv3_hi", CSKY::AEK_FPUV3HI, "+fpuv3_hi", "-fpuv3_hi")
86CSKY_ARCH_EXT_NAME("fpuv3_hf", CSKY::AEK_FPUV3HF, "+fpuv3_hf", "-fpuv3_hf")
87CSKY_ARCH_EXT_NAME("fpuv3_sf", CSKY::AEK_FPUV3SF, "+fpuv3_sf", "-fpuv3_sf")
88CSKY_ARCH_EXT_NAME("fpuv3_df", CSKY::AEK_FPUV3DF, "+fpuv3_df", "-fpuv3_df")
89CSKY_ARCH_EXT_NAME("floate1", CSKY::AEK_FLOATE1, "+floate1", "-floate1")
90CSKY_ARCH_EXT_NAME("float1e2", CSKY::AEK_FLOAT1E2, "+float1e2", "-float1e2")
91CSKY_ARCH_EXT_NAME("float1e3", CSKY::AEK_FLOAT1E3, "+float1e3", "-float1e3")
92CSKY_ARCH_EXT_NAME("float3e4", CSKY::AEK_FLOAT3E4, "+float3e4", "-float3e4")
93CSKY_ARCH_EXT_NAME("float7e60", CSKY::AEK_FLOAT7E60, "+float7e60", "-float7e60")
94CSKY_ARCH_EXT_NAME("hwdiv", CSKY::AEK_HWDIV, "+hwdiv", "-hwdiv")
95CSKY_ARCH_EXT_NAME("multiple_stld", CSKY::AEK_STLD, "+multiple_stld",
96 "-multiple_stld")
97CSKY_ARCH_EXT_NAME("pushpop", CSKY::AEK_PUSHPOP, "+pushpop", "-pushpop")
98CSKY_ARCH_EXT_NAME("edsp", CSKY::AEK_EDSP, "+edsp", "-edsp")
99CSKY_ARCH_EXT_NAME("dsp1e2", CSKY::AEK_DSP1E2, "+dsp1e2", "-dsp1e2")
100CSKY_ARCH_EXT_NAME("dspe60", CSKY::AEK_DSPE60, "+dspe60", "-dspe60")
101CSKY_ARCH_EXT_NAME("dspv2", CSKY::AEK_DSPV2, "+dspv2", "-dspv2")
102CSKY_ARCH_EXT_NAME("dsp_silan", CSKY::AEK_DSPSILAN, "+dsp_silan", "-dsp_silan")
103CSKY_ARCH_EXT_NAME("elrw", CSKY::AEK_ELRW, "+elrw", "-elrw")
104CSKY_ARCH_EXT_NAME("trust", CSKY::AEK_TRUST, "+trust", "-trust")
105CSKY_ARCH_EXT_NAME("java", CSKY::AEK_JAVA, "+java", "-java")
106CSKY_ARCH_EXT_NAME("cache", CSKY::AEK_CACHE, "+cache", "-cache")
107CSKY_ARCH_EXT_NAME("nvic", CSKY::AEK_NVIC, "+nvic", "-nvic")
108CSKY_ARCH_EXT_NAME("doloop", CSKY::AEK_DOLOOP, "+doloop", "-doloop")
109CSKY_ARCH_EXT_NAME("high-registers", CSKY::AEK_HIGHREG, "+high-registers",
110 "-high-registers")
111CSKY_ARCH_EXT_NAME("smart", CSKY::AEK_SMART, "+smart", "-smart")
112CSKY_ARCH_EXT_NAME("vdsp2e3", CSKY::AEK_VDSP2E3, "+vdsp2e3", "-vdsp2e3")
113CSKY_ARCH_EXT_NAME("vdsp2e60f", CSKY::AEK_VDSP2E60F, "+vdsp2e60f", "-vdsp2e60f")
114CSKY_ARCH_EXT_NAME("vdspv2", CSKY::AEK_VDSPV2, "+vdspv2", "-vdspv2")
115CSKY_ARCH_EXT_NAME("hard-tp", CSKY::AEK_HARDTP, "+hard-tp", "-hard-tp")
116CSKY_ARCH_EXT_NAME("soft-tp", CSKY::AEK_SOFTTP, "+soft-tp", "-soft-tp")
117CSKY_ARCH_EXT_NAME("istack", CSKY::AEK_ISTACK, "+istack", "-istack")
118CSKY_ARCH_EXT_NAME("constpool", CSKY::AEK_CONSTPOOL, "+constpool", "-constpool")
119CSKY_ARCH_EXT_NAME("stack-size", CSKY::AEK_STACKSIZE, "+stack-size",
120 "-stack-size")
121CSKY_ARCH_EXT_NAME("ccrt", CSKY::AEK_CCRT, "+ccrt", "-ccrt")
122CSKY_ARCH_EXT_NAME("vdspv1", CSKY::AEK_VDSPV1, "+vdspv1", "-vdspv1")
123
124CSKY_ARCH_EXT_NAME("e1", CSKY::AEK_E1, "+e1", "-e1")
125CSKY_ARCH_EXT_NAME("e2", CSKY::AEK_E2, "+e2", "-e2")
126CSKY_ARCH_EXT_NAME("2e3", CSKY::AEK_2E3, "+2e3", "-2e3")
127CSKY_ARCH_EXT_NAME("mp", CSKY::AEK_MP, "+mp", "-mp")
128CSKY_ARCH_EXT_NAME("3e3r1", CSKY::AEK_3E3R1, "+3e3r1", "-3e3r1")
129CSKY_ARCH_EXT_NAME("3e3r2", CSKY::AEK_3E3R2, "+3e3r2", "-3e3r2")
130CSKY_ARCH_EXT_NAME("3e3r3", CSKY::AEK_3E3R3, "+3e3r3", "-3e3r3")
131CSKY_ARCH_EXT_NAME("3e7", CSKY::AEK_3E7, "+3e7", "-3e7")
132CSKY_ARCH_EXT_NAME("mp1e2", CSKY::AEK_MP1E2, "+mp1e2", "-mp1e2")
133CSKY_ARCH_EXT_NAME("7e10", CSKY::AEK_7E10, "+7e10", "-7e10")
134CSKY_ARCH_EXT_NAME("10e60", CSKY::AEK_10E60, "+10e60", "-10e60")
135
136#undef CSKY_ARCH_EXT_NAME
137
138#ifndef CSKY_CPU_NAME
139#define CSKY_CPU_NAME(NAME, ARCH_ID, DEFAULT_EXT)
140#endif
141
142CSKY_CPU_NAME("ck801", CK801, CSKY::AEK_NONE)
143CSKY_CPU_NAME("ck801t", CK801, CSKY::AEK_NONE)
144CSKY_CPU_NAME("e801", CK801, CSKY::AEK_NONE)
145
146CSKY_CPU_NAME("ck802", CK802, CSKY::AEK_NONE)
147CSKY_CPU_NAME("ck802t", CK802, CSKY::AEK_NONE)
148CSKY_CPU_NAME("ck802j", CK802, CSKY::AEK_JAVA)
149CSKY_CPU_NAME("e802", CK802, CSKY::AEK_NONE)
150CSKY_CPU_NAME("e802t", CK802, CSKY::AEK_NONE)
151CSKY_CPU_NAME("s802", CK802, CSKY::AEK_NONE)
152CSKY_CPU_NAME("s802t", CK802, CSKY::AEK_NONE)
153
154CSKY_CPU_NAME("ck803", CK803, CSKY::AEK_NONE)
155CSKY_CPU_NAME("ck803h", CK803, CSKY::AEK_NONE)
156CSKY_CPU_NAME("ck803t", CK803, CSKY::AEK_NONE)
157CSKY_CPU_NAME("ck803ht", CK803, CSKY::AEK_NONE)
158CSKY_CPU_NAME("ck803f", CK803,
159 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
160CSKY_CPU_NAME("ck803fh", CK803,
161 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
162CSKY_CPU_NAME("ck803e", CK803,
163 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
164CSKY_CPU_NAME("ck803eh", CK803,
165 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
166CSKY_CPU_NAME("ck803et", CK803,
167 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
168CSKY_CPU_NAME("ck803eht", CK803,
169 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
170CSKY_CPU_NAME("ck803ef", CK803,
171 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
172 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
173CSKY_CPU_NAME("ck803efh", CK803,
174 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
175 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
176CSKY_CPU_NAME("ck803ft", CK803,
177 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
178CSKY_CPU_NAME("ck803eft", CK803,
179 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
180 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
181CSKY_CPU_NAME("ck803efht", CK803,
182 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
183 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
184CSKY_CPU_NAME("ck803r1", CK803,
185 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
186CSKY_CPU_NAME("ck803r2", CK803,
187 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
188CSKY_CPU_NAME("ck803r3", CK803,
189 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
190CSKY_CPU_NAME("ck803hr1", CK803,
191 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
192CSKY_CPU_NAME("ck803hr2", CK803,
193 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
194CSKY_CPU_NAME("ck803hr3", CK803,
195 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
196CSKY_CPU_NAME("ck803tr1", CK803,
197 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
198CSKY_CPU_NAME("ck803tr2", CK803,
199 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
200CSKY_CPU_NAME("ck803tr3", CK803,
201 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
202CSKY_CPU_NAME("ck803htr1", CK803,
203 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
204CSKY_CPU_NAME("ck803htr2", CK803,
205 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
206CSKY_CPU_NAME("ck803htr3", CK803,
207 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2)
208CSKY_CPU_NAME("ck803fr1", CK803,
209 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
210 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
211CSKY_CPU_NAME("ck803fr2", CK803,
212 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
213 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
214CSKY_CPU_NAME("ck803fr3", CK803,
215 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
216 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
217CSKY_CPU_NAME("ck803fhr1", CK803,
218 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
219 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
220CSKY_CPU_NAME("ck803fhr2", CK803,
221 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
222 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
223CSKY_CPU_NAME("ck803fhr3", CK803,
224 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
225 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
226CSKY_CPU_NAME("ck803er1", CK803,
227 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
228 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
229 CSKY::AEK_HIGHREG)
230CSKY_CPU_NAME("ck803er2", CK803,
231 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
232 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
233 CSKY::AEK_HIGHREG)
234CSKY_CPU_NAME("ck803er3", CK803,
235 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
236 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
237 CSKY::AEK_HIGHREG)
238CSKY_CPU_NAME("ck803ehr1", CK803,
239 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
240 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
241 CSKY::AEK_HIGHREG)
242CSKY_CPU_NAME("ck803ehr2", CK803,
243 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
244 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
245 CSKY::AEK_HIGHREG)
246CSKY_CPU_NAME("ck803ehr3", CK803,
247 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
248 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
249 CSKY::AEK_HIGHREG)
250CSKY_CPU_NAME("ck803etr1", CK803,
251 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
252 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
253 CSKY::AEK_HIGHREG)
254CSKY_CPU_NAME("ck803etr2", CK803,
255 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
256 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
257 CSKY::AEK_HIGHREG)
258CSKY_CPU_NAME("ck803etr3", CK803,
259 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
260 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
261 CSKY::AEK_HIGHREG)
262CSKY_CPU_NAME("ck803ehtr1", CK803,
263 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
264 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
265 CSKY::AEK_HIGHREG)
266CSKY_CPU_NAME("ck803ehtr2", CK803,
267 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
268 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
269 CSKY::AEK_HIGHREG)
270CSKY_CPU_NAME("ck803ehtr3", CK803,
271 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
272 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
273 CSKY::AEK_HIGHREG)
274CSKY_CPU_NAME("ck803efr1", CK803,
275 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
276 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
277 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
278 CSKY::AEK_HIGHREG)
279CSKY_CPU_NAME("ck803efr2", CK803,
280 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
281 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
282 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
283 CSKY::AEK_HIGHREG)
284CSKY_CPU_NAME("ck803efr3", CK803,
285 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
286 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
287 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
288 CSKY::AEK_HIGHREG)
289CSKY_CPU_NAME("ck803efhr1", CK803,
290 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
291 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
292 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
293 CSKY::AEK_HIGHREG)
294CSKY_CPU_NAME("ck803efhr2", CK803,
295 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
296 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
297 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
298 CSKY::AEK_HIGHREG)
299CSKY_CPU_NAME("ck803efhr3", CK803,
300 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
301 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
302 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
303 CSKY::AEK_HIGHREG)
304CSKY_CPU_NAME("ck803ftr1", CK803,
305 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
306 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
307CSKY_CPU_NAME("ck803ftr2", CK803,
308 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
309 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
310CSKY_CPU_NAME("ck803ftr3", CK803,
311 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
312 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
313CSKY_CPU_NAME("ck803eftr1", CK803,
314 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
315 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
316 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
317 CSKY::AEK_HIGHREG)
318CSKY_CPU_NAME("ck803eftr2", CK803,
319 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
320 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
321 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
322 CSKY::AEK_HIGHREG)
323CSKY_CPU_NAME("ck803eftr3", CK803,
324 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
325 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
326 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
327 CSKY::AEK_HIGHREG)
328CSKY_CPU_NAME("ck803efhtr1", CK803,
329 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
330 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
331 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
332 CSKY::AEK_HIGHREG)
333CSKY_CPU_NAME("ck803efhtr2", CK803,
334 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
335 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
336 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
337 CSKY::AEK_HIGHREG)
338CSKY_CPU_NAME("ck803efhtr3", CK803,
339 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
340 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
341 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
342 CSKY::AEK_HIGHREG)
343CSKY_CPU_NAME("s803", CK803, CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
344CSKY_CPU_NAME("s803t", CK803, CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
345CSKY_CPU_NAME("e803", CK803, CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
346CSKY_CPU_NAME("e803t", CK803, CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3)
347
348CSKY_CPU_NAME("ck803s", CK803S, CSKY::AEK_NONE)
349CSKY_CPU_NAME("ck803st", CK803S, CSKY::AEK_NONE)
350CSKY_CPU_NAME("ck803se", CK803S,
351 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
352CSKY_CPU_NAME("ck803sf", CK803S,
353 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
354CSKY_CPU_NAME("ck803sef", CK803S,
355 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
356 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
357CSKY_CPU_NAME("ck803seft", CK803S,
358 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
359 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
360
361CSKY_CPU_NAME("ck804", CK804, CSKY::AEK_NONE)
362CSKY_CPU_NAME("ck804h", CK804, CSKY::AEK_NONE)
363CSKY_CPU_NAME("ck804t", CK804, CSKY::AEK_NONE)
364CSKY_CPU_NAME("ck804ht", CK804, CSKY::AEK_NONE)
365CSKY_CPU_NAME("ck804f", CK804,
366 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
367CSKY_CPU_NAME("ck804fh", CK804,
368 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
369CSKY_CPU_NAME("ck804e", CK804,
370 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
371 CSKY::AEK_HIGHREG)
372CSKY_CPU_NAME("ck804eh", CK804,
373 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
374 CSKY::AEK_HIGHREG)
375CSKY_CPU_NAME("ck804et", CK804,
376 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
377 CSKY::AEK_HIGHREG)
378CSKY_CPU_NAME("ck804eht", CK804,
379 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
380 CSKY::AEK_HIGHREG)
381CSKY_CPU_NAME("ck804ef", CK804,
382 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
383 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
384 CSKY::AEK_HIGHREG)
385CSKY_CPU_NAME("ck804efh", CK804,
386 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
387 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
388 CSKY::AEK_HIGHREG)
389CSKY_CPU_NAME("ck804ft", CK804,
390 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
391CSKY_CPU_NAME("ck804eft", CK804,
392 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
393 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
394 CSKY::AEK_HIGHREG)
395CSKY_CPU_NAME("ck804efht", CK804,
396 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
397 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
398 CSKY::AEK_HIGHREG)
399CSKY_CPU_NAME("e804d", CK804,
400 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
401 CSKY::AEK_HIGHREG)
402CSKY_CPU_NAME("e804dt", CK804,
403 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
404 CSKY::AEK_HIGHREG)
405CSKY_CPU_NAME("e804f", CK804,
406 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
407CSKY_CPU_NAME("e804ft", CK804,
408 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
409CSKY_CPU_NAME("e804df", CK804,
410 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
411 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
412 CSKY::AEK_HIGHREG)
413CSKY_CPU_NAME("e804dft", CK804,
414 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
415 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
416 CSKY::AEK_HIGHREG)
417
418CSKY_CPU_NAME("ck805", CK805, CSKY::AEK_NONE)
419CSKY_CPU_NAME("ck805e", CK805,
420 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3)
421CSKY_CPU_NAME("ck805f", CK805,
422 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
423CSKY_CPU_NAME("ck805t", CK805, CSKY::AEK_NONE)
424CSKY_CPU_NAME("ck805ef", CK805,
425 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
426 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
427CSKY_CPU_NAME("ck805et", CK805,
428 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3)
429CSKY_CPU_NAME("ck805ft", CK805,
430 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
431CSKY_CPU_NAME("ck805eft", CK805,
432 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3 |
433 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3)
434CSKY_CPU_NAME("i805", CK805, CSKY::AEK_NONE)
435CSKY_CPU_NAME("i805f", CK805,
436 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E3)
437
438CSKY_CPU_NAME("ck807", CK807, CSKY::AEK_NONE)
439CSKY_CPU_NAME("ck807e", CK807,
440 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60)
441CSKY_CPU_NAME("ck807f", CK807,
442 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
443 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
444 CSKY::AEK_FLOAT3E4)
445CSKY_CPU_NAME("ck807ef", CK807,
446 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
447 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
448 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
449 CSKY::AEK_FLOAT3E4)
450CSKY_CPU_NAME("c807", CK807, CSKY::AEK_NONE)
451CSKY_CPU_NAME("c807f", CK807,
452 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
453 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
454 CSKY::AEK_FLOAT3E4)
455CSKY_CPU_NAME("r807", CK807, CSKY::AEK_NONE)
456CSKY_CPU_NAME("r807f", CK807,
457 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
458 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
459 CSKY::AEK_FLOAT3E4)
460
461CSKY_CPU_NAME("ck810e", CK810, CSKY::AEK_NONE)
462CSKY_CPU_NAME("ck810et", CK810, CSKY::AEK_NONE)
463CSKY_CPU_NAME("ck810ef", CK810,
464 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
465 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
466CSKY_CPU_NAME("ck810eft", CK810,
467 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
468 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
469CSKY_CPU_NAME("ck810", CK810, CSKY::AEK_NONE)
470CSKY_CPU_NAME("ck810f", CK810,
471 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
472 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
473CSKY_CPU_NAME("ck810t", CK810, CSKY::AEK_NONE)
474CSKY_CPU_NAME("ck810ft", CK810,
475 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
476 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
477CSKY_CPU_NAME("c810", CK810,
478 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
479 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
480CSKY_CPU_NAME("c810t", CK810,
481 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
482 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
483
484CSKY_CPU_NAME("ck810v", CK810V, CSKY::AEK_NONE)
485CSKY_CPU_NAME("ck810ev", CK810V, CSKY::AEK_NONE)
486CSKY_CPU_NAME("ck810tv", CK810V, CSKY::AEK_NONE)
487CSKY_CPU_NAME("ck810etv", CK810V, CSKY::AEK_NONE)
488CSKY_CPU_NAME("c810v", CK810V,
489 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
490 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
491CSKY_CPU_NAME("ck810fv", CK810V,
492 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
493 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
494CSKY_CPU_NAME("ck810efv", CK810V,
495 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
496 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
497CSKY_CPU_NAME("ck810ftv", CK810V,
498 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
499 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
500CSKY_CPU_NAME("c810tv", CK810V,
501 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
502 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
503CSKY_CPU_NAME("c810eftv", CK810V,
504 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
505 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2)
506
507CSKY_CPU_NAME("ck860", CK860, CSKY::AEK_NONE)
508CSKY_CPU_NAME("ck860f", CK860,
509 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
510 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60)
511CSKY_CPU_NAME("c860", CK860,
512 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
513 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60)
514
515CSKY_CPU_NAME("ck860v", CK860V, CSKY::AEK_NONE)
516CSKY_CPU_NAME("ck860fv", CK860V,
517 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
518 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60)
519CSKY_CPU_NAME("c860v", CK860V,
520 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
521 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60)
522// Invalid CPU
523CSKY_CPU_NAME("invalid", INVALID, CSKY::AEK_INVALID)
524#undef CSKY_CPU_NAME
525

source code of llvm/include/llvm/TargetParser/CSKYTargetParser.def