aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog13
-rw-r--r--gas/config/tc-avr.c40
-rw-r--r--gas/doc/c-avr.texi37
3 files changed, 65 insertions, 25 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 888e1a7..0cd45b1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,16 @@
+2010-04-07 Eric B. Weddington <eric.weddington@atmel.com>
+
+ * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
+ atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
+ atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
+ atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
+ atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
+ atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
+ atmega88pa, attiny461a, attiny84a, m3000.
+ Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
+ atmega8hvd, attiny327, m3000f, m3000s, m3001b.
+ * doc/c-avr.texi: Same.
+
2010-04-07 Jie Zhang <jie@codesourcery.com>
* config/tc-arm.c (make_mapping_symbol): Handle the case
diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c
index a884068..d5dabce 100644
--- a/gas/config/tc-avr.c
+++ b/gas/config/tc-avr.c
@@ -106,12 +106,14 @@ static struct mcu_type_s mcu_types[] =
{"attiny44", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny44a", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny84", AVR_ISA_AVR25, bfd_mach_avr25},
+ {"attiny84a", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny25", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny45", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny85", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny261", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny261a", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny461", AVR_ISA_AVR25, bfd_mach_avr25},
+ {"attiny461a", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny861", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny861a", AVR_ISA_AVR25, bfd_mach_avr25},
{"attiny87", AVR_ISA_AVR25, bfd_mach_avr25},
@@ -125,7 +127,6 @@ static struct mcu_type_s mcu_types[] =
{"atmega103", AVR_ISA_AVR31, bfd_mach_avr31},
{"at43usb320", AVR_ISA_AVR31, bfd_mach_avr31},
{"attiny167", AVR_ISA_AVR35, bfd_mach_avr35},
- {"attiny327", AVR_ISA_AVR35, bfd_mach_avr35},
{"at90usb82", AVR_ISA_AVR35, bfd_mach_avr35},
{"at90usb162", AVR_ISA_AVR35, bfd_mach_avr35},
{"atmega8u2", AVR_ISA_AVR35, bfd_mach_avr35},
@@ -133,16 +134,15 @@ static struct mcu_type_s mcu_types[] =
{"atmega32u2", AVR_ISA_AVR35, bfd_mach_avr35},
{"atmega8", AVR_ISA_M8, bfd_mach_avr4},
{"atmega48", AVR_ISA_AVR4, bfd_mach_avr4},
+ {"atmega48a", AVR_ISA_AVR4, bfd_mach_avr4},
{"atmega48p", AVR_ISA_AVR4, bfd_mach_avr4},
{"atmega88", AVR_ISA_AVR4, bfd_mach_avr4},
+ {"atmega88a", AVR_ISA_AVR4, bfd_mach_avr4},
{"atmega88p", AVR_ISA_AVR4, bfd_mach_avr4},
+ {"atmega88pa", AVR_ISA_AVR4, bfd_mach_avr4},
{"atmega8515", AVR_ISA_M8, bfd_mach_avr4},
{"atmega8535", AVR_ISA_M8, bfd_mach_avr4},
{"atmega8hva", AVR_ISA_AVR4, bfd_mach_avr4},
- {"atmega4hvd", AVR_ISA_AVR4, bfd_mach_avr4},
- {"atmega8hvd", AVR_ISA_AVR4, bfd_mach_avr4},
- {"atmega8c1", AVR_ISA_AVR4, bfd_mach_avr4},
- {"atmega8m1", AVR_ISA_AVR4, bfd_mach_avr4},
{"at90pwm1", AVR_ISA_AVR4, bfd_mach_avr4},
{"at90pwm2", AVR_ISA_AVR4, bfd_mach_avr4},
{"at90pwm2b", AVR_ISA_AVR4, bfd_mach_avr4},
@@ -150,42 +150,66 @@ static struct mcu_type_s mcu_types[] =
{"at90pwm3b", AVR_ISA_AVR4, bfd_mach_avr4},
{"at90pwm81", AVR_ISA_AVR4, bfd_mach_avr4},
{"atmega16", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega16a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega161", AVR_ISA_M161, bfd_mach_avr5},
{"atmega162", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega163", AVR_ISA_M161, bfd_mach_avr5},
+ {"atmega164a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega164p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega165", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega165a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega165p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega168", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega168a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega168p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega169", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega169a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega169p", AVR_ISA_AVR5, bfd_mach_avr5},
- {"atmega16c1", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega169pa",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega32", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega323", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega324a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega324p", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega324pa",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega325", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega325a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega325p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega3250", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega3250a",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega3250p",AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega328", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega328p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega329", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega329a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega329p", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega329pa",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega3290", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega3290a",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega3290p",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega406", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega64", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega640", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega644", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega644a", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega644p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega644pa",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega645", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega645a", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega645p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega649", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega649a", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega649p", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega6450", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega6450a",AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega6450p",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega6490", AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega6490a",AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega6490p",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega16hva",AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega16hva2",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega16hvb",AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega32hvb",AVR_ISA_AVR5, bfd_mach_avr5},
+ {"atmega64hve",AVR_ISA_AVR5, bfd_mach_avr5},
{"at90can32" , AVR_ISA_AVR5, bfd_mach_avr5},
{"at90can64" , AVR_ISA_AVR5, bfd_mach_avr5},
{"at90pwm216", AVR_ISA_AVR5, bfd_mach_avr5},
@@ -202,6 +226,7 @@ static struct mcu_type_s mcu_types[] =
{"at90usb647", AVR_ISA_AVR5, bfd_mach_avr5},
{"at90scr100", AVR_ISA_AVR5, bfd_mach_avr5},
{"at94k", AVR_ISA_94K, bfd_mach_avr5},
+ {"m3000", AVR_ISA_AVR5, bfd_mach_avr5},
{"atmega128", AVR_ISA_AVR51, bfd_mach_avr51},
{"atmega1280", AVR_ISA_AVR51, bfd_mach_avr51},
{"atmega1281", AVR_ISA_AVR51, bfd_mach_avr51},
@@ -210,9 +235,6 @@ static struct mcu_type_s mcu_types[] =
{"at90can128", AVR_ISA_AVR51, bfd_mach_avr51},
{"at90usb1286",AVR_ISA_AVR51, bfd_mach_avr51},
{"at90usb1287",AVR_ISA_AVR51, bfd_mach_avr51},
- {"m3000f", AVR_ISA_AVR51, bfd_mach_avr51},
- {"m3000s", AVR_ISA_AVR51, bfd_mach_avr51},
- {"m3001b", AVR_ISA_AVR51, bfd_mach_avr51},
{"atmega2560", AVR_ISA_AVR6, bfd_mach_avr6},
{"atmega2561", AVR_ISA_AVR6, bfd_mach_avr6},
{NULL, 0, 0}
diff --git a/gas/doc/c-avr.texi b/gas/doc/c-avr.texi
index bc40a86..d0d0068 100644
--- a/gas/doc/c-avr.texi
+++ b/gas/doc/c-avr.texi
@@ -44,8 +44,9 @@ at90s8535).
Instruction set avr25 is for the classic AVR core with up to 8K program memory
space plus the MOVW instruction (MCU types: attiny13, attiny13a, attiny2313,
attiny2313a, attiny24, attiny24a, attiny4313, attiny44, attiny44a, attiny84,
-attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461, attiny861,
-attiny861a, attiny87, attiny43u, attiny48, attiny88, at86rf401, ata6289).
+attiny84a, attiny25, attiny45, attiny85, attiny261, attiny261a, attiny461,
+attiny461a, attiny861, attiny861a, attiny87, attiny43u, attiny48, attiny88,
+at86rf401, ata6289).
Instruction set avr3 is for the classic AVR core with up to 128K program
memory space (MCU types: at43usb355, at76c711).
@@ -54,28 +55,32 @@ Instruction set avr31 is for the classic AVR core with exactly 128K program
memory space (MCU types: atmega103, at43usb320).
Instruction set avr35 is for classic AVR core plus MOVW, CALL, and JMP
-instructions (MCU types: attiny167, attiny327, at90usb82, at90usb162, atmega8u2,
+instructions (MCU types: attiny167, at90usb82, at90usb162, atmega8u2,
atmega16u2, atmega32u2).
Instruction set avr4 is for the enhanced AVR core with up to 8K program
-memory space (MCU types: atmega48, atmega48p,atmega8, atmega88, atmega88p,
-atmega8515, atmega8535, atmega8hva, atmega4hvd, atmega8hvd, at90pwm1,
-at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81, atmega8m1, atmega8c1).
+memory space (MCU types: atmega48, atmega48a, atmega48p, atmega8, atmega88,
+atmega88a, atmega88p, atmega88pa, atmega8515, atmega8535, atmega8hva, at90pwm1,
+at90pwm2, at90pwm2b, at90pwm3, at90pwm3b, at90pwm81).
Instruction set avr5 is for the enhanced AVR core with up to 128K program
-memory space (MCU types: atmega16, atmega161, atmega162, atmega163, atmega164p,
-atmega165, atmega165p, atmega168, atmega168p, atmega169, atmega169p, atmega16c1,
-atmega32, atmega323, atmega324p, atmega325, atmega325p, atmega3250, atmega3250p,
-atmega328p, atmega329, atmega329p, atmega3290, atmega3290p, atmega406, atmega64,
-atmega640, atmega644, atmega644p, atmega644pa, atmega645, atmega6450, atmega649,
-atmega6490, atmega16hva, atmega16hvb, atmega32hvb, at90can32, at90can64,
-at90pwm216, at90pwm316, atmega32c1, atmega64c1, atmega16m1, atmega32m1,
-atmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646, at90usb647, at94k,
-at90scr100).
+memory space (MCU types: atmega16, atmega16a, atmega161, atmega162, atmega163,
+atmega164a, atmega164p, atmega165, atmega165a, atmega165p, atmega168,
+atmega168a, atmega168p, atmega169, atmega169a, atmega169p, atmega169pa,
+atmega32, atmega323, atmega324a, atmega324p, atmega325, atmega325a, atmega325p,
+atmega3250, atmega3250a, atmega3250p, atmega328, atmega328p, atmega329,
+atmega329a, atmega329p, atmega329pa, atmega3290, atmega3290a, atmega3290p,
+atmega406, atmega64, atmega640, atmega644, atmega644a, atmega644p, atmega644pa,
+atmega645, atmega645a, atmega645p, atmega6450, atmega6450a, atmega6450p,
+atmega649, atmega649a, atmega649p, atmega6490, atmega6490a, atmega6490p,
+atmega16hva, atmega16hva2, atmega16hvb, atmega32hvb, atmega64hve, at90can32,
+at90can64, at90pwm216, at90pwm316, atmega32c1, atmega64c1, atmega16m1,
+atmega32m1, atmega64m1, atmega16u4, atmega32u4, atmega32u6, at90usb646,
+at90usb647, at94k, at90scr100).
Instruction set avr51 is for the enhanced AVR core with exactly 128K program
memory space (MCU types: atmega128, atmega1280, atmega1281, atmega1284p,
-atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000f, m3000s, m3001b).
+atmega128rfa1, at90can128, at90usb1286, at90usb1287, m3000).
Instruction set avr6 is for the enhanced AVR core with a 3-byte PC (MCU types:
atmega2560, atmega2561).