gcc/
[official-gcc.git] / gcc / config / avr / avr.opt
blob134a1d4d0d7a20535baa64931dd6784400ddcb4e
1 ; Options for the ATMEL AVR port of the compiler.
3 ; Copyright (C) 2005-2013 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 mcall-prologues
22 Target Report Mask(CALL_PROLOGUES)
23 Use subroutines for function prologues and epilogues
25 mmcu=
26 Target RejectNegative Joined Var(avr_mcu_index) Init(0) Enum(avr_mcu)
27 -mmcu=MCU       Select the target MCU
29 mdeb
30 Target Report Undocumented Mask(ALL_DEBUG)
32 mlog=
33 Target RejectNegative Joined Undocumented Var(avr_log_details)
35 mint8
36 Target Report Mask(INT8)
37 Use an 8-bit 'int' type
39 mno-interrupts
40 Target Report RejectNegative Mask(NO_INTERRUPTS)
41 Change the stack pointer without disabling interrupts
43 mbranch-cost=
44 Target Report Joined RejectNegative UInteger Var(avr_branch_cost) Init(0)
45 Set the branch costs for conditional branch instructions.  Reasonable values are small, non-negative integers.  The default branch cost is 0.
47 morder1
48 Target Report Undocumented Mask(ORDER_1)
50 morder2
51 Target Report Undocumented Mask(ORDER_2)
53 mtiny-stack
54 Target Report Mask(TINY_STACK)
55 Change only the low 8 bits of the stack pointer
57 mrelax
58 Target Report
59 Relax branches
61 mpmem-wrap-around
62 Target Report
63 Make the linker relaxation machine assume that a program counter wrap-around occurs.
65 maccumulate-args
66 Target Report Mask(ACCUMULATE_OUTGOING_ARGS)
67 Accumulate outgoing function arguments and acquire/release the needed stack space for outpoing 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.
69 mstrict-X
70 Target Report Var(avr_strict_X) Init(0)
71 When 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.
73 ;; For rationale behind -msp8 see explanation in avr.h.
74 msp8
75 Target Report RejectNegative Var(avr_sp8) Init(0)
76 The 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.