aarch64.opt revision 1.3
1; Machine description for AArch64 architecture.
2; Copyright (C) 2009-2015 Free Software Foundation, Inc.
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
21HeaderInclude
22config/aarch64/aarch64-opts.h
23
24; The TLS dialect names to use with -mtls-dialect.
25
26Enum
27Name(tls_type) Type(enum aarch64_tls_type)
28The possible TLS dialects:
29
30EnumValue
31Enum(tls_type) String(trad) Value(TLS_TRADITIONAL)
32
33EnumValue
34Enum(tls_type) String(desc) Value(TLS_DESCRIPTORS)
35
36; The code model option names for -mcmodel.
37
38Enum
39Name(cmodel) Type(enum aarch64_code_model)
40The code model option names for -mcmodel:
41
42EnumValue
43Enum(cmodel) String(tiny) Value(AARCH64_CMODEL_TINY)
44
45EnumValue
46Enum(cmodel) String(small) Value(AARCH64_CMODEL_SMALL)
47
48EnumValue
49Enum(cmodel) String(large) Value(AARCH64_CMODEL_LARGE)
50
51; The cpu/arch option names to use in cpu/arch selection.
52
53Variable
54const char *aarch64_arch_string
55
56Variable
57const char *aarch64_cpu_string
58
59Variable
60const char *aarch64_tune_string
61
62mbig-endian
63Target Report RejectNegative Mask(BIG_END)
64Assume target CPU is configured as big endian
65
66mgeneral-regs-only
67Target Report RejectNegative Mask(GENERAL_REGS_ONLY)
68Generate code which uses only the general registers
69
70mfix-cortex-a53-835769
71Target Report Var(aarch64_fix_a53_err835769) Init(2)
72Workaround for ARM Cortex-A53 Erratum number 835769
73
74mfix-cortex-a53-843419
75Target Report
76Workaround for ARM Cortex-A53 Erratum number 843419
77
78mlittle-endian
79Target Report RejectNegative InverseMask(BIG_END)
80Assume target CPU is configured as little endian
81
82mcmodel=
83Target RejectNegative Joined Enum(cmodel) Var(aarch64_cmodel_var) Init(AARCH64_CMODEL_SMALL)
84Specify the code model
85
86mstrict-align
87Target Report RejectNegative Mask(STRICT_ALIGN)
88Don't assume that unaligned accesses are handled by the system
89
90momit-leaf-frame-pointer
91Target Report Save Var(flag_omit_leaf_frame_pointer) Init(1)
92Omit the frame pointer in leaf functions
93
94mtls-dialect=
95Target RejectNegative Joined Enum(tls_type) Var(aarch64_tls_dialect) Init(TLS_DESCRIPTORS)
96Specify TLS dialect
97
98march=
99Target RejectNegative ToLower Joined Var(aarch64_arch_string)
100-march=ARCH	Use features of architecture ARCH
101
102mcpu=
103Target RejectNegative ToLower Joined Var(aarch64_cpu_string)
104-mcpu=CPU	Use features of and optimize for CPU
105
106mtune=
107Target RejectNegative ToLower Joined Var(aarch64_tune_string)
108-mtune=CPU	Optimize for CPU
109
110mabi=
111Target RejectNegative Joined Enum(aarch64_abi) Var(aarch64_abi) Init(AARCH64_ABI_DEFAULT)
112-mabi=ABI	Generate code that conforms to the specified ABI
113
114Enum
115Name(aarch64_abi) Type(int)
116Known AArch64 ABIs (for use with the -mabi= option):
117
118EnumValue
119Enum(aarch64_abi) String(ilp32) Value(AARCH64_ABI_ILP32)
120
121EnumValue
122Enum(aarch64_abi) String(lp64) Value(AARCH64_ABI_LP64)
123