PR gas/2626

* avr.h (AVR_ISA_2xxe): Define.

        * config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
        to AVR_ISA_2xxe.
        (avr_operand): Disallow post-increment addressing in the lpm
        instruction for the attiny26.
This commit is contained in:
Nick Clifton 2008-02-14 13:04:29 +00:00
parent ab1579fdaf
commit d669d37f8d
4 changed files with 24 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2008-02-14 Hakan Ardo <hakan@debian.org>
PR gas/2626
* config/tc-avr.c (mcu_types): Change the ISA tyoe of the attiny26
to AVR_ISA_2xxe.
(avr_operand): Disallow post-increment addressing in the lpm
instruction for the attiny26.
2008-02-13 Jan Beulich <jbeulich@novell.com>
* config/tc-i386.c (parse_real_register): Don't return 'FLAT'

View file

@ -1,6 +1,6 @@
/* tc-avr.c -- Assembler code for the ATMEL AVR
Copyright 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007
Copyright 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
@ -77,7 +77,7 @@ static struct mcu_type_s mcu_types[] =
{"at90s2333", AVR_ISA_2xxx, bfd_mach_avr2}, /* XXX -> 4433 */
{"at90s2343", AVR_ISA_2xxx, bfd_mach_avr2},
{"attiny22", AVR_ISA_2xxx, bfd_mach_avr2}, /* XXX -> 2343 */
{"attiny26", AVR_ISA_2xxx, bfd_mach_avr2},
{"attiny26", AVR_ISA_2xxe, bfd_mach_avr2},
{"at90s4433", AVR_ISA_2xxx, bfd_mach_avr2},
{"at90s4414", AVR_ISA_2xxx, bfd_mach_avr2}, /* XXX -> 8515 */
{"at90s4434", AVR_ISA_2xxx, bfd_mach_avr2}, /* XXX -> 8535 */
@ -765,6 +765,12 @@ avr_operand (struct avr_opcodes_s *opcode,
++str;
op_mask |= 1;
}
/* attiny26 can do "lpm" and "lpm r,Z" but not "lpm r,Z+". */
if (!avr_opt.all_opcodes
&& (op_mask & 0x0001)
&& !(avr_mcu->isa & AVR_ISA_MOVW))
as_bad (_("postincrement not supported"));
break;
case 'b':

View file

@ -1,3 +1,8 @@
2008-02-14 Hakan Ardo <hakan@debian.org>
PR gas/2626
* avr.h (AVR_ISA_2xxe): Define.
2008-02-04 Adam Nemet <anemet@caviumnetworks.com>
* mips.h: Update copyright.

View file

@ -1,6 +1,6 @@
/* Opcode table for the Atmel AVR micro controllers.
Copyright 2000, 2001, 2004, 2006 Free Software Foundation, Inc.
Copyright 2000, 2001, 2004, 2006, 2008 Free Software Foundation, Inc.
Contributed by Denis Chertykov <denisc@overta.ru>
This program is free software; you can redistribute it and/or modify
@ -34,6 +34,8 @@
#define AVR_ISA_TINY1 (AVR_ISA_1200 | AVR_ISA_LPM)
#define AVR_ISA_PWMx (AVR_ISA_M8 | AVR_ISA_BRK)
#define AVR_ISA_2xxx (AVR_ISA_TINY1 | AVR_ISA_SRAM)
/* For the attiny26 which is missing LPM Rd,Z+. */
#define AVR_ISA_2xxe (AVR_ISA_2xxx | AVR_ISA_LPMX)
#define AVR_ISA_RF401 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX)
#define AVR_ISA_TINY2 (AVR_ISA_2xxx | AVR_ISA_MOVW | AVR_ISA_LPMX | \
AVR_ISA_SPM | AVR_ISA_BRK)