PR other/53317
[official-gcc.git] / gcc / config / arm / arm-opts.h
bloba3ef36453c0f433367904e3fa5fd1ef3bb720534
1 /* Definitions for option handling for ARM.
2 Copyright (C) 1991-2013 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 #ifndef ARM_OPTS_H
21 #define ARM_OPTS_H
23 /* The various ARM cores. */
24 enum processor_type
26 #define ARM_CORE(NAME, IDENT, ARCH, FLAGS, COSTS) \
27 IDENT,
28 #include "arm-cores.def"
29 #undef ARM_CORE
30 /* Used to indicate that no processor has been specified. */
31 arm_none
34 /* Which __fp16 format to use.
35 The enumeration values correspond to the numbering for the
36 Tag_ABI_FP_16bit_format attribute.
38 enum arm_fp16_format_type
40 ARM_FP16_FORMAT_NONE = 0,
41 ARM_FP16_FORMAT_IEEE = 1,
42 ARM_FP16_FORMAT_ALTERNATIVE = 2
45 /* Which ABI to use. */
46 enum arm_abi_type
48 ARM_ABI_APCS,
49 ARM_ABI_ATPCS,
50 ARM_ABI_AAPCS,
51 ARM_ABI_IWMMXT,
52 ARM_ABI_AAPCS_LINUX
55 enum float_abi_type
57 ARM_FLOAT_ABI_SOFT,
58 ARM_FLOAT_ABI_SOFTFP,
59 ARM_FLOAT_ABI_HARD
62 /* Which thread pointer access sequence to use. */
63 enum arm_tp_type {
64 TP_AUTO,
65 TP_SOFT,
66 TP_CP15
69 /* Which TLS scheme to use. */
70 enum arm_tls_type {
71 TLS_GNU,
72 TLS_GNU2
74 #endif