2008-01-25 Douglas Gregor <doug.gregor@gmail.com>
[official-gcc.git] / gcc / config / arm / arm.opt
blob2b005e42fa4d9eeff5604e2d62ca42cd282d4a5f
1 ; Options for the ARM port of the compiler.
3 ; Copyright (C) 2005, 2007 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 ;; Now ignored.
82 mfpe
83 Target RejectNegative Mask(FPE) Undocumented
85 mfpe=
86 Target RejectNegative Joined Undocumented Var(target_fpe_name)
88 mfpu=
89 Target RejectNegative Joined Var(target_fpu_name)
90 Specify the name of the target floating point hardware/format
92 mhard-float
93 Target RejectNegative
94 Alias for -mfloat-abi=hard
96 mlittle-endian
97 Target Report RejectNegative InverseMask(BIG_END)
98 Assume target CPU is configured as little endian
100 mlong-calls
101 Target Report Mask(LONG_CALLS)
102 Generate call insns as indirect calls, if necessary
104 mpic-register=
105 Target RejectNegative Joined Var(arm_pic_register_string)
106 Specify the register to be used for PIC addressing
108 mpoke-function-name
109 Target Report Mask(POKE_FUNCTION_NAME)
110 Store function names in object code
112 msched-prolog
113 Target Report Mask(SCHED_PROLOG)
114 Permit scheduling of a function's prologue sequence
116 msingle-pic-base
117 Target Report Mask(SINGLE_PIC_BASE)
118 Do not load the PIC register in function prologues
120 msoft-float
121 Target RejectNegative
122 Alias for -mfloat-abi=soft
124 mstructure-size-boundary=
125 Target RejectNegative Joined Var(structure_size_string)
126 Specify the minimum bit alignment of structures
128 mthumb
129 Target Report Mask(THUMB)
130 Compile for the Thumb not the ARM
132 mthumb-interwork
133 Target Report Mask(INTERWORK)
134 Support calls between Thumb and ARM instruction sets
136 mtp=
137 Target RejectNegative Joined Var(target_thread_switch)
138 Specify how to access the thread pointer
140 mtpcs-frame
141 Target Report Mask(TPCS_FRAME)
142 Thumb: Generate (non-leaf) stack frames even if not needed
144 mtpcs-leaf-frame
145 Target Report Mask(TPCS_LEAF_FRAME)
146 Thumb: Generate (leaf) stack frames even if not needed
148 mtune=
149 Target RejectNegative Joined
150 Tune code for the given processor
152 mwords-little-endian
153 Target Report RejectNegative Mask(LITTLE_WORDS)
154 Assume big endian bytes, little endian words
156 mvectorize-with-neon-quad
157 Target Report Mask(NEON_VECTORIZE_QUAD)
158 Use Neon quad-word (rather than double-word) registers for vectorization