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