1 /* ARC ARCH architectures.
2 Copyright (C
) 2016-2018 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 all known ARC base architectures. These defines are used
21 to check if command line given options are valid for a specific
22 architecture
, and to set default architecture options
, if needed.
24 Before including this file
, define a macro
:
26 ARC_ARCH (NAME
, ARCH
, DEV_HW_FACILITIES
, DEF_HW_FACILITIES
)
28 where the arguments are the fields of arc_arch_t
:
30 NAME Architecture given name
;
32 ARCH Architecture class as in enum base_architecture
;
34 DEV_HW_FACILITIES All allowed architecture hardware facilities.
35 These facilities are represented as compiler
36 options
, defined in arc_options.def file.
38 DEF_HW_FACILITIES Default flags for this architecture. It is a
39 subset of DEV_HW_FACILITIES.
*/
41 ARC_ARCH ("arcem", em
, FL_MPYOPT_1_6 | FL_DIVREM | FL_CD | FL_NORM \
42 | FL_BS | FL_SWAP | FL_FPUS | FL_SPFP | FL_DPFP \
43 | FL_SIMD | FL_FPUDA | FL_QUARK | FL_RF16
, 0)
44 ARC_ARCH ("archs", hs
, FL_MPYOPT_7_9 | FL_DIVREM | FL_NORM | FL_CD \
45 | FL_ATOMIC | FL_LL64 | FL_BS | FL_SWAP \
46 | FL_FPUS | FL_FPUD | FL_RF16
, \
47 FL_CD | FL_ATOMIC | FL_BS | FL_NORM | FL_SWAP
)
48 ARC_ARCH ("arc6xx", 6xx
, FL_BS | FL_NORM | FL_SWAP | FL_MUL64 | FL_MUL32x16 \
49 | FL_SPFP | FL_ARGONAUT | FL_DPFP | FL_RF16
, 0)
50 ARC_ARCH ("arc700", 700, FL_ATOMIC | FL_BS | FL_NORM | FL_SWAP | FL_EA \
51 | FL_SIMD | FL_SPFP | FL_ARGONAUT | FL_DPFP | FL_RF16
, \
52 FL_BS | FL_NORM | FL_SWAP
)
54 /* Local Variables
: */