From c7f3e0b01fcc9905d3906331cb1923eee5b00ff6 Mon Sep 17 00:00:00 2001 From: Marek Michalkiewicz Date: Mon, 7 Jan 2002 16:04:35 +0100 Subject: [PATCH] avr.c (avr_mcu_types): Add new MCU types. * config/avr/avr.c (avr_mcu_types): Add new MCU types. * config/avr/avr.h (CPP_SPEC): Likewise. (LINK_SPEC): Likewise. (CRT_BINUTILS_SPECS): Likewise. * config/avr/t-avr (MULTILIB_MATCHES): Likewise. * doc/invoke.texi (AVR Options): Document them. From-SVN: r48604 --- gcc/ChangeLog | 9 +++++++++ gcc/config/avr/avr.c | 8 ++++++++ gcc/config/avr/avr.h | 24 ++++++++++++++++++++++++ gcc/config/avr/t-avr | 4 ++++ gcc/doc/invoke.texi | 7 ++++--- 5 files changed, 49 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ebae515e68a..ddfc3e05f17 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2002-01-07 Marek Michalkiewicz + + * config/avr/avr.c (avr_mcu_types): Add new MCU types. + * config/avr/avr.h (CPP_SPEC): Likewise. + (LINK_SPEC): Likewise. + (CRT_BINUTILS_SPECS): Likewise. + * config/avr/t-avr (MULTILIB_MATCHES): Likewise. + * doc/invoke.texi (AVR Options): Document them. + Mon Jan 7 11:59:34 CET 2002 Jan Hubicka * unroll.c (copy_loop_body): Always properly update JUMP_LABEL and diff --git a/gcc/config/avr/avr.c b/gcc/config/avr/avr.c index 5d6e120626e..145751993a8 100644 --- a/gcc/config/avr/avr.c +++ b/gcc/config/avr/avr.c @@ -151,15 +151,23 @@ static const struct mcu_type_s avr_mcu_types[] = { { "avr3", AVR3 }, { "atmega103", AVR3 }, { "atmega603", AVR3 }, + { "at43usb320", AVR3 }, + { "at76c711", AVR3 }, /* Enhanced, <= 8K. */ { "avr4", AVR4 }, + { "atmega8", AVR4 }, { "atmega83", AVR4 }, { "atmega85", AVR4 }, /* Enhanced, > 8K. */ { "avr5", AVR5 }, + { "atmega16", AVR5 }, { "atmega161", AVR5 }, { "atmega163", AVR5 }, { "atmega32", AVR5 }, + { "atmega323", AVR5 }, + { "atmega64", AVR5 }, + { "atmega128", AVR5 }, + { "at43usb355", AVR5 }, { "at94k", AVR5 }, /* Assembler only. */ { "avr1", AVR1 }, diff --git a/gcc/config/avr/avr.h b/gcc/config/avr/avr.h index 1f8a8da50e4..005936ebfea 100644 --- a/gcc/config/avr/avr.h +++ b/gcc/config/avr/avr.h @@ -2735,13 +2735,21 @@ extern int avr_case_values_threshold; %{mmcu=avr3:%(cpp_avr3)} \ %{mmcu=atmega603:%(cpp_avr3) -D__AVR_ATmega603__} \ %{mmcu=atmega103:%(cpp_avr3) -D__AVR_ATmega103__} \ +%{mmcu=at43usb320:%(cpp_avr3) -D__AVR_AT43USB320__} \ +%{mmcu=at76c711: %(cpp_avr3) -D__AVR_AT76C711__} \ %{mmcu=avr4:%(cpp_avr4)} \ +%{mmcu=atmega8: %(cpp_avr4) -D__AVR_ATmega8__} \ %{mmcu=atmega83: %(cpp_avr4) -D__AVR_ATmega83__} \ %{mmcu=atmega85: %(cpp_avr4) -D__AVR_ATmega85__} \ %{mmcu=avr5:%(cpp_avr5)} \ +%{mmcu=atmega16: %(cpp_avr5) -D__AVR_ATmega16__} \ %{mmcu=atmega161:%(cpp_avr5) -D__AVR_ATmega161__} \ %{mmcu=atmega163:%(cpp_avr5) -D__AVR_ATmega163__} \ %{mmcu=atmega32: %(cpp_avr5) -D__AVR_ATmega32__} \ +%{mmcu=atmega323:%(cpp_avr5) -D__AVR_ATmega323__} \ +%{mmcu=atmega64: %(cpp_avr5) -D__AVR_ATmega64__} \ +%{mmcu=atmega128:%(cpp_avr5) -D__AVR_ATmega128__} \ +%{mmcu=at43usb355:%(cpp_avr5) -D__AVR_AT43USB355__} \ %{mmcu=at94k: %(cpp_avr5) -D__AVR_AT94K__} \ %{mmcu=avr1:%(cpp_avr1)} \ %{mmcu=at90s1200:%(cpp_avr1) -D__AVR_AT90S1200__} \ @@ -2813,10 +2821,18 @@ extern int avr_case_values_threshold; %{!mmcu*:-m avr85xx} \ %{mmcu=atmega603:-m avrmega603} \ %{mmcu=atmega103:-m avrmega103} \ +%{mmcu=at43usb320:-m avr3} \ +%{mmcu=at76c711:-m avr3} \ +%{mmcu=atmega16:-m avrmega161} \ %{mmcu=atmega161:-m avrmega161} \ %{mmcu=atmega163:-m avrmega161} \ %{mmcu=atmega32:-m avr5} \ +%{mmcu=atmega323:-m avr5} \ +%{mmcu=atmega64:-m avr5} \ +%{mmcu=atmega128:-m avr5} \ +%{mmcu=at43usb355:-m avr5} \ %{mmcu=at94k:-m avr5} \ +%{mmcu=atmega8:-m avr4} \ %{mmcu=atmega83:-m avr4} \ %{mmcu=atmega85:-m avr4} \ %{mmcu=at90s1200|mmcu=attiny1*:-m avr1200} \ @@ -2893,11 +2909,19 @@ extern int avr_case_values_threshold; %{mmcu=at90s8535:crts8535.o%s} \ %{mmcu=atmega103|mmcu=avr3:crtm103.o%s} \ %{mmcu=atmega603:crtm603.o%s} \ +%{mmcu=at43usb320:crt43320.o%s} \ +%{mmcu=at76c711:crt76711.o%s } \ +%{mmcu=atmega8:crtm8.o%s} \ %{mmcu=atmega83|mmcu=avr4:crtm83.o%s} \ %{mmcu=atmega85:crtm85.o%s} \ +%{mmcu=atmega16:crtm16.o%s} \ %{mmcu=atmega161|mmcu=avr5:crtm161.o%s} \ %{mmcu=atmega163:crtm163.o%s} \ %{mmcu=atmega32:crtm32.o%s} \ +%{mmcu=atmega323:crtm323.o%s} \ +%{mmcu=atmega64:crtm64.o%s} \ +%{mmcu=atmega128:crtm128.o%s} \ +%{mmcu=at43usb355:crt43355.o%s} \ %{mmcu=at94k:crtat94k.o%s}" #define CPP_AVR1_SPEC "-D__AVR_ARCH__=1 -D__AVR_ASM_ONLY__ " diff --git a/gcc/config/avr/t-avr b/gcc/config/avr/t-avr index ecffea32145..31f41df4109 100644 --- a/gcc/config/avr/t-avr +++ b/gcc/config/avr/t-avr @@ -43,8 +43,12 @@ MULTILIB_DIRNAMES = avr2 avr3 avr4 avr5 # The many avr2 matches are not listed here - this is the default. MULTILIB_MATCHES = \ mmcu?avr3=mmcu?atmega103 mmcu?avr3=mmcu?atmega603 \ + mmcu?avr3=mmcu?at43usb320 mmcu?avr3=mmcu?at76c711 \ mmcu?avr4=mmcu?atmega83 mmcu?avr4=mmcu?atmega85 \ + mmcu?avr4=mmcu?atmega8 mmcu?avr5=mmcu?atmega16 \ mmcu?avr5=mmcu?atmega161 mmcu?avr5=mmcu?atmega163 \ + mmcu?avr5=mmcu?atmega64 mmcu?avr5=mmcu?atmega128 \ + mmcu?avr5=mmcu?at43usb355 mmcu?avr5=mmcu?atmega323 \ mmcu?avr5=mmcu?atmega32 mmcu?avr5=mmcu?at94k MULTILIB_EXCEPTIONS = diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 5b3fbc17dc2..22de537fc4a 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -9233,13 +9233,14 @@ 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). +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: atmega83, atmega85). +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: atmega161, atmega163, atmega32, at94k). +memory space (MCU types: atmega16, atmega161, atmega163, atmega32, atmega323, +atmega64, atmega128, at43usb355, at94k). @item -msize @opindex msize