1 /* Processor and arch enumerations for C-SKY targets.
2    Copyright (C) 2018-2019 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