111
|
1 /* ARC CPU architectures.
|
|
2 Copyright (C) 2016-2017 Free Software Foundation, Inc.
|
|
3
|
|
4 This file is part of GCC.
|
|
5
|
|
6 GCC is free software; you can redistribute it and/or modify it
|
|
7 under the terms of the GNU General Public License as published
|
|
8 by the Free Software Foundation; either version 3, or (at your
|
|
9 option) any later version.
|
|
10
|
|
11 GCC is distributed in the hope that it will be useful, but WITHOUT
|
|
12 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
13 or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
|
|
14 License for more details.
|
|
15
|
|
16 You should have received a copy of the GNU General Public License
|
|
17 along with GCC; see the file COPYING3. If not see
|
|
18 <http://www.gnu.org/licenses/>. */
|
|
19
|
|
20 /* List of various ARC CPU configurations. If updated, cd to
|
|
21 $(builddir)/gcc and run
|
|
22
|
|
23 $ make arc-cpus
|
|
24
|
|
25 This will regenerate / update the following source files:
|
|
26
|
|
27 - $(srcdir)/config/arc/t-multilib
|
|
28 - $(srcdir)/config/arc/arc-tables.opt
|
|
29
|
|
30 After that, rebuild everything and check-in the new sources to the
|
|
31 repo. This file defines the accepted values for -mcpu=<CPU>
|
|
32 option.
|
|
33
|
|
34 Before including this file, define a macro:
|
|
35
|
|
36 ARC_CPU (NAME, ARCH, FLAGS, TUNE)
|
|
37
|
|
38 where the arguments are the fields of arc_cpu_t:
|
|
39
|
|
40 NAME A given arbitrary name.
|
|
41 ARCH Base architecture for the given CPU.
|
|
42 FLAGS Specific hardware flags that are enabled by this CPU configuration,
|
|
43 as defined in arc-options.def file, and allowed by arc-arches.def
|
|
44 file. The specific hardware flags are enumerated without using
|
|
45 spaces between the '|' character and consequtive flags.
|
|
46 TUNE Tune value for the given configuration, otherwise NONE. */
|
|
47
|
|
48 ARC_CPU (em, em, 0, NONE)
|
|
49 ARC_CPU (arcem, em, FL_MPYOPT_2|FL_CD|FL_BS, NONE)
|
|
50 ARC_CPU (em4, em, FL_CD, NONE)
|
|
51 ARC_CPU (em4_dmips, em, FL_MPYOPT_2|FL_CD|FL_DIVREM|FL_NORM|FL_SWAP|FL_BS, NONE)
|
|
52 ARC_CPU (em4_fpus, em, FL_MPYOPT_2|FL_CD|FL_DIVREM|FL_NORM|FL_SWAP|FL_BS|FL_FPU_FPUS, NONE)
|
|
53 ARC_CPU (em4_fpuda, em, FL_MPYOPT_2|FL_CD|FL_DIVREM|FL_NORM|FL_SWAP|FL_BS|FL_FPU_FPUDA, NONE)
|
|
54 ARC_CPU (quarkse_em, em, FL_MPYOPT_3|FL_CD|FL_DIVREM|FL_NORM|FL_SWAP|FL_BS|FL_FPX_QUARK|FL_SPFP|FL_DPFP, NONE)
|
|
55
|
|
56 ARC_CPU (hs, hs, 0, NONE)
|
|
57 ARC_CPU (archs, hs, FL_MPYOPT_2|FL_DIVREM|FL_LL64, NONE)
|
|
58 ARC_CPU (hs34, hs, FL_MPYOPT_2, NONE)
|
|
59 ARC_CPU (hs38, hs, FL_MPYOPT_9|FL_DIVREM|FL_LL64, NONE)
|
|
60 ARC_CPU (hs38_linux, hs, FL_MPYOPT_9|FL_DIVREM|FL_LL64|FL_FPU_FPUD_ALL, NONE)
|
|
61
|
|
62 ARC_CPU (arc600, 6xx, FL_BS, ARC600)
|
|
63 ARC_CPU (arc600_norm, 6xx, FL_BS|FL_NORM, ARC600)
|
|
64 ARC_CPU (arc600_mul64, 6xx, FL_BS|FL_NORM|FL_MUL64, ARC600)
|
|
65 ARC_CPU (arc600_mul32x16, 6xx, FL_BS|FL_NORM|FL_MUL32x16, ARC600)
|
|
66 ARC_CPU (arc601, 6xx, 0, ARC600)
|
|
67 ARC_CPU (arc601_norm, 6xx, FL_NORM, ARC600)
|
|
68 ARC_CPU (arc601_mul64, 6xx, FL_NORM|FL_MUL64, ARC600)
|
|
69 ARC_CPU (arc601_mul32x16, 6xx, FL_NORM|FL_MUL32x16, ARC600)
|
|
70
|
|
71 ARC_CPU (arc700, 700, 0, ARC700_4_2_STD)
|
|
72 ARC_CPU (nps400, 700, 0, ARC700_4_2_STD)
|
|
73
|
|
74 /* Local Variables: */
|
|
75 /* mode: c */
|
|
76 /* End: */
|