This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: [patch,avr] device specific instruction support for avr devices
- From: "S, Pitchumani" <Pitchumani dot S at atmel dot com>
- To: "binutils at sourceware dot org" <binutils at sourceware dot org>
- Cc: "chertykov at gmail dot com" <chertykov at gmail dot com>
- Date: Mon, 24 Mar 2014 08:23:05 +0000
- Subject: RE: [patch,avr] device specific instruction support for avr devices
- Authentication-results: sourceware.org; auth=none
- References: <CAC140656783604CABA6AE60C2A6D5A46ADED349 at penmbx01>
> -----Original Message-----
> From: binutils-owner@sourceware.org [mailto:binutils-owner@sourceware.org]
> On Behalf Of S, Pitchumani
> Sent: Monday, March 03, 2014 11:21 AM
> To: binutils@sourceware.org
> Cc: chertykov@gmail.com
> Subject: [patch,avr] device specific instruction support for avr devices
>
> Hi,
>
> Few AVR Xmega devices have specific instruction support than the
> architecture
> it belongs to. For example atxmega128b1 device has RMW instructions
> (XCH,LAC,
> LAS and LAT) support, but not all avrxmega6 devices have.
>
> Now, avr-gcc passes architecture name to assembler instead of device name.
> So,
> RMW instructions are not recognized (illegal opcode error) by assembler.
>
> I have attached a patch to address this issue in assembler.
> - It adds a option '-mrmw' to assembler.
> - Based on -mrmw option device specific instructions are added to current
> instruction set (mcu_types[i].isa | AVR_ISA_RMW)
> Now assembler can recognize rmw instructions for respective devices.
>
> It is necessary to update gcc to pass -mrmw option to assembler if the
> selected device has rmw instructions. I'll send a patch for gcc as well.
>
> Please review the attached patch and give your suggestions.
Hi,
I have updated the patch to include -mrmw option to binutils.
Patch for gcc update submitted in avr-gcc list.
http://lists.nongnu.org/archive/html/avr-gcc-list/2014-03/msg00004.html
Regards,
Pitchumani
gas/ChangeLog
2014-03-24 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
* config/tc-avr.c: Add specified_mcu variable for selected mcu.
(enum options): add OPTION_ISA_RMW for -mrmw option.
(struct option md_longopts): Add mrmw option.
(md_show_usage): add -mrmw option description.
(md_parse_option): Update isa details if -mrmw option specified.
* doc/c-avr.texi: Add doc for new option -mrmw.
gas/testsuite/ChangeLog
2014-02-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
* gas/avr/avr.exp: Run new tests.
* gas/avr/rmw.d: Add test for additional ISA support.
* gas/avr/rmw.s: Ditto.