2011-03-21 Daniel Jacobowitz <dan@codesourcery.com>
[official-gcc.git] / gcc / config / arm / arm.opt
bloba39bb3a8d5c7133351aa24bccada113602ec4eb6
1 ; Options for the ARM port of the compiler.
3 ; Copyright (C) 2005, 2007, 2008 Free Software Foundation, Inc.
5 ; This file is part of GCC.
7 ; GCC is free software; you can redistribute it and/or modify it under
8 ; the terms of the GNU General Public License as published by the Free
9 ; Software Foundation; either version 3, or (at your option) any later
10 ; version.
12 ; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 ; WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 ; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 ; for more details.
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/>.
21 mabi=
22 Target RejectNegative Joined Var(target_abi_name)
23 Specify an ABI
25 mabort-on-noreturn
26 Target Report Mask(ABORT_NORETURN)
27 Generate a call to abort if a noreturn function returns
29 mapcs
30 Target RejectNegative Mask(APCS_FRAME) MaskExists Undocumented
32 mapcs-float
33 Target Report Mask(APCS_FLOAT)
34 Pass FP arguments in FP registers
36 mapcs-frame
37 Target Report Mask(APCS_FRAME)
38 Generate APCS conformant stack frames
40 mapcs-reentrant
41 Target Report Mask(APCS_REENT)
42 Generate re-entrant, PIC code
44 mapcs-stack-check
45 Target Report Mask(APCS_STACK) Undocumented
47 march=
48 Target RejectNegative Joined
49 Specify the name of the target architecture
51 marm
52 Target RejectNegative InverseMask(THUMB) Undocumented
54 mbig-endian
55 Target Report RejectNegative Mask(BIG_END)
56 Assume target CPU is configured as big endian
58 mcallee-super-interworking
59 Target Report Mask(CALLEE_INTERWORKING)
60 Thumb: Assume non-static functions may be called from ARM code
62 mcaller-super-interworking
63 Target Report Mask(CALLER_INTERWORKING)
64 Thumb: Assume function pointers may go to non-Thumb aware code
66 mcirrus-fix-invalid-insns
67 Target Report Mask(CIRRUS_FIX_INVALID_INSNS)
68 Cirrus: Place NOPs to avoid invalid instruction combinations
70 mcpu=
71 Target RejectNegative Joined
72 Specify the name of the target CPU
74 mfloat-abi=
75 Target RejectNegative Joined Var(target_float_abi_name)
76 Specify if floating point hardware should be used
78 mfp=
79 Target RejectNegative Joined Undocumented Var(target_fpe_name)
81 mfp16-format=
82 Target RejectNegative Joined Var(target_fp16_format_name)
83 Specify the __fp16 floating-point format
85 ;; Now ignored.
86 mfpe
87 Target RejectNegative Mask(FPE) Undocumented
89 mfpe=
90 Target RejectNegative Joined Undocumented Var(target_fpe_name)
92 mfpu=
93 Target RejectNegative Joined Var(target_fpu_name)
94 Specify the name of the target floating point hardware/format
96 mhard-float
97 Target RejectNegative
98 Alias for -mfloat-abi=hard
100 mlittle-endian
101 Target Report RejectNegative InverseMask(BIG_END)
102 Assume target CPU is configured as little endian
104 mlong-calls
105 Target Report Mask(LONG_CALLS)
106 Generate call insns as indirect calls, if necessary
108 mpic-register=
109 Target RejectNegative Joined Var(arm_pic_register_string)
110 Specify the register to be used for PIC addressing
112 mpoke-function-name
113 Target Report Mask(POKE_FUNCTION_NAME)
114 Store function names in object code
116 msched-prolog
117 Target Report Mask(SCHED_PROLOG)
118 Permit scheduling of a function's prologue sequence
120 msingle-pic-base
121 Target Report Mask(SINGLE_PIC_BASE)
122 Do not load the PIC register in function prologues
124 msoft-float
125 Target RejectNegative
126 Alias for -mfloat-abi=soft
128 mstructure-size-boundary=
129 Target RejectNegative Joined Var(structure_size_string)
130 Specify the minimum bit alignment of structures
132 mthumb
133 Target Report Mask(THUMB)
134 Compile for the Thumb not the ARM
136 mthumb-interwork
137 Target Report Mask(INTERWORK)
138 Support calls between Thumb and ARM instruction sets
140 mtp=
141 Target RejectNegative Joined Var(target_thread_switch)
142 Specify how to access the thread pointer
144 mtpcs-frame
145 Target Report Mask(TPCS_FRAME)
146 Thumb: Generate (non-leaf) stack frames even if not needed
148 mtpcs-leaf-frame
149 Target Report Mask(TPCS_LEAF_FRAME)
150 Thumb: Generate (leaf) stack frames even if not needed
152 mtune=
153 Target RejectNegative Joined
154 Tune code for the given processor
156 mwords-little-endian
157 Target Report RejectNegative Mask(LITTLE_WORDS)
158 Assume big endian bytes, little endian words
160 mvectorize-with-neon-quad
161 Target Report Mask(NEON_VECTORIZE_QUAD)
162 Use Neon quad-word (rather than double-word) registers for vectorization
164 mword-relocations
165 Target Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS)
166 Only generate absolute relocations on word sized values.
168 mfix-cortex-m3-ldrd
169 Target Report Var(fix_cm3_ldrd) Init(2)
170 Avoid overlapping destination and address registers on LDRD instructions
171 that may trigger Cortex-M3 errata.