]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/config/avr/avr.opt
Update copyright years.
[thirdparty/gcc.git] / gcc / config / avr / avr.opt
CommitLineData
5a41973c
RS
1; Options for the ATMEL AVR port of the compiler.
2
99dee823 3; Copyright (C) 2005-2021 Free Software Foundation, Inc.
5a41973c
RS
4;
5; This file is part of GCC.
6;
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
2f83c7d6 9; Software Foundation; either version 3, or (at your option) any later
5a41973c
RS
10; version.
11;
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.
16;
17; You should have received a copy of the GNU General Public License
2f83c7d6
NC
18; along with GCC; see the file COPYING3. If not see
19; <http://www.gnu.org/licenses/>.
5a41973c
RS
20
21mcall-prologues
eece52b5 22Target Mask(CALL_PROLOGUES)
a7b2e184 23Use subroutines for function prologues and epilogues.
5a41973c
RS
24
25mmcu=
4a2caf6c 26Target RejectNegative Joined Var(avr_mmcu) MissingArgError(missing device or architecture after %qs)
a7b2e184 27-mmcu=MCU Select the target MCU.
5a41973c 28
63866e04 29mgas-isr-prologues
eece52b5 30Target Var(avr_gasisr_prologues) UInteger Init(0)
63866e04
GJL
31Allow usage of __gcc_isr pseudo instructions in ISR prologues and epilogues.
32
f9d29866
JR
33mn-flash=
34Target RejectNegative Joined Var(avr_n_flash) UInteger Init(-1)
a7b2e184 35Set the number of 64 KiB flash segments.
f9d29866
JR
36
37mskip-bug
eece52b5 38Target Mask(SKIP_BUG)
a7b2e184 39Indicate presence of a processor erratum.
f9d29866
JR
40
41mrmw
eece52b5 42Target Mask(RMW)
a7b2e184 43Enable Read-Modify-Write (RMW) instructions support/use.
f9d29866 44
5a41973c 45mdeb
eece52b5 46Target Undocumented Mask(ALL_DEBUG)
5a41973c 47
6c7dfafe
GJL
48mlog=
49Target RejectNegative Joined Undocumented Var(avr_log_details)
50
3266ddb3 51mshort-calls
eece52b5 52Target RejectNegative Mask(SHORT_CALLS)
3266ddb3
GJL
53Use RJMP / RCALL even though CALL / JMP are available.
54
5a41973c 55mint8
eece52b5 56Target Mask(INT8)
a7b2e184 57Use an 8-bit 'int' type.
5a41973c
RS
58
59mno-interrupts
eece52b5 60Target RejectNegative Mask(NO_INTERRUPTS)
a7b2e184 61Change the stack pointer without disabling interrupts.
5a41973c 62
f1f59bc7 63mbranch-cost=
eece52b5 64Target Joined RejectNegative UInteger Var(avr_branch_cost) Init(0)
f1f59bc7
GJL
65Set the branch costs for conditional branch instructions. Reasonable values are small, non-negative integers. The default branch cost is 0.
66
dcbe9170 67mmain-is-OS_task
eece52b5 68Target Mask(MAIN_IS_OS_TASK)
dcbe9170
GJL
69Treat main as if it had attribute OS_task.
70
5a41973c 71morder1
eece52b5 72Target Undocumented Mask(ORDER_1)
5a41973c
RS
73
74morder2
eece52b5 75Target Undocumented Mask(ORDER_2)
5a41973c 76
5a41973c 77mtiny-stack
eece52b5 78Target Mask(TINY_STACK)
a7b2e184 79Change only the low 8 bits of the stack pointer.
2e152e16
AS
80
81mrelax
eece52b5 82Target
a7b2e184 83Relax branches.
2e152e16
AS
84
85mpmem-wrap-around
eece52b5 86Target
d8a07487 87Make the linker relaxation machine assume that a program counter wrap-around occurs.
e8ac5ac9 88
d702f362 89maccumulate-args
eece52b5 90Target Mask(ACCUMULATE_OUTGOING_ARGS)
bd2c6270 91Accumulate outgoing function arguments and acquire/release the needed stack space for outgoing function arguments in function prologue/epilogue. Without this option, outgoing arguments are pushed before calling a function and popped afterwards. This option can lead to reduced code size for functions that call many functions that get their arguments on the stack like, for example printf.
d702f362 92
e8ac5ac9 93mstrict-X
eece52b5 94Target Var(avr_strict_X) Init(0)
e8ac5ac9 95When accessing RAM, use X as imposed by the hardware, i.e. just use pre-decrement, post-increment and indirect addressing with the X register. Without this option, the compiler may assume that there is an addressing mode X+const similar to Y+const and Z+const and emit instructions to emulate such an addressing mode for X.
7fd6378e
GJL
96
97;; For rationale behind -msp8 see explanation in avr.h.
98msp8
eece52b5 99Target RejectNegative Var(avr_sp8) Init(0)
621dfb1e 100The device has no SPH special function register. This option will be overridden by the compiler driver with the correct setting if presence/absence of SPH can be deduced from -mmcu=MCU.
f22e3c85
GJL
101
102Waddr-space-convert
eece52b5 103Warning C Var(avr_warn_addr_space_convert) Init(0)
283045c0 104Warn if the address space of an address is changed.
67518c93 105
22fba352 106Wmisspelled-isr
eece52b5 107Warning C C++ Var(avr_warn_misspelled_isr) Init(1)
22fba352
PS
108Warn if the ISR is misspelled, i.e. without __vector prefix. Enabled by default.
109
67518c93 110mfract-convert-truncate
eece52b5 111Target Mask(FRACT_CONV_TRUNC)
0f0f4f91 112Allow to use truncation instead of rounding towards zero for fractional fixed-point types.
076d86f3 113
d97cca4a 114mabsdata
eece52b5 115Target Mask(ABSDATA)
d97cca4a
GJL
116Assume that all data in static storage can be accessed by LDS / STS. This option is only useful for reduced Tiny devices.
117
29f3def3 118mdouble=
eece52b5 119Target Joined RejectNegative Var(avr_double) Init(0) Enum(avr_bits_e)
8e02ca9f 120-mdouble=<BITS> Use <BITS> bits wide double type.
29f3def3
GJL
121
122mlong-double=
eece52b5 123Target Joined RejectNegative Var(avr_long_double) Init(0) Enum(avr_bits_e)
8e02ca9f 124-mlong-double=<BITS> Use <BITS> bits wide long double type.
29f3def3 125
076d86f3 126nodevicelib
eece52b5 127Driver Target RejectNegative
a7b2e184 128Do not link against the device-specific library lib<MCU>.a.
29f3def3 129
e3e131c9 130nodevicespecs
eece52b5 131Driver Target RejectNegative
e3e131c9
GJL
132Do not use the device-specific specs file device-specs/specs-<MCU>.
133
29f3def3
GJL
134Enum
135Name(avr_bits_e) Type(int)
136Available BITS selections:
137
138EnumValue
139Enum(avr_bits_e) String(32) Value(32)
140
141EnumValue
142Enum(avr_bits_e) String(64) Value(64)