1//===-------- CSKYTargetParser.cpp - CSKY Target Parser -------------------===//
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#include "llvm/TargetParser/CSKYTargetParser.h"
10#include "llvm/ADT/STLExtras.h"
11#include "llvm/ADT/StringExtras.h"
12#include "llvm/Support/CSKYAttributes.h"
13#include "llvm/Support/FormatVariadic.h"
14#include "llvm/TargetParser/TargetParser.h"
15#include "gtest/gtest.h"
16#include <string>
17
18using namespace llvm;
19
20namespace {
21
22std::string FormatExtensionFlags(uint64_t Flags) {
23 std::vector<StringRef> Features;
24
25 if (Flags & CSKY::AEK_NONE)
26 Features.push_back(x: "none");
27 CSKY::getExtensionFeatures(Extensions: Flags, Features);
28
29 Features.erase(first: std::remove_if(first: Features.begin(), last: Features.end(),
30 pred: [](StringRef extension) {
31 return extension.starts_with(Prefix: "-");
32 }),
33 last: Features.end());
34
35 return llvm::join(R&: Features, Separator: ", ");
36}
37
38testing::AssertionResult AssertSameExtensionFlags(const char *m_expr,
39 const char *n_expr,
40 uint64_t ExpectedFlags,
41 uint64_t GotFlags) {
42 if (ExpectedFlags == GotFlags)
43 return testing::AssertionSuccess();
44
45 return testing::AssertionFailure()
46 << llvm::formatv(Fmt: "Expected extension flags: {0} ({1:x})\n"
47 " Got extension flags: {2} ({3:x})\n",
48 Vals: FormatExtensionFlags(Flags: ExpectedFlags), Vals&: ExpectedFlags,
49 Vals: FormatExtensionFlags(Flags: GotFlags), Vals&: GotFlags);
50}
51
52struct CSKYCPUTestParams {
53 CSKYCPUTestParams(StringRef CPUName, StringRef ExpectedArch,
54 uint64_t ExpectedFlags)
55 : CPUName(CPUName), ExpectedArch(ExpectedArch),
56 ExpectedFlags(ExpectedFlags) {}
57
58 friend std::ostream &operator<<(std::ostream &os,
59 const CSKYCPUTestParams &params) {
60 return os << "\"" << params.CPUName.str() << "\", \""
61 << params.ExpectedArch.str() << "\", \"" << params.ExpectedFlags
62 << "\"";
63 }
64
65 StringRef CPUName;
66 StringRef ExpectedArch;
67 uint64_t ExpectedFlags;
68};
69
70class CSKYCPUTestFixture : public ::testing::TestWithParam<CSKYCPUTestParams> {
71};
72
73TEST_P(CSKYCPUTestFixture, CSKYCPUTests) {
74 auto params = GetParam();
75
76 CSKY::ArchKind AK = CSKY::parseCPUArch(CPU: params.CPUName);
77 EXPECT_EQ(params.ExpectedArch, CSKY::getArchName(AK));
78
79 uint64_t default_extensions = CSKY::getDefaultExtensions(CPU: params.CPUName);
80 EXPECT_PRED_FORMAT2(AssertSameExtensionFlags, params.ExpectedFlags,
81 default_extensions);
82}
83
84// Note that we include CSKY::AEK_NONE even when there are other extensions
85// we expect. This is because the default extensions for a CPU are the sum
86// of the default extensions for its architecture and for the CPU.
87// So if a CPU has no extra extensions, it adds AEK_NONE.
88INSTANTIATE_TEST_SUITE_P(
89 CSKYCPUTests, CSKYCPUTestFixture,
90 ::testing::Values(
91
92 CSKYCPUTestParams("ck801", "ck801",
93 CSKY::AEK_NONE | CSKY::MAEK_E1 | CSKY::AEK_TRUST),
94 CSKYCPUTestParams("ck801t", "ck801",
95 CSKY::AEK_NONE | CSKY::MAEK_E1 | CSKY::AEK_TRUST),
96 CSKYCPUTestParams("e801", "ck801",
97 CSKY::AEK_NONE | CSKY::MAEK_E1 | CSKY::AEK_TRUST),
98
99 CSKYCPUTestParams("ck802", "ck802",
100 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
101 CSKY::AEK_NVIC),
102 CSKYCPUTestParams("ck802t", "ck802",
103 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
104 CSKY::AEK_NVIC),
105 CSKYCPUTestParams("ck802j", "ck802",
106 CSKY::AEK_JAVA | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
107 CSKY::AEK_NVIC),
108 CSKYCPUTestParams("e802", "ck802",
109 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
110 CSKY::AEK_NVIC),
111 CSKYCPUTestParams("e802t", "ck802",
112 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
113 CSKY::AEK_NVIC),
114 CSKYCPUTestParams("s802", "ck802",
115 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
116 CSKY::AEK_NVIC),
117 CSKYCPUTestParams("s802t", "ck802",
118 CSKY::AEK_NONE | CSKY::MAEK_E2 | CSKY::AEK_TRUST |
119 CSKY::AEK_NVIC),
120
121 CSKYCPUTestParams("ck803", "ck803",
122 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
123 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
124 CSKY::AEK_HWDIV),
125 CSKYCPUTestParams("ck803h", "ck803",
126 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
127 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
128 CSKY::AEK_HWDIV),
129 CSKYCPUTestParams("ck803t", "ck803",
130 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
131 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
132 CSKY::AEK_HWDIV),
133 CSKYCPUTestParams("ck803ht", "ck803",
134 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
135 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
136 CSKY::AEK_HWDIV),
137 CSKYCPUTestParams("ck803f", "ck803",
138 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
139 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
140 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
141 CSKY::AEK_HWDIV),
142 CSKYCPUTestParams("ck803fh", "ck803",
143 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
144 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
145 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
146 CSKY::AEK_HWDIV),
147 CSKYCPUTestParams("ck803e", "ck803",
148 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
149 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
150 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
151 CSKYCPUTestParams("ck803eh", "ck803",
152 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
153 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
154 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
155 CSKYCPUTestParams("ck803et", "ck803",
156 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
157 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
158 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
159 CSKYCPUTestParams("ck803eht", "ck803",
160 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
161 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
162 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
163 CSKYCPUTestParams("ck803ef", "ck803",
164 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
165 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
166 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
167 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
168 CSKY::AEK_HWDIV),
169 CSKYCPUTestParams("ck803efh", "ck803",
170 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
171 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
172 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
173 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
174 CSKY::AEK_HWDIV),
175 CSKYCPUTestParams("ck803ft", "ck803",
176 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
177 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
178 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
179 CSKY::AEK_HWDIV),
180 CSKYCPUTestParams("ck803eft", "ck803",
181 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
182 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
183 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
184 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
185 CSKY::AEK_HWDIV),
186 CSKYCPUTestParams("ck803efht", "ck803",
187 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
188 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
189 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
190 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
191 CSKY::AEK_HWDIV),
192 CSKYCPUTestParams("ck803r1", "ck803",
193 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
194 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
195 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
196 CSKYCPUTestParams("ck803r2", "ck803",
197 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
198 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
199 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
200 CSKYCPUTestParams("ck803r3", "ck803",
201 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
202 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
203 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
204 CSKYCPUTestParams("ck803hr1", "ck803",
205 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
206 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
207 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
208 CSKYCPUTestParams("ck803hr2", "ck803",
209 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
210 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
211 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
212 CSKYCPUTestParams("ck803hr3", "ck803",
213 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
214 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
215 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
216 CSKYCPUTestParams("ck803tr1", "ck803",
217 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
218 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
219 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
220 CSKYCPUTestParams("ck803tr2", "ck803",
221 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
222 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
223 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
224 CSKYCPUTestParams("ck803tr3", "ck803",
225 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
226 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
227 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
228 CSKYCPUTestParams("ck803htr1", "ck803",
229 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
230 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
231 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
232 CSKYCPUTestParams("ck803htr2", "ck803",
233 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
234 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
235 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
236 CSKYCPUTestParams("ck803htr3", "ck803",
237 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
238 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
239 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
240 CSKYCPUTestParams("ck803fr1", "ck803",
241 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
242 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
243 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
244 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
245 CSKY::AEK_HWDIV),
246 CSKYCPUTestParams("ck803fr2", "ck803",
247 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
248 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
249 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
250 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
251 CSKY::AEK_HWDIV),
252 CSKYCPUTestParams("ck803fr3", "ck803",
253 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
254 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
255 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
256 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
257 CSKY::AEK_HWDIV),
258 CSKYCPUTestParams("ck803fhr1", "ck803",
259 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
260 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
261 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
262 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
263 CSKY::AEK_HWDIV),
264 CSKYCPUTestParams("ck803fhr2", "ck803",
265 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
266 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
267 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
268 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
269 CSKY::AEK_HWDIV),
270 CSKYCPUTestParams("ck803fhr3", "ck803",
271 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
272 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
273 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
274 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
275 CSKY::AEK_HWDIV),
276 CSKYCPUTestParams("ck803er1", "ck803",
277 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
278 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
279 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
280 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
281 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
282 CSKYCPUTestParams("ck803er2", "ck803",
283 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
284 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
285 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
286 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
287 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
288 CSKYCPUTestParams("ck803er3", "ck803",
289 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
290 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
291 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
292 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
293 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
294 CSKYCPUTestParams("ck803ehr1", "ck803",
295 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
296 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
297 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
298 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
299 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
300 CSKYCPUTestParams("ck803ehr2", "ck803",
301 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
302 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
303 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
304 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
305 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
306 CSKYCPUTestParams("ck803ehr3", "ck803",
307 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
308 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
309 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
310 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
311 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
312 CSKYCPUTestParams("ck803etr1", "ck803",
313 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
314 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
315 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
316 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
317 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
318 CSKYCPUTestParams("ck803etr2", "ck803",
319 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
320 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
321 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
322 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
323 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
324 CSKYCPUTestParams("ck803etr3", "ck803",
325 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
326 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
327 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
328 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
329 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
330 CSKYCPUTestParams("ck803ehtr1", "ck803",
331 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
332 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
333 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
334 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
335 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
336 CSKYCPUTestParams("ck803ehtr2", "ck803",
337 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
338 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
339 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
340 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
341 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
342 CSKYCPUTestParams("ck803ehtr3", "ck803",
343 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
344 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
345 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
346 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
347 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
348 CSKYCPUTestParams("ck803efr1", "ck803",
349 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
350 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
351 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
352 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
353 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
354 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
355 CSKY::AEK_HWDIV),
356 CSKYCPUTestParams("ck803efr2", "ck803",
357 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
358 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
359 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
360 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
361 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
362 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
363 CSKY::AEK_HWDIV),
364 CSKYCPUTestParams("ck803efr3", "ck803",
365 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
366 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
367 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
368 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
369 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
370 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
371 CSKY::AEK_HWDIV),
372 CSKYCPUTestParams("ck803efhr1", "ck803",
373 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
374 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
375 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
376 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
377 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
378 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
379 CSKY::AEK_HWDIV),
380 CSKYCPUTestParams("ck803efhr2", "ck803",
381 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
382 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
383 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
384 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
385 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
386 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
387 CSKY::AEK_HWDIV),
388 CSKYCPUTestParams("ck803efhr3", "ck803",
389 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
390 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
391 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
392 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
393 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
394 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
395 CSKY::AEK_HWDIV),
396 CSKYCPUTestParams("ck803ftr1", "ck803",
397 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
398 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
399 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
400 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
401 CSKY::AEK_HWDIV),
402 CSKYCPUTestParams("ck803ftr2", "ck803",
403 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
404 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
405 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
406 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
407 CSKY::AEK_HWDIV),
408 CSKYCPUTestParams("ck803ftr3", "ck803",
409 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
410 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
411 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
412 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
413 CSKY::AEK_HWDIV),
414 CSKYCPUTestParams("ck803eftr1", "ck803",
415 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
416 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
417 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
418 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
419 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
420 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
421 CSKY::AEK_HWDIV),
422 CSKYCPUTestParams("ck803eftr2", "ck803",
423 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
424 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
425 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
426 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
427 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
428 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
429 CSKY::AEK_HWDIV),
430 CSKYCPUTestParams("ck803eftr3", "ck803",
431 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
432 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
433 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
434 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
435 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
436 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
437 CSKY::AEK_HWDIV),
438 CSKYCPUTestParams("ck803efhtr1", "ck803",
439 CSKY::MAEK_3E3R1 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
440 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
441 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
442 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
443 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
444 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
445 CSKY::AEK_HWDIV),
446 CSKYCPUTestParams("ck803efhtr2", "ck803",
447 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
448 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
449 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
450 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
451 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
452 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
453 CSKY::AEK_HWDIV),
454 CSKYCPUTestParams("ck803efhtr3", "ck803",
455 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_DSPV2 |
456 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
457 CSKY::AEK_FLOAT1E3 | CSKY::AEK_EDSP |
458 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
459 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
460 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
461 CSKY::AEK_HWDIV),
462 CSKYCPUTestParams("s803", "ck803",
463 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::MAEK_2E3 |
464 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
465 CSKY::AEK_HWDIV),
466 CSKYCPUTestParams("s803t", "ck803",
467 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::MAEK_2E3 |
468 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
469 CSKY::AEK_HWDIV),
470 CSKYCPUTestParams("e803", "ck803",
471 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::MAEK_2E3 |
472 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
473 CSKY::AEK_HWDIV),
474 CSKYCPUTestParams("e803t", "ck803",
475 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::MAEK_2E3 |
476 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
477 CSKY::AEK_HWDIV),
478
479 CSKYCPUTestParams("ck803s", "ck803s",
480 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
481 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
482 CSKY::AEK_HWDIV),
483 CSKYCPUTestParams("ck803st", "ck803s",
484 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
485 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
486 CSKY::AEK_HWDIV),
487 CSKYCPUTestParams("ck803se", "ck803s",
488 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
489 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
490 CSKY::AEK_NVIC | CSKY::AEK_HWDIV),
491 CSKYCPUTestParams("ck803sf", "ck803s",
492 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
493 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
494 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
495 CSKY::AEK_HWDIV),
496 CSKYCPUTestParams("ck803sef", "ck803s",
497 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
498 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
499 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
500 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
501 CSKY::AEK_HWDIV),
502 CSKYCPUTestParams("ck803seft", "ck803s",
503 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
504 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
505 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
506 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
507 CSKY::AEK_HWDIV),
508
509 CSKYCPUTestParams("ck804", "ck804",
510 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
511 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
512 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
513 CSKY::AEK_3E3R3),
514 CSKYCPUTestParams("ck804h", "ck804",
515 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
516 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
517 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
518 CSKY::AEK_3E3R3),
519 CSKYCPUTestParams("ck804t", "ck804",
520 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
521 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
522 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
523 CSKY::AEK_3E3R3),
524 CSKYCPUTestParams("ck804ht", "ck804",
525 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
526 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
527 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
528 CSKY::AEK_3E3R3),
529 CSKYCPUTestParams("ck804f", "ck804",
530 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
531 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
532 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
533 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
534 CSKY::AEK_3E3R3),
535 CSKYCPUTestParams("ck804fh", "ck804",
536 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
537 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
538 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
539 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
540 CSKY::AEK_3E3R3),
541 CSKYCPUTestParams("ck804e", "ck804",
542 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
543 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
544 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
545 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
546 CSKY::AEK_3E3R3),
547 CSKYCPUTestParams("ck804eh", "ck804",
548 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
549 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
550 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
551 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
552 CSKY::AEK_3E3R3),
553 CSKYCPUTestParams("ck804et", "ck804",
554 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
555 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
556 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
557 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
558 CSKY::AEK_3E3R3),
559 CSKYCPUTestParams("ck804eht", "ck804",
560 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
561 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
562 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
563 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
564 CSKY::AEK_3E3R3),
565 CSKYCPUTestParams("ck804ef", "ck804",
566 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
567 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
568 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
569 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
570 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
571 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
572 CSKYCPUTestParams("ck804efh", "ck804",
573 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
574 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
575 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
576 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
577 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
578 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
579 CSKYCPUTestParams("ck804ft", "ck804",
580 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
581 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
582 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
583 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
584 CSKY::AEK_3E3R3),
585 CSKYCPUTestParams("ck804eft", "ck804",
586 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
587 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
588 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
589 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
590 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
591 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
592 CSKYCPUTestParams("ck804efht", "ck804",
593 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
594 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
595 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
596 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
597 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
598 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
599 CSKYCPUTestParams("e804d", "ck804",
600 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
601 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
602 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
603 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
604 CSKY::AEK_3E3R3),
605 CSKYCPUTestParams("e804dt", "ck804",
606 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
607 CSKY::AEK_HIGHREG | CSKY::MAEK_2E3 |
608 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
609 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
610 CSKY::AEK_3E3R3),
611 CSKYCPUTestParams("e804f", "ck804",
612 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
613 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
614 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
615 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
616 CSKY::AEK_3E3R3),
617 CSKYCPUTestParams("e804ft", "ck804",
618 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
619 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
620 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
621 CSKY::AEK_HWDIV | CSKY::MAEK_3E3R2 |
622 CSKY::AEK_3E3R3),
623 CSKYCPUTestParams("e804df", "ck804",
624 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
625 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
626 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
627 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
628 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
629 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
630 CSKYCPUTestParams("e804dft", "ck804",
631 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
632 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
633 CSKY::AEK_FLOAT1E3 | CSKY::AEK_HIGHREG |
634 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
635 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
636 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
637
638 CSKYCPUTestParams("ck805", "ck805",
639 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
640 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
641 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
642 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
643 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
644 CSKYCPUTestParams("ck805e", "ck805",
645 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
646 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
647 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
648 CSKY::AEK_HIGHREG | CSKY::MAEK_3E3R2 |
649 CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 |
650 CSKY::AEK_VDSP2E3),
651 CSKYCPUTestParams("ck805f", "ck805",
652 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
653 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
654 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
655 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
656 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
657 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
658 CSKYCPUTestParams("ck805t", "ck805",
659 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
660 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
661 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
662 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
663 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
664 CSKYCPUTestParams("ck805ef", "ck805",
665 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
666 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
667 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
668 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
669 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
670 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
671 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
672 CSKYCPUTestParams("ck805et", "ck805",
673 CSKY::AEK_DSPV2 | CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
674 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
675 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
676 CSKY::AEK_HIGHREG | CSKY::MAEK_3E3R2 |
677 CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 |
678 CSKY::AEK_VDSP2E3),
679 CSKYCPUTestParams("ck805ft", "ck805",
680 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
681 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
682 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
683 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
684 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
685 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
686 CSKYCPUTestParams("ck805eft", "ck805",
687 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
688 CSKY::AEK_FLOAT1E3 | CSKY::AEK_DSPV2 |
689 CSKY::AEK_3E3R1 | CSKY::AEK_3E3R3 |
690 CSKY::MAEK_2E3 | CSKY::AEK_MP | CSKY::AEK_TRUST |
691 CSKY::AEK_NVIC | CSKY::AEK_HWDIV |
692 CSKY::AEK_HIGHREG | CSKY::MAEK_3E3R2 |
693 CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 |
694 CSKY::AEK_VDSP2E3),
695 CSKYCPUTestParams("i805", "ck805",
696 CSKY::AEK_NONE | CSKY::MAEK_2E3 | CSKY::AEK_MP |
697 CSKY::AEK_TRUST | CSKY::AEK_NVIC |
698 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
699 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
700 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
701 CSKYCPUTestParams("i805f", "ck805",
702 CSKY::AEK_FPUV2SF | CSKY::AEK_FLOATE1 |
703 CSKY::AEK_FLOAT1E3 | CSKY::MAEK_2E3 |
704 CSKY::AEK_MP | CSKY::AEK_TRUST | CSKY::AEK_NVIC |
705 CSKY::AEK_HWDIV | CSKY::AEK_HIGHREG |
706 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
707 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E3),
708
709 CSKYCPUTestParams("ck807", "ck807",
710 CSKY::AEK_NONE | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
711 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
712 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
713 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
714 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
715 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
716 CSKYCPUTestParams("ck807e", "ck807",
717 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
718 CSKY::MAEK_3E7 | CSKY::MAEK_MP |
719 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
720 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
721 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
722 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
723 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
724 CSKYCPUTestParams(
725 "ck807f", "ck807",
726 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
727 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
728 CSKY::AEK_FLOAT3E4 | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
729 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST | CSKY::AEK_HWDIV |
730 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
731 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
732 CSKY::AEK_CACHE),
733 CSKYCPUTestParams(
734 "ck807ef", "ck807",
735 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
736 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
737 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
738 CSKY::AEK_FLOAT3E4 | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
739 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST | CSKY::AEK_HWDIV |
740 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
741 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
742 CSKY::AEK_CACHE),
743 CSKYCPUTestParams("c807", "ck807",
744 CSKY::AEK_NONE | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
745 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
746 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
747 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
748 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
749 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
750 CSKYCPUTestParams(
751 "c807f", "ck807",
752 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
753 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
754 CSKY::AEK_FLOAT3E4 | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
755 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST | CSKY::AEK_HWDIV |
756 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
757 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
758 CSKY::AEK_CACHE),
759
760 CSKYCPUTestParams("r807", "ck807",
761 CSKY::AEK_NONE | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
762 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
763 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
764 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
765 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
766 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
767 CSKYCPUTestParams(
768 "r807f", "ck807",
769 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
770 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::AEK_FLOAT1E3 |
771 CSKY::AEK_FLOAT3E4 | CSKY::MAEK_3E7 | CSKY::MAEK_MP |
772 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST | CSKY::AEK_HWDIV |
773 CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
774 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP | CSKY::AEK_NVIC |
775 CSKY::AEK_CACHE),
776
777 CSKYCPUTestParams("ck810e", "ck810",
778 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
779 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
780 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
781 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
782 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
783 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
784
785 CSKYCPUTestParams("ck810et", "ck810",
786 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
787 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
788 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
789 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
790 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
791 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
792 CSKYCPUTestParams(
793 "ck810ef", "ck810",
794 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
795 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
796 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
797 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
798 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
799 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
800 CSKYCPUTestParams(
801 "ck810eft", "ck810",
802 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
803 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
804 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
805 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
806 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
807 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
808 CSKYCPUTestParams("ck810", "ck810",
809 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
810 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
811 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
812 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
813 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
814 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
815 CSKYCPUTestParams(
816 "ck810f", "ck810",
817 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
818 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
819 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
820 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
821 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
822 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
823 CSKYCPUTestParams("ck810t", "ck810",
824 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
825 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
826 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
827 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
828 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
829 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
830 CSKYCPUTestParams(
831 "ck810ft", "ck810",
832 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
833 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
834 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
835 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
836 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
837 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
838 CSKYCPUTestParams(
839 "c810", "ck810",
840 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
841 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
842 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
843 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
844 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
845 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
846 CSKYCPUTestParams(
847 "c810t", "ck810",
848 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
849 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
850 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
851 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
852 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
853 CSKY::AEK_NVIC | CSKY::AEK_CACHE),
854
855 CSKYCPUTestParams("ck810v", "ck810v",
856 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
857 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
858 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
859 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
860 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
861 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
862 CSKY::AEK_VDSPV1),
863
864 CSKYCPUTestParams("ck810ev", "ck810v",
865 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
866 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
867 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
868 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
869 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
870 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
871 CSKY::AEK_VDSPV1),
872
873 CSKYCPUTestParams("ck810tv", "ck810v",
874 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
875 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
876 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
877 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
878 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
879 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
880 CSKY::AEK_VDSPV1),
881
882 CSKYCPUTestParams("ck810etv", "ck810v",
883 CSKY::AEK_NONE | CSKY::MAEK_7E10 | CSKY::MAEK_MP |
884 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
885 CSKY::AEK_HWDIV | CSKY::AEK_EDSP |
886 CSKY::AEK_DSP1E2 | CSKY::AEK_DSPE60 |
887 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
888 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
889 CSKY::AEK_VDSPV1),
890
891 CSKYCPUTestParams(
892 "c810v", "ck810v",
893 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
894 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
895 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
896 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
897 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
898 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
899
900 CSKYCPUTestParams(
901 "ck810fv", "ck810v",
902 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
903 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
904 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
905 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
906 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
907 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
908
909 CSKYCPUTestParams(
910 "ck810efv", "ck810v",
911 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
912 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
913 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
914 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
915 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
916 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
917
918 CSKYCPUTestParams(
919 "ck810ftv", "ck810v",
920 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
921 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
922 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
923 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
924 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
925 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
926
927 CSKYCPUTestParams(
928 "c810tv", "ck810v",
929 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
930 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
931 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
932 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
933 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
934 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
935
936 CSKYCPUTestParams(
937 "c810eftv", "ck810v",
938 CSKY::AEK_FPUV2SF | CSKY::AEK_FPUV2DF | CSKY::AEK_FDIVDU |
939 CSKY::AEK_FLOATE1 | CSKY::AEK_FLOAT1E2 | CSKY::MAEK_7E10 |
940 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
941 CSKY::AEK_HWDIV | CSKY::AEK_EDSP | CSKY::AEK_DSP1E2 |
942 CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
943 CSKY::AEK_NVIC | CSKY::AEK_CACHE | CSKY::AEK_VDSPV1),
944
945 CSKYCPUTestParams("ck860", "ck860",
946 CSKY::AEK_NONE | CSKY::MAEK_10E60 | CSKY::MAEK_MP |
947 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
948 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 |
949 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
950 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
951 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
952
953 CSKYCPUTestParams(
954 "ck860f", "ck860",
955 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
956 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60 | CSKY::MAEK_10E60 |
957 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
958 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
959 CSKY::AEK_HARDTP | CSKY::AEK_NVIC | CSKY::AEK_CACHE |
960 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
961
962 CSKYCPUTestParams(
963 "c860", "ck860",
964 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
965 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60 | CSKY::MAEK_10E60 |
966 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
967 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
968 CSKY::AEK_HARDTP | CSKY::AEK_NVIC | CSKY::AEK_CACHE |
969 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3),
970
971 CSKYCPUTestParams("ck860v", "ck860v",
972 CSKY::AEK_NONE | CSKY::MAEK_10E60 | CSKY::MAEK_MP |
973 CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
974 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 |
975 CSKY::AEK_HIGHREG | CSKY::AEK_HARDTP |
976 CSKY::AEK_NVIC | CSKY::AEK_CACHE |
977 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 |
978 CSKY::AEK_VDSPV2 | CSKY::AEK_VDSP2E60F),
979
980 CSKYCPUTestParams(
981 "ck860fv", "ck860v",
982 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
983 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60 | CSKY::MAEK_10E60 |
984 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
985 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
986 CSKY::AEK_HARDTP | CSKY::AEK_NVIC | CSKY::AEK_CACHE |
987 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 |
988 CSKY::AEK_VDSP2E60F),
989
990 CSKYCPUTestParams(
991 "c860v", "ck860v",
992 CSKY::AEK_FPUV3HI | CSKY::AEK_FPUV3HF | CSKY::AEK_FPUV3SF |
993 CSKY::AEK_FPUV3DF | CSKY::AEK_FLOAT7E60 | CSKY::MAEK_10E60 |
994 CSKY::MAEK_MP | CSKY::MAEK_MP1E2 | CSKY::AEK_TRUST |
995 CSKY::AEK_HWDIV | CSKY::AEK_DSPE60 | CSKY::AEK_HIGHREG |
996 CSKY::AEK_HARDTP | CSKY::AEK_NVIC | CSKY::AEK_CACHE |
997 CSKY::MAEK_3E3R2 | CSKY::AEK_3E3R3 | CSKY::AEK_VDSPV2 |
998 CSKY::AEK_VDSP2E60F)));
999
1000static constexpr unsigned NumCSKYCPUArchs = 145;
1001
1002TEST(TargetParserTest, testCSKYCPUArchList) {
1003 SmallVector<StringRef, NumCSKYCPUArchs> List;
1004 CSKY::fillValidCPUArchList(Values&: List);
1005
1006 // No list exists for these in this test suite, so ensure all are
1007 // valid, and match the expected 'magic' count.
1008 EXPECT_EQ(List.size(), NumCSKYCPUArchs);
1009 for (StringRef CPU : List) {
1010 EXPECT_NE(CSKY::parseCPUArch(CPU), CSKY::ArchKind::INVALID);
1011 }
1012}
1013
1014TEST(TargetParserTest, testInvalidCSKYArch) {
1015 auto InvalidArchStrings = {"ckv", "ckv99", "nock"};
1016 for (const char *InvalidArch : InvalidArchStrings)
1017 EXPECT_EQ(CSKY::parseArch(InvalidArch), CSKY::ArchKind::INVALID);
1018}
1019
1020bool testCSKYArch(StringRef Arch, StringRef DefaultCPU) {
1021 CSKY::ArchKind AK = CSKY::parseArch(Arch);
1022 bool Result = (AK != CSKY::ArchKind::INVALID);
1023 Result &= CSKY::getDefaultCPU(Arch).equals(RHS: DefaultCPU);
1024 return Result;
1025}
1026
1027TEST(TargetParserTest, testCSKYArch) {
1028 EXPECT_TRUE(testCSKYArch("ck801", "ck801"));
1029 EXPECT_TRUE(testCSKYArch("ck802", "ck802"));
1030 EXPECT_TRUE(testCSKYArch("ck803", "ck803"));
1031 EXPECT_TRUE(testCSKYArch("ck803s", "ck803s"));
1032 EXPECT_TRUE(testCSKYArch("ck804", "ck804"));
1033 EXPECT_TRUE(testCSKYArch("ck805", "ck805"));
1034 EXPECT_TRUE(testCSKYArch("ck807", "ck807"));
1035 EXPECT_TRUE(testCSKYArch("ck810", "ck810"));
1036 EXPECT_TRUE(testCSKYArch("ck810v", "ck810v"));
1037 EXPECT_TRUE(testCSKYArch("ck860", "ck860"));
1038 EXPECT_TRUE(testCSKYArch("ck860v", "ck860v"));
1039}
1040
1041TEST(TargetParserTest, CSKYFPUVersion) {
1042 for (CSKY::CSKYFPUKind FK = static_cast<CSKY::CSKYFPUKind>(0);
1043 FK <= CSKY::CSKYFPUKind::FK_LAST;
1044 FK = static_cast<CSKY::CSKYFPUKind>(static_cast<unsigned>(FK) + 1))
1045 if (FK == CSKY::FK_LAST || CSKY::getFPUName(FPUKind: FK) == "invalid")
1046 EXPECT_EQ(CSKY::FPUVersion::NONE, CSKY::getFPUVersion(FK));
1047 else
1048 EXPECT_NE(CSKY::FPUVersion::NONE, CSKY::getFPUVersion(FK));
1049}
1050
1051TEST(TargetParserTest, CSKYExtensionFeatures) {
1052 std::map<uint64_t, std::vector<StringRef>> Extensions;
1053
1054 for (auto &Ext : CSKY::CSKYARCHExtNames) {
1055 if (Ext.Feature && Ext.NegFeature)
1056 Extensions[Ext.ID] = {StringRef(Ext.Feature), StringRef(Ext.NegFeature)};
1057 }
1058
1059 std::vector<StringRef> Features;
1060
1061 EXPECT_FALSE(CSKY::getExtensionFeatures(CSKY::AEK_INVALID, Features));
1062
1063 for (auto &E : Extensions) {
1064 CSKY::getExtensionFeatures(Extensions: E.first, Features);
1065 EXPECT_TRUE(llvm::is_contained(Features, E.second.at(0)));
1066 }
1067
1068 EXPECT_EQ(Extensions.size(), Features.size());
1069}
1070
1071TEST(TargetParserTest, CSKYFPUFeatures) {
1072 std::vector<StringRef> Features;
1073 for (CSKY::CSKYFPUKind FK = static_cast<CSKY::CSKYFPUKind>(0);
1074 FK <= CSKY::CSKYFPUKind::FK_LAST;
1075 FK = static_cast<CSKY::CSKYFPUKind>(static_cast<unsigned>(FK) + 1)) {
1076 if (FK == CSKY::FK_INVALID || FK >= CSKY::FK_LAST)
1077 EXPECT_FALSE(CSKY::getFPUFeatures(FK, Features));
1078 else
1079 EXPECT_TRUE(CSKY::getFPUFeatures(FK, Features));
1080 }
1081}
1082
1083TEST(TargetParserTest, CSKYArchExtFeature) {
1084 const char *ArchExt[][4] = {
1085 {"fpuv2_sf", "nofpuv2_sf", "+fpuv2_sf", "-fpuv2_sf"},
1086 {"fpuv2_df", "nofpuv2_df", "+fpuv2_df", "-fpuv2_df"},
1087 {"fdivdu", "nofdivdu", "+fdivdu", "-fdivdu"},
1088 {"fpuv3_hi", "nofpuv3_hi", "+fpuv3_hi", "-fpuv3_hi"},
1089 {"fpuv3_hf", "nofpuv3_hf", "+fpuv3_hf", "-fpuv3_hf"},
1090 {"fpuv2_df", "nofpuv2_df", "+fpuv2_df", "-fpuv2_df"},
1091 {"fpuv3_sf", "nofpuv3_sf", "+fpuv3_sf", "-fpuv3_sf"},
1092 {"fpuv3_df", "nofpuv3_df", "+fpuv3_df", "-fpuv3_df"},
1093 {"floate1", "nofloate1", "+floate1", "-floate1"},
1094 {"float1e2", "nofloat1e2", "+float1e2", "-float1e2"},
1095 {"float1e3", "nofloat1e3", "+float1e3", "-float1e3"},
1096 {"float3e4", "nofloat3e4", "+float3e4", "-float3e4"},
1097 {"float7e60", "nofloat7e60", "+float7e60", "-float7e60"},
1098 {"hwdiv", "nohwdiv", "+hwdiv", "-hwdiv"},
1099 {"multiple_stld", "nomultiple_stld", "+multiple_stld", "-multiple_stld"},
1100 {"pushpop", "nopushpop", "+pushpop", "-pushpop"},
1101 {"edsp", "noedsp", "+edsp", "-edsp"},
1102 {"dsp1e2", "nodsp1e2", "+dsp1e2", "-dsp1e2"},
1103 {"dspe60", "nodspe60", "+dspe60", "-dspe60"},
1104 {"dspv2", "nodspv2", "+dspv2", "-dspv2"},
1105 {"dsp_silan", "nodsp_silan", "+dsp_silan", "-dsp_silan"},
1106 {"elrw", "noelrw", "+elrw", "-elrw"},
1107 {"trust", "notrust", "+trust", "-trust"},
1108 {"java", "nojava", "+java", "-java"},
1109 {"cache", "nocache", "+cache", "-cache"},
1110 {"nvic", "nonvic", "+nvic", "-nvic"},
1111 {"doloop", "nodoloop", "+doloop", "-doloop"},
1112 {"high-registers", "nohigh-registers", "+high-registers",
1113 "-high-registers"},
1114 {"smart", "nosmart", "+smart", "-smart"},
1115 {"vdsp2e3", "novdsp2e3", "+vdsp2e3", "-vdsp2e3"},
1116 {"vdsp2e60f", "novdsp2e60f", "+vdsp2e60f", "-vdsp2e60f"},
1117 {"vdspv2", "novdspv2", "+vdspv2", "-vdspv2"},
1118 {"hard-tp", "nohard-tp", "+hard-tp", "-hard-tp"},
1119 {"soft-tp", "nosoft-tp", "+soft-tp", "-soft-tp"},
1120 {"istack", "noistack", "+istack", "-istack"},
1121 {"constpool", "noconstpool", "+constpool", "-constpool"},
1122 {"stack-size", "nostack-size", "+stack-size", "-stack-size"},
1123 {"ccrt", "noccrt", "+ccrt", "-ccrt"},
1124 {"vdspv1", "novdspv1", "+vdspv1", "-vdspv1"},
1125 {"e1", "noe1", "+e1", "-e1"},
1126 {"e2", "noe2", "+e2", "-e2"},
1127 {"2e3", "no2e3", "+2e3", "-2e3"},
1128 {"mp", "nomp", "+mp", "-mp"},
1129 {"3e3r1", "no3e3r1", "+3e3r1", "-3e3r1"},
1130 {"3e3r2", "no3e3r2", "+3e3r2", "-3e3r2"},
1131 {"3e3r3", "no3e3r3", "+3e3r3", "-3e3r3"},
1132 {"3e7", "no3e7", "+3e7", "-3e7"},
1133 {"mp1e2", "nomp1e2", "+mp1e2", "-mp1e2"},
1134 {"7e10", "no7e10", "+7e10", "-7e10"},
1135 {"10e60", "no10e60", "+10e60", "-10e60"},
1136 };
1137
1138 for (unsigned i = 0; i < std::size(ArchExt); i++) {
1139 EXPECT_EQ(StringRef(ArchExt[i][2]), CSKY::getArchExtFeature(ArchExt[i][0]));
1140 EXPECT_EQ(StringRef(ArchExt[i][3]), CSKY::getArchExtFeature(ArchExt[i][1]));
1141 }
1142}
1143
1144} // namespace
1145

source code of llvm/unittests/TargetParser/CSKYTargetParserTest.cpp