diff -Naurp gcc/config/avr/avr-devices.c gcc/config/avr/avr-devices.c --- gcc/config/avr/avr-devices.c 2011-08-12 11:47:21.000000000 +0300 +++ gcc/config/avr/avr-devices.c 2011-08-12 11:42:24.000000000 +0300 @@ -210,6 +210,8 @@ const struct mcu_type_s avr_mcu_types[] { "atmega64c1", ARCH_AVR5, "__AVR_ATmega64C1__", 0, 0x0100, "m64c1" }, { "atmega64m1", ARCH_AVR5, "__AVR_ATmega64M1__", 0, 0x0100, "m64m1" }, { "atmega64hve", ARCH_AVR5, "__AVR_ATmega64HVE__", 0, 0x0100, "m64hve" }, + { "atmega64rfa2", ARCH_AVR5, "__AVR_ATmega64RFA2__", 0, 0x0200, "m64rfa2"}, + { "atmega64rfr2", ARCH_AVR5, "__AVR_ATmega64RFR2__", 0, 0x0200, "m64rfr2"}, { "atmega32hvb", ARCH_AVR5, "__AVR_ATmega32HVB__", 0, 0x0100, "m32hvb" }, { "atmega32hvbrevb", ARCH_AVR5, "__AVR_ATmega32HVBREVB__", 1, 0x0100, "m32hvbrevb" }, { "atmega16hva2", ARCH_AVR5, "__AVR_ATmega16HVA2__", 0, 0x0100, "m16hva2" }, @@ -238,14 +240,18 @@ const struct mcu_type_s avr_mcu_types[] { "atmega1281", ARCH_AVR51, "__AVR_ATmega1281__", 0, 0x0200, "m1281" }, { "atmega1284p", ARCH_AVR51, "__AVR_ATmega1284P__", 0, 0x0100, "m1284p" }, { "atmega128rfa1", ARCH_AVR51, "__AVR_ATmega128RFA1__", 0, 0x0200, "m128rfa1" }, + { "atmega128rfa2", ARCH_AVR51, "__AVR_ATmega128RFA2__", 0, 0x0200, "m128rfa2" }, + { "atmega128rfr2", ARCH_AVR51, "__AVR_ATmega128RFR2__", 0, 0x0200, "m128rfr2" }, { "at90can128", ARCH_AVR51, "__AVR_AT90CAN128__", 0, 0x0100, "can128" }, { "at90usb1286", ARCH_AVR51, "__AVR_AT90USB1286__", 0, 0x0100, "usb1286" }, { "at90usb1287", ARCH_AVR51, "__AVR_AT90USB1287__", 0, 0x0100, "usb1286" }, /* Enhanced, ==256K + 3-Byte PC + - { MOVW/LPMX, JMP/CALL, MUL, ELPM, ELPMX }. */ + { MOVW/LPMX, JMP/CALL, MUL, ELPM, ELPMX, EIJMP/EICALL }. */ { "avr6", ARCH_AVR6, NULL, 0, 0x0200, "m2561" }, { "atmega2560", ARCH_AVR6, "__AVR_ATmega2560__", 0, 0x0200, "m2560" }, { "atmega2561", ARCH_AVR6, "__AVR_ATmega2561__", 0, 0x0200, "m2561" }, + { "atmega256rfa2", ARCH_AVR6, "__AVR_ATmega256RFA2__", 0, 0x0200, "m256rfa2" }, + { "atmega256rfr2", ARCH_AVR6, "__AVR_ATmega256RFR2__", 0, 0x0200, "m256rfr2" }, /* Enhanced, == 256K. */ /* Xmega, <= 8K FLASH. */ /* Xmega, > 8K, <= 64K FLASH, <= 64K RAM. */ diff -Naurp gcc/config/avr/t-avr gcc/config/avr/t-avr --- gcc/config/avr/t-avr 2011-08-12 11:47:21.000000000 +0300 +++ gcc/config/avr/t-avr 2011-08-12 11:45:16.000000000 +0300 @@ -211,6 +211,8 @@ MULTILIB_MATCHES = \ mmcu?avr5=mmcu?atmega3290p \ mmcu?avr5=mmcu?atmega3290pa \ mmcu?avr5=mmcu?atmega406 \ + mmcu?avr5=mmcu?atmega64rfa2 \ + mmcu?avr5=mmcu?atmega64rfr2 \ mmcu?avr5=mmcu?atmega64 \ mmcu?avr5=mmcu?atmega640 \ mmcu?avr5=mmcu?atmega644 \ @@ -259,9 +261,13 @@ MULTILIB_MATCHES = \ mmcu?avr51=mmcu?atmega1281 \ mmcu?avr51=mmcu?atmega1284p \ mmcu?avr51=mmcu?atmega128rfa1 \ + mmcu?avr51=mmcu?atmega128rfa2 \ + mmcu?avr51=mmcu?atmega128rfr2 \ mmcu?avr51=mmcu?at90can128 \ mmcu?avr51=mmcu?at90usb1286 \ mmcu?avr51=mmcu?at90usb1287 \ + mmcu?avr6=mmcu?atmega256rfa2 \ + mmcu?avr6=mmcu?atmega256rfr2 \ mmcu?avr6=mmcu?atmega2560 \ mmcu?avr6=mmcu?atmega2561 \ mmcu?avrxmega2=mmcu?atxmega16a4 \