summaryrefslogtreecommitdiff
path: root/gcc/config/arm/arm.opt
blob: 1d07cedf0de9288e822b4f1d1aea47dd3705e0ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
; Options for the ARM port of the compiler.

; Copyright (C) 2005, 2007 Free Software Foundation, Inc.
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 3, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING3.  If not see
; <http://www.gnu.org/licenses/>.

mabi=
Target RejectNegative Joined Var(target_abi_name)
Specify an ABI

mabort-on-noreturn
Target Report Mask(ABORT_NORETURN)
Generate a call to abort if a noreturn function returns

mapcs
Target RejectNegative Mask(APCS_FRAME) MaskExists Undocumented

mapcs-float
Target Report Mask(APCS_FLOAT)
Pass FP arguments in FP registers

mapcs-frame
Target Report Mask(APCS_FRAME)
Generate APCS conformant stack frames

mapcs-reentrant
Target Report Mask(APCS_REENT)
Generate re-entrant, PIC code

mapcs-stack-check
Target Report Mask(APCS_STACK) Undocumented

march=
Target RejectNegative Joined
Specify the name of the target architecture

marm
Target RejectNegative InverseMask(THUMB) Undocumented

mbig-endian
Target Report RejectNegative Mask(BIG_END)
Assume target CPU is configured as big endian

mcallee-super-interworking
Target Report Mask(CALLEE_INTERWORKING)
Thumb: Assume non-static functions may be called from ARM code

mcaller-super-interworking
Target Report Mask(CALLER_INTERWORKING)
Thumb: Assume function pointers may go to non-Thumb aware code

mcirrus-fix-invalid-insns
Target Report Mask(CIRRUS_FIX_INVALID_INSNS)
Cirrus: Place NOPs to avoid invalid instruction combinations

mcpu=
Target RejectNegative Joined
Specify the name of the target CPU

mfloat-abi=
Target RejectNegative Joined Var(target_float_abi_name)
Specify if floating point hardware should be used

mfp=
Target RejectNegative Joined Undocumented Var(target_fpe_name)

;; Now ignored.
mfpe
Target RejectNegative Mask(FPE) Undocumented

mfpe=
Target RejectNegative Joined Undocumented Var(target_fpe_name)

mfpu=
Target RejectNegative Joined Var(target_fpu_name)
Specify the name of the target floating point hardware/format

mhard-float
Target RejectNegative
Alias for -mfloat-abi=hard

mlittle-endian
Target Report RejectNegative InverseMask(BIG_END)
Assume target CPU is configured as little endian

mlong-calls
Target Report Mask(LONG_CALLS)
Generate call insns as indirect calls, if necessary

mpic-register=
Target RejectNegative Joined Var(arm_pic_register_string)
Specify the register to be used for PIC addressing

mpoke-function-name
Target Report Mask(POKE_FUNCTION_NAME)
Store function names in object code

msched-prolog
Target Report Mask(SCHED_PROLOG)
Permit scheduling of a function's prologue sequence

msingle-pic-base
Target Report Mask(SINGLE_PIC_BASE)
Do not load the PIC register in function prologues

msoft-float
Target RejectNegative
Alias for -mfloat-abi=soft

mstructure-size-boundary=
Target RejectNegative Joined Var(structure_size_string)
Specify the minimum bit alignment of structures

mthumb
Target Report Mask(THUMB)
Compile for the Thumb not the ARM

mthumb-interwork
Target Report Mask(INTERWORK)
Support calls between Thumb and ARM instruction sets

mtp=
Target RejectNegative Joined Var(target_thread_switch)
Specify how to access the thread pointer

mtpcs-frame
Target Report Mask(TPCS_FRAME)
Thumb: Generate (non-leaf) stack frames even if not needed

mtpcs-leaf-frame
Target Report Mask(TPCS_LEAF_FRAME)
Thumb: Generate (leaf) stack frames even if not needed

mtune=
Target RejectNegative Joined
Tune code for the given processor

mwords-little-endian
Target Report RejectNegative Mask(LITTLE_WORDS)
Assume big endian bytes, little endian words

mvectorize-with-neon-quad
Target Report Mask(NEON_VECTORIZE_QUAD)
Use Neon quad-word (rather than double-word) registers for vectorization

mword-relocations
Target Report Var(target_word_relocations) Init(TARGET_DEFAULT_WORD_RELOCATIONS)
Only generate absolute relocations on word sized values.

mfix-cortex-m3-ldrd
Target Report Var(fix_cm3_ldrd) Init(2)
Avoid overlapping destination and address registers on LDRD instructions
that may trigger Cortex-M3 errata.