1 /* ARC CPU architectures.
2 Copyright (C
) 2016-2017 Free Software Foundation
, Inc.
4 This file is part of GCC.
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.
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.
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
/>.
*/
20 /* List of various ARC CPU configurations. If updated
, cd to
21 $
(builddir
)/gcc and run
25 This will regenerate
/ update the following source files
:
27 - $
(srcdir
)/config
/arc
/t
-multilib
28 - $
(srcdir
)/config
/arc
/arc
-tables.opt
30 After that
, rebuild everything and check
-in the new sources to the
31 repo. This file defines the accepted values for
-mcpu
=<CPU
>
34 Before including this file
, define a macro
:
36 ARC_CPU (NAME
, ARCH
, FLAGS
, TUNE
)
38 where the arguments are the fields of arc_cpu_t
:
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.
*/
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
)
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
)
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
)
71 ARC_CPU (arc700
, 700, 0, ARC700_4_2_STD
)
72 ARC_CPU (nps400
, 700, 0, ARC700_4_2_STD
)
74 /* Local Variables
: */