1 /* Processor and arch enumerations for C-SKY targets. 2 Copyright (C) 2018-2020 Free Software Foundation, Inc. 3 Contributed by C-SKY Microsystems and Mentor Graphics. 4 5 This file is part of GCC. 6 7 GCC is free software; you can redistribute it and/or modify it 8 under the terms of the GNU General Public License as published 9 by the Free Software Foundation; either version 3, or (at your 10 option) any later version. 11 12 GCC is distributed in the hope that it will be useful, but WITHOUT 13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public 15 License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with GCC; see the file COPYING3. If not see 19 <http://www.gnu.org/licenses/>. */ 20 21 22 #ifndef CSKY_OPTS_H 23 #define CSKY_OPTS_H 24 25 26 /* The various CSKY cores. */ 27 enum csky_processor_type 28 { 29 #undef CSKY_CORE 30 #define CSKY_CORE(NAME, INTERNAL_IDENT, IDENT, ARCH, ISA) \ 31 TARGET_CPU_##INTERNAL_IDENT, 32 #include "csky_cores.def" 33 #undef CSKY_CORE 34 /* Used to indicate that no processor has been specified. */ 35 TARGET_CPU_csky_none 36 }; 37 #define CSKY_TARGET_CORE_GET(name) TARGET_CPU_ ## name 38 39 /* The various CSKY architectures. */ 40 enum csky_base_architecture 41 { 42 #undef CSKY_ARCH 43 #define CSKY_ARCH(NAME, CORE_IDENT, ARCH, ISA) \ 44 CSKY_BASE_ARCH_##ARCH, 45 #include "csky_cores.def" 46 #undef CSKY_ARCH 47 CSKY_BASE_ARCH_NONE 48 }; 49 #define CSKY_TARGET_ARCH_GET(name) CSKY_BASE_ARCH_ ## name 50 51 /* The various CSKY FPUs. */ 52 enum csky_fpu_type 53 { 54 #undef CSKY_FPU 55 #define CSKY_FPU(NAME, CNAME, ISA) TARGET_FPU_##CNAME, 56 #include "csky_cores.def" 57 TARGET_FPU_auto 58 #undef CSKY_FPU 59 }; 60 #define CSKY_TARGET_FPU_GET(name) TARGET_FPU_ ## name 61 62 63 #endif /* CSKY_OPTS_H */ 64