]>
Commit | Line | Data |
---|---|---|
43e9d192 | 1 | ; Machine description for AArch64 architecture. |
5624e564 | 2 | ; Copyright (C) 2009-2015 Free Software Foundation, Inc. |
43e9d192 IB |
3 | ; Contributed by ARM Ltd. |
4 | ; | |
5 | ; This file is part of GCC. | |
6 | ; | |
7 | ; GCC is free software; you can redistribute it and/or modify it | |
8 | ; under the terms of the GNU General Public License as published by | |
9 | ; the Free Software Foundation; either version 3, or (at your option) | |
10 | ; any later version. | |
11 | ; | |
12 | ; GCC is distributed in the hope that it will be useful, but | |
13 | ; WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
15 | ; General Public License for more details. | |
16 | ; | |
17 | ; You should have received a copy of the GNU General Public License | |
18 | ; along with GCC; see the file COPYING3. If not see | |
19 | ; <http://www.gnu.org/licenses/>. | |
20 | ||
21 | HeaderInclude | |
22 | config/aarch64/aarch64-opts.h | |
23 | ||
361fb3ee KT |
24 | TargetVariable |
25 | enum aarch64_processor explicit_tune_core = aarch64_none | |
26 | ||
27 | TargetVariable | |
28 | enum aarch64_arch explicit_arch = aarch64_no_arch | |
29 | ||
30 | TargetSave | |
31 | const char *x_aarch64_override_tune_string | |
32 | ||
33 | TargetVariable | |
34 | unsigned long aarch64_isa_flags = 0 | |
35 | ||
43e9d192 IB |
36 | ; The TLS dialect names to use with -mtls-dialect. |
37 | ||
38 | Enum | |
39 | Name(tls_type) Type(enum aarch64_tls_type) | |
40 | The possible TLS dialects: | |
41 | ||
42 | EnumValue | |
43 | Enum(tls_type) String(trad) Value(TLS_TRADITIONAL) | |
44 | ||
45 | EnumValue | |
46 | Enum(tls_type) String(desc) Value(TLS_DESCRIPTORS) | |
47 | ||
48 | ; The code model option names for -mcmodel. | |
49 | ||
50 | Enum | |
51 | Name(cmodel) Type(enum aarch64_code_model) | |
52 | The code model option names for -mcmodel: | |
53 | ||
54 | EnumValue | |
55 | Enum(cmodel) String(tiny) Value(AARCH64_CMODEL_TINY) | |
56 | ||
57 | EnumValue | |
58 | Enum(cmodel) String(small) Value(AARCH64_CMODEL_SMALL) | |
59 | ||
60 | EnumValue | |
61 | Enum(cmodel) String(large) Value(AARCH64_CMODEL_LARGE) | |
62 | ||
43e9d192 IB |
63 | mbig-endian |
64 | Target Report RejectNegative Mask(BIG_END) | |
65 | Assume target CPU is configured as big endian | |
66 | ||
67 | mgeneral-regs-only | |
361fb3ee | 68 | Target Report RejectNegative Mask(GENERAL_REGS_ONLY) Save |
43e9d192 IB |
69 | Generate code which uses only the general registers |
70 | ||
75cf1494 | 71 | mfix-cortex-a53-835769 |
361fb3ee | 72 | Target Report Var(aarch64_fix_a53_err835769) Init(2) Save |
75cf1494 KT |
73 | Workaround for ARM Cortex-A53 Erratum number 835769 |
74 | ||
bf05ef76 YR |
75 | mfix-cortex-a53-843419 |
76 | Target Report | |
77 | Workaround for ARM Cortex-A53 Erratum number 843419 | |
78 | ||
43e9d192 IB |
79 | mlittle-endian |
80 | Target Report RejectNegative InverseMask(BIG_END) | |
81 | Assume target CPU is configured as little endian | |
82 | ||
83 | mcmodel= | |
361fb3ee | 84 | Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL) Save |
43e9d192 IB |
85 | Specify the code model |
86 | ||
87 | mstrict-align | |
361fb3ee | 88 | Target Report RejectNegative Mask(STRICT_ALIGN) Save |
43e9d192 IB |
89 | Don't assume that unaligned accesses are handled by the system |
90 | ||
91 | momit-leaf-frame-pointer | |
361fb3ee | 92 | Target Report Var(flag_omit_leaf_frame_pointer) Init(2) Save |
43e9d192 IB |
93 | Omit the frame pointer in leaf functions |
94 | ||
95 | mtls-dialect= | |
361fb3ee | 96 | Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS) Save |
43e9d192 IB |
97 | Specify TLS dialect |
98 | ||
5eee3c34 JW |
99 | mtls-size= |
100 | Target RejectNegative Joined Var(aarch64_tls_size) Enum(aarch64_tls_size) | |
101 | Specifies bit size of immediate TLS offsets. Valid values are 12, 24, 32, 48. | |
102 | ||
103 | Enum | |
104 | Name(aarch64_tls_size) Type(int) | |
105 | ||
106 | EnumValue | |
107 | Enum(aarch64_tls_size) String(12) Value(12) | |
108 | ||
109 | EnumValue | |
110 | Enum(aarch64_tls_size) String(24) Value(24) | |
111 | ||
112 | EnumValue | |
113 | Enum(aarch64_tls_size) String(32) Value(32) | |
114 | ||
115 | EnumValue | |
116 | Enum(aarch64_tls_size) String(48) Value(48) | |
117 | ||
43e9d192 | 118 | march= |
608df31f | 119 | Target RejectNegative ToLower Joined Var(aarch64_arch_string) |
43e9d192 IB |
120 | -march=ARCH Use features of architecture ARCH |
121 | ||
122 | mcpu= | |
608df31f | 123 | Target RejectNegative ToLower Joined Var(aarch64_cpu_string) |
43e9d192 IB |
124 | -mcpu=CPU Use features of and optimize for CPU |
125 | ||
126 | mtune= | |
608df31f | 127 | Target RejectNegative ToLower Joined Var(aarch64_tune_string) |
43e9d192 | 128 | -mtune=CPU Optimize for CPU |
17a819cb YZ |
129 | |
130 | mabi= | |
131 | Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT) | |
132 | -mabi=ABI Generate code that conforms to the specified ABI | |
133 | ||
8dec06f2 JG |
134 | moverride= |
135 | Target RejectNegative ToLower Joined Var(aarch64_override_tune_string) | |
136 | -moverride=STRING Power users only! Override CPU optimization parameters | |
137 | ||
17a819cb YZ |
138 | Enum |
139 | Name(aarch64_abi) Type(int) | |
140 | Known AArch64 ABIs (for use with the -mabi= option): | |
141 | ||
142 | EnumValue | |
143 | Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32) | |
144 | ||
145 | EnumValue | |
146 | Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64) | |
b4f50fd4 RR |
147 | |
148 | mpc-relative-literal-loads | |
149 | Target Report Save Var(nopcrelative_literal_loads) Init(2) Save | |
150 | PC relative literal loads. |