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 18 using namespace llvm; 19 20 namespace { 21 22 std::string FormatExtensionFlags(uint64_t Flags) { 23 std::vector<StringRef> Features; 24 25 if (Flags & CSKY::AEK_NONE) 26 Features.push_back("none"); 27 CSKY::getExtensionFeatures(Flags, Features); 28 29 Features.erase(std::remove_if(Features.begin(), Features.end(), 30 [](StringRef extension) { 31 return extension.startswith("-"); 32 }), 33 Features.end()); 34 35 return llvm::join(Features, ", "); 36 } 37 38 testing::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("Expected extension flags: {0} ({1:x})\n" 47 " Got extension flags: {2} ({3:x})\n", 48 FormatExtensionFlags(ExpectedFlags), ExpectedFlags, 49 FormatExtensionFlags(GotFlags), GotFlags); 50 } 51 52 struct 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 ¶ms) { 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 70 class CSKYCPUTestFixture : public ::testing::TestWithParam<CSKYCPUTestParams> { 71 }; 72 73 TEST_P(CSKYCPUTestFixture, CSKYCPUTests) { 74 auto params = GetParam(); 75 76 CSKY::ArchKind AK = CSKY::parseCPUArch(params.CPUName); 77 EXPECT_EQ(params.ExpectedArch, CSKY::getArchName(AK)); 78 79 uint64_t default_extensions = CSKY::getDefaultExtensions(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. 88 INSTANTIATE_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 1000 static constexpr unsigned NumCSKYCPUArchs = 145; 1001 1002 TEST(TargetParserTest, testCSKYCPUArchList) { 1003 SmallVector<StringRef, NumCSKYCPUArchs> List; 1004 CSKY::fillValidCPUArchList(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 1014 TEST(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 1020 bool 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(DefaultCPU); 1024 return Result; 1025 } 1026 1027 TEST(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 1041 TEST(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(FK) == "invalid") 1046 EXPECT_EQ(CSKY::FPUVersion::NONE, CSKY::getFPUVersion(FK)); 1047 else 1048 EXPECT_NE(CSKY::FPUVersion::NONE, CSKY::getFPUVersion(FK)); 1049 } 1050 1051 TEST(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(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 1071 TEST(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 1083 TEST(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