1 /* Copyright (C
) 2016-2023 Free Software Foundation
, Inc.
3 This file is part of GCC.
5 GCC is free software
; you can redistribute it and
/or modify it
6 under the terms of the GNU General Public License as published by
7 the Free Software Foundation
; either version
3, or (at your option
)
10 GCC is distributed in the hope that it will be useful
, but WITHOUT
11 ANY WARRANTY
; without even the implied warranty of MERCHANTABILITY
12 or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public
13 License for more details.
15 You should have received a copy of the GNU General Public License
16 along with GCC
; see the file COPYING3. If not see
17 <http
://www.gnu.org
/licenses
/>.
20 ARC_C_DEF ("__ARC600__", TARGET_ARC600
)
21 ARC_C_DEF ("__ARC601__", TARGET_ARC601
)
22 ARC_C_DEF ("__ARC700__", TARGET_ARC700
)
23 ARC_C_DEF ("__NPS400__", TARGET_NPS400
)
24 ARC_C_DEF ("__ARCEM__", TARGET_EM
)
25 ARC_C_DEF ("__ARCHS__", TARGET_HS
)
26 ARC_C_DEF ("__ARC_ATOMIC__", TARGET_ATOMIC
)
27 ARC_C_DEF ("__ARC_NORM__", TARGET_NORM
)
28 ARC_C_DEF ("__ARC_MUL64__", TARGET_MUL64_SET
)
29 ARC_C_DEF ("__ARC_MUL32BY16__", TARGET_MULMAC_32BY16_SET
)
30 ARC_C_DEF ("__ARC_SIMD__", TARGET_SIMD_SET
)
31 ARC_C_DEF ("__ARC_RF16__", TARGET_RF16
)
32 ARC_C_DEF ("__ARC_UNALIGNED__", unaligned_access
)
34 ARC_C_DEF ("__ARC_BARREL_SHIFTER__", TARGET_BARREL_SHIFTER
)
36 ARC_C_DEF ("__ARC_LL64__", TARGET_LL64
)
37 ARC_C_DEF ("__ARC_MPY__", TARGET_MPY
)
38 ARC_C_DEF ("__ARC_SWAP__", TARGET_SWAP
)
39 ARC_C_DEF ("__ARC_EA__", TARGET_EA_SET
)
40 ARC_C_DEF ("__ARC_FPX_SP__", (TARGET_SPFP_FAST_SET || TARGET_SPFP_COMPACT_SET
))
41 ARC_C_DEF ("__ARC_FPX_DP__", (TARGET_DPFP_FAST_SET || TARGET_DPFP_COMPACT_SET
))
42 ARC_C_DEF ("__ARC_MULT32__", TARGET_MUL64_SET
)
43 ARC_C_DEF ("__ARC_DIVREM__", TARGET_DIVREM
)
45 ARC_C_DEF ("__ARC_CODE_DENSITY__", TARGET_CODE_DENSITY
)
47 ARC_C_DEF ("__ARC_MPY_WLHX__", (arc_mpy_option
>= 2))
48 ARC_C_DEF ("__ARC_MPY_WLH1__", (arc_mpy_option
== 2))
49 ARC_C_DEF ("__ARC_MPY_WLH2__", (arc_mpy_option
== 3))
50 ARC_C_DEF ("__ARC_MPY_WLH3__", (arc_mpy_option
== 4))
51 ARC_C_DEF ("__ARC_MPY_WLH4__", (arc_mpy_option
== 5))
52 ARC_C_DEF ("__ARC_MPY_WLH5__", (arc_mpy_option
== 6))
53 ARC_C_DEF ("__ARC_MPY_DMPY__", (arc_mpy_option
== 7))
54 ARC_C_DEF ("__ARC_MPY_MACD__", (arc_mpy_option
== 8))
55 ARC_C_DEF ("__ARC_MPY_QMACW__", (arc_mpy_option
== 9))
57 ARC_C_DEF ("__ARC_FPU_SP__", TARGET_FP_SP_BASE
)
58 ARC_C_DEF ("__ARC_FPU_DP__", TARGET_FP_DP_BASE
)
59 ARC_C_DEF ("__ARC_FPU_SP_DIV__", TARGET_FP_SP_SQRT
)
60 ARC_C_DEF ("__ARC_FPU_DP_DIV__", TARGET_FP_DP_SQRT
)
61 ARC_C_DEF ("__ARC_FPU_SP_FMA__", TARGET_FP_SP_FUSED
)
62 ARC_C_DEF ("__ARC_FPU_DP_FMA__", TARGET_FP_DP_FUSED
)
63 ARC_C_DEF ("__ARC_FPU_ASSIST__", TARGET_FP_DP_AX
)
64 ARC_C_DEF ("__ARC_FPX_QUARK__", TARGET_FPX_QUARK
)
66 /* To be deprecated.
*/
67 ARC_C_DEF ("__A6__", TARGET_ARC600
)
68 ARC_C_DEF ("__A7__", TARGET_ARC700
)
69 ARC_C_DEF ("__EM__", TARGET_EM
)
70 ARC_C_DEF ("__HS__", TARGET_HS
)
71 ARC_C_DEF ("__Xnorm", TARGET_NORM
)
72 ARC_C_DEF ("__Xbarrel_shifter", TARGET_BARREL_SHIFTER
)
74 /* Local Variables
: */