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