#### 3.17.3 AVR Options

These options are defined for AVR implementations:

`-mmcu=`mcu
  Specify ATMEL AVR instruction set or MCU type.

  Instruction set avr1 is for the minimal AVR core, not supported by the C compiler, only for assembler programs (MCU types: at90s1200, attiny10, attiny11, attiny12, attiny15, attiny28).

  Instruction set avr2 (default) is for the classic AVR core with up to 8K program memory space (MCU types: at90s2313, at90s2323, attiny22, at90s2333, at90s2343, at90s4414, at90s4433, at90s4434, at90s8515, at90c8534, at90s8535).

  Instruction set avr3 is for the classic AVR core with up to 128K program memory space (MCU types: atmega103, atmega603, at43usb320, at76c711).

  Instruction set avr4 is for the enhanced AVR core with up to 8K program memory space (MCU types: atmega8, atmega83, atmega85).

  Instruction set avr5 is for the enhanced AVR core with up to 128K program memory space (MCU types: atmega16, atmega161, atmega163, atmega32, atmega323, atmega64, atmega128, at43usb355, at94k).

`-msize`
  Output instruction sizes to the asm file.
`-minit-stack=`N
  Specify the initial stack address, which may be a symbol or numeric value, ‘`__stack`’ is the default.
`-mno-interrupts`
  Generated code is not compatible with hardware interrupts. Code size will be smaller.
`-mcall-prologues`
  Functions prologues/epilogues expanded as call to appropriate subroutines. Code size will be smaller.
`-mno-tablejump`
  Do not generate tablejump insns which sometimes increase code size.
`-mtiny-stack`
  Change only the low 8 bits of the stack pointer.
`-mint8`
  Assume int to be 8 bit integer. This affects the sizes of all types: A char will be 1 byte, an int will be 1 byte, an long will be 2 bytes and long long will be 4 bytes. Please note that this option does not comply to the C standards, but it will provide you with smaller code size.