From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24122 invoked by alias); 3 Mar 2014 05:50:53 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 24109 invoked by uid 89); 3 Mar 2014 05:50:52 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_PASS autolearn=ham version=3.3.2 X-HELO: DVREDG01.corp.atmel.com Received: from nasmtp01.atmel.com (HELO DVREDG01.corp.atmel.com) (192.199.1.245) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Mon, 03 Mar 2014 05:50:51 +0000 Received: from apsmtp01.atmel.com (10.168.254.31) by DVREDG01.corp.atmel.com (10.42.103.30) with Microsoft SMTP Server (TLS) id 14.2.347.0; Sun, 2 Mar 2014 22:50:47 -0700 Received: from PENCHT01.corp.atmel.com (10.168.5.161) by apsmtp01.atmel.com (10.168.254.31) with Microsoft SMTP Server (TLS) id 14.2.347.0; Mon, 3 Mar 2014 14:00:50 +0800 Received: from PENMBX01.corp.atmel.com ([10.168.5.210]) by PENCHT01.corp.atmel.com ([fe80::95df:d3d0:4452:28e3%12]) with mapi id 14.02.0342.003; Mon, 3 Mar 2014 13:50:46 +0800 From: "S, Pitchumani" To: "binutils@sourceware.org" CC: "chertykov@gmail.com" Subject: [patch,avr] device specific instruction support for avr devices Date: Mon, 03 Mar 2014 05:50:00 -0000 Message-ID: Content-Type: multipart/mixed; boundary="_002_CAC140656783604CABA6AE60C2A6D5A46ADED349penmbx01_" MIME-Version: 1.0 X-IsSubscribed: yes X-SW-Source: 2014-03/txt/msg00011.txt.bz2 --_002_CAC140656783604CABA6AE60C2A6D5A46ADED349penmbx01_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Content-length: 1535 Hi, Few AVR Xmega devices have specific instruction support than the architectu= re it belongs to. For example atxmega128b1 device has RMW instructions (XCH,LA= C, 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.=20 - 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. Thanks, Pitchumani gas/ChangeLog 2014-02-25 Pitchumani Sivanupandi * config/tc-avr.c: Add specified_mcu variable for selected mcu. (enum options): add OPTION_RMW_ISA 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 * gas/avr/avr.exp: Run new tests. * gas/avr/rmw.d: Add test for additional ISA support. * gas/avr/rmw.s: Ditto. --_002_CAC140656783604CABA6AE60C2A6D5A46ADED349penmbx01_ Content-Type: application/octet-stream; name="device-specific-isa-avr-as.patch" Content-Description: device-specific-isa-avr-as.patch Content-Disposition: attachment; filename="device-specific-isa-avr-as.patch"; size=5248; creation-date="Tue, 25 Feb 2014 11:57:59 GMT"; modification-date="Tue, 25 Feb 2014 11:57:59 GMT" Content-Transfer-Encoding: base64 Content-length: 7117 ZGlmZiAtLWdpdCBhL2dhcy9jb25maWcvdGMtYXZyLmMgYi9nYXMvY29uZmln L3RjLWF2ci5jCmluZGV4IDMzMmFhMmQuLmJjNTdhMzEgMTAwNjQ0Ci0tLSBh L2dhcy9jb25maWcvdGMtYXZyLmMKKysrIGIvZ2FzL2NvbmZpZy90Yy1hdnIu YwpAQCAtMjgzLDggKzI4MywxMCBAQCBzdGF0aWMgc3RydWN0IG1jdV90eXBl X3MgbWN1X3R5cGVzW10gPQogICB7TlVMTCwgMCwgMH0KIH07CiAKKwogLyog Q3VycmVudCBNQ1UgdHlwZS4gICovCiBzdGF0aWMgc3RydWN0IG1jdV90eXBl X3MgICBkZWZhdWx0X21jdSA9IHsiYXZyMiIsIEFWUl9JU0FfQVZSMiwgYmZk X21hY2hfYXZyMn07CitzdGF0aWMgc3RydWN0IG1jdV90eXBlX3MgICBzcGVj aWZpZWRfbWN1Owogc3RhdGljIHN0cnVjdCBtY3VfdHlwZV9zICogYXZyX21j dSA9ICYgZGVmYXVsdF9tY3U7CiAKIC8qIEFWUiB0YXJnZXQtc3BlY2lmaWMg c3dpdGNoZXMuICAqLwpAQCAtMzU1LDcgKzM1Nyw4IEBAIGVudW0gb3B0aW9u cwogewogICBPUFRJT05fQUxMX09QQ09ERVMgPSBPUFRJT05fTURfQkFTRSAr IDEsCiAgIE9QVElPTl9OT19TS0lQX0JVRywKLSAgT1BUSU9OX05PX1dSQVAK KyAgT1BUSU9OX05PX1dSQVAsCisgIE9QVElPTl9STVdfSVNBCiB9OwogCiBz dHJ1Y3Qgb3B0aW9uIG1kX2xvbmdvcHRzW10gPQpAQCAtMzY0LDYgKzM2Nyw3 IEBAIHN0cnVjdCBvcHRpb24gbWRfbG9uZ29wdHNbXSA9CiAgIHsgIm1hbGwt b3Bjb2RlcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fQUxMX09QQ09E RVMgfSwKICAgeyAibW5vLXNraXAtYnVnIiwgbm9fYXJndW1lbnQsIE5VTEws IE9QVElPTl9OT19TS0lQX0JVRyB9LAogICB7ICJtbm8td3JhcCIsICAgICBu b19hcmd1bWVudCwgTlVMTCwgT1BUSU9OX05PX1dSQVAgICAgIH0sCisgIHsg Im1ybXciLCAgICAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fUk1X X0lTQSAgICAgfSwKICAgeyBOVUxMLCBub19hcmd1bWVudCwgTlVMTCwgMCB9 CiB9OwogCkBAIC00NjgsNyArNDcyLDkgQEAgbWRfc2hvd191c2FnZSAoRklM RSAqc3RyZWFtKQogCSIgIC1tbm8tc2tpcC1idWcgICAgZGlzYWJsZSB3YXJu aW5ncyBmb3Igc2tpcHBpbmcgdHdvLXdvcmQgaW5zdHJ1Y3Rpb25zXG4iCiAJ IiAgICAgICAgICAgICAgICAgICAoZGVmYXVsdCBmb3IgYXZyNCwgYXZyNSlc biIKIAkiICAtbW5vLXdyYXAgICAgICAgIHJlamVjdCByam1wL3JjYWxsIGlu c3RydWN0aW9ucyB3aXRoIDhLIHdyYXAtYXJvdW5kXG4iCi0JIiAgICAgICAg ICAgICAgICAgICAoZGVmYXVsdCBmb3IgYXZyMywgYXZyNSlcbiIpKTsKKwki ICAgICAgICAgICAgICAgICAgIChkZWZhdWx0IGZvciBhdnIzLCBhdnI1KVxu IgorICAgICIgIC1tcm13ICAgICAgICAgICAgYWNjZXB0IFJNVyBpbnN0cnVj dGlvbnNcbiIKKyAgICApKTsKICAgc2hvd19tY3VfbGlzdCAoc3RyZWFtKTsK IH0KIApAQCAtNTE1LDcgKzUyMSwxMiBAQCBtZF9wYXJzZV9vcHRpb24gKGlu dCBjLCBjaGFyICphcmcpCiAJICAgdHlwZSAtIHRoaXMgZm9yIGFsbG93cyBw YXNzaW5nIC1tbWN1PS4uLiB2aWEgZ2NjIEFTTV9TUEVDIGFzIHdlbGwKIAkg ICBhcyAuYXJjaCAuLi4gaW4gdGhlIGFzbSBvdXRwdXQgYXQgdGhlIHNhbWUg dGltZS4gICovCiAJaWYgKGF2cl9tY3UgPT0gJmRlZmF1bHRfbWN1IHx8IGF2 cl9tY3UtPm1hY2ggPT0gbWN1X3R5cGVzW2ldLm1hY2gpCi0JICBhdnJfbWN1 ID0gJm1jdV90eXBlc1tpXTsKKyAgICAgIHsKKyAgICAgICAgc3BlY2lmaWVk X21jdS5uYW1lID0gbWN1X3R5cGVzW2ldLm5hbWU7CisgICAgICAgIHNwZWNp ZmllZF9tY3UuaXNhICB8PSBtY3VfdHlwZXNbaV0uaXNhOworICAgICAgICBz cGVjaWZpZWRfbWN1Lm1hY2ggPSBtY3VfdHlwZXNbaV0ubWFjaDsKKyAgICAg ICAgYXZyX21jdSA9ICZzcGVjaWZpZWRfbWN1OworICAgICAgfQogCWVsc2UK IAkgIGFzX2ZhdGFsIChfKCJyZWRlZmluaXRpb24gb2YgbWN1IHR5cGUgYCVz JyB0byBgJXMnIiksCiAJCSAgICBhdnJfbWN1LT5uYW1lLCBtY3VfdHlwZXNb aV0ubmFtZSk7CkBAIC01MzAsNiArNTQxLDkgQEAgbWRfcGFyc2Vfb3B0aW9u IChpbnQgYywgY2hhciAqYXJnKQogICAgIGNhc2UgT1BUSU9OX05PX1dSQVA6 CiAgICAgICBhdnJfb3B0Lm5vX3dyYXAgPSAxOwogICAgICAgcmV0dXJuIDE7 CisgICAgY2FzZSBPUFRJT05fUk1XX0lTQToKKyAgICAgIHNwZWNpZmllZF9t Y3UuaXNhIHw9IEFWUl9JU0FfUk1XOworICAgICAgcmV0dXJuIDE7CiAgICAg fQogCiAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEvZ2FzL2RvYy9jLWF2ci50 ZXhpIGIvZ2FzL2RvYy9jLWF2ci50ZXhpCmluZGV4IDIxM2U4MmMuLjYwM2Q3 NTUgMTAwNjQ0Ci0tLSBhL2dhcy9kb2MvYy1hdnIudGV4aQorKysgYi9nYXMv ZG9jL2MtYXZyLnRleGkKQEAgLTEyNSw2ICsxMjUsMTAgQEAgVGhpcyBvcHRp b24gZGlzYWJsZSB3YXJuaW5ncyBmb3Igc2tpcHBpbmcgdHdvLXdvcmQgaW5z dHJ1Y3Rpb25zLgogQGl0ZW0gLW1uby13cmFwCiBUaGlzIG9wdGlvbiByZWpl Y3QgQGNvZGV7cmptcC9yY2FsbH0gaW5zdHJ1Y3Rpb25zIHdpdGggOEsgd3Jh cC1hcm91bmQuCiAKK0BjaW5kZXggQGNvZGV7LW1ybXd9IGNvbW1hbmQgbGlu ZSBvcHRpb24sIEFWUgorQGl0ZW0gLW1ybXcKK0FjY2VwdCBSTVcgKEBjb2Rl e1hDSCxMQUMsTEFTLExBVH0pIGluc3RydWN0aW9ucy4KKwogQGVuZCB0YWJs ZQogCiAKZGlmZiAtLWdpdCBhL2dhcy90ZXN0c3VpdGUvZ2FzL2F2ci9hdnIu ZXhwIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXZyL2F2ci5leHAKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmM5MGY5ZgotLS0gL2Rldi9u dWxsCisrKyBiL2dhcy90ZXN0c3VpdGUvZ2FzL2F2ci9hdnIuZXhwCkBAIC0w LDAgKzEsMjQgQEAKKyMgQ29weXJpZ2h0IDIwMTQKKyMgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKyMgCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjIAorIyBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90 LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJ bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQgLSBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAwMjExMC0xMzAxLCBVU0EuICAKKworIworIyBTb21lIEFWUiB0ZXN0 cworIworCitpZiB7W2lzdGFyZ2V0IGF2ci0qLSpdfSB7CisgICAgcnVuX2R1 bXBfdGVzdHMgW2xzb3J0IFtnbG9iIC1ub2NvbXBsYWluICRzcmNkaXIvJHN1 YmRpci8qLmRdXQorfQpkaWZmIC0tZ2l0IGEvZ2FzL3Rlc3RzdWl0ZS9nYXMv YXZyL3Jtdy5kIGIvZ2FzL3Rlc3RzdWl0ZS9nYXMvYXZyL3Jtdy5kCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4NTU0ZTEKLS0tIC9k ZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRlL2dhcy9hdnIvcm13LmQKQEAg LTAsMCArMSwyMyBAQAorI25hbWU6IEFWUiBSTVcgaW5zdHJ1Y3Rpb25zCisj YXM6IC1tbWN1PWF2cnhtZWdhMiAtbXJtdworI29iamR1bXA6IC1kciAtLXNo b3ctcmF3LWluc24KKyN0YXJnZXQ6IGF2ci0qLSoKKworLio6ICtmaWxlIGZv cm1hdCBlbGYzMi1hdnIKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAudGV4 dDoKKworMDAwMDAwMDAgPG1haW4+OgorICAgMDoJY2YgOTMgICAgICAgCXB1 c2gJcjI4CisgICAyOglkZiA5MyAgICAgICAJcHVzaAlyMjkKKyAgIDQ6CWNk IGI3ICAgICAgIAlpbglyMjgsIDB4M2QJOyA2MQorICAgNjoJZGUgYjcgICAg ICAgCWluCXIyOSwgMHgzZQk7IDYyCisgICA4OgljNCA5MiAgICAgICAJeGNo CVosIHIxMgorICAgYToJYzUgOTIgICAgICAgCWxhcwlaLCByMTIKKyAgIGM6 CWM2IDkyICAgICAgIAlsYWMJWiwgcjEyCisgICBlOgljNyA5MiAgICAgICAJ bGF0CVosIHIxMgorICAxMDoJODAgZTAgICAgICAgCWxkaQlyMjQsIDB4MDAJ OyAwCisgIDEyOgk5MCBlMCAgICAgICAJbGRpCXIyNSwgMHgwMAk7IDAKKyAg MTQ6CWRmIDkxICAgICAgIAlwb3AJcjI5CisgIDE2OgljZiA5MSAgICAgICAJ cG9wCXIyOAorICAxODoJMDggOTUgICAgICAgCXJldApkaWZmIC0tZ2l0IGEv Z2FzL3Rlc3RzdWl0ZS9nYXMvYXZyL3Jtdy5zIGIvZ2FzL3Rlc3RzdWl0ZS9n YXMvYXZyL3Jtdy5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmZjYTM5YzkKLS0tIC9kZXYvbnVsbAorKysgYi9nYXMvdGVzdHN1aXRl L2dhcy9hdnIvcm13LnMKQEAgLTAsMCArMSwzMiBAQAorCS5maWxlCSJybXcu cyIKK19fU1BfSF9fID0gMHgzZQorX19TUF9MX18gPSAweDNkCitfX1NSRUdf XyA9IDB4M2YKK19fQ0NQX18gPSAweDM0CitfX3RtcF9yZWdfXyA9IDAKK19f emVyb19yZWdfXyA9IDEKKwkudGV4dAorLmdsb2JhbAltYWluCisJLnR5cGUJ bWFpbiwgQGZ1bmN0aW9uCittYWluOgorCXB1c2ggcjI4CisJcHVzaCByMjkK KwlpbiByMjgsX19TUF9MX18KKwlpbiByMjksX19TUF9IX18KKy8qIHByb2xv Z3VlOiBmdW5jdGlvbiAqLworLyogZnJhbWUgc2l6ZSA9IDAgKi8KKy8qIHN0 YWNrIHNpemUgPSAyICovCisuTF9fc3RhY2tfdXNhZ2UgPSAyCisvKiAjQVBQ ICovCisJeGNoIFosIHIxMgorCWxhcyBaLCByMTIKKwlsYWMgWiwgcjEyCisJ bGF0IFosIHIxMgorLyogI05PQVBQICovCisJbGRpIHIyNCwwCisJbGRpIHIy NSwwCisvKiBlcGlsb2d1ZSBzdGFydCAqLworCXBvcCByMjkKKwlwb3AgcjI4 CisJcmV0CisJLnNpemUJbWFpbiwgLi1tYWluCg== --_002_CAC140656783604CABA6AE60C2A6D5A46ADED349penmbx01_--