2018-08-17 Jojo <jijie_rong@c-sky.com>
[official-gcc.git] / gcc / config / csky / csky_opts.h
blobf206537d8427ad93ee36bafcc910c8fa8b1054a9
1 /* Processor and arch enumerations for C-SKY targets.
2 Copyright (C) 2018 Free Software Foundation, Inc.
3 Contributed by C-SKY Microsystems and Mentor Graphics.
5 This file is part of GCC.
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.
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.
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/>. */
22 #ifndef CSKY_OPTS_H
23 #define CSKY_OPTS_H
26 /* The various CSKY cores. */
27 enum csky_processor_type
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
37 #define CSKY_TARGET_CORE_GET(name) TARGET_CPU_ ## name
39 /* The various CSKY architectures. */
40 enum csky_base_architecture
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
49 #define CSKY_TARGET_ARCH_GET(name) CSKY_BASE_ARCH_ ## name
51 /* The various CSKY FPUs. */
52 enum csky_fpu_type
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
60 #define CSKY_TARGET_FPU_GET(name) TARGET_FPU_ ## name
63 #endif /* CSKY_OPTS_H */