From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29631 invoked by alias); 25 Apr 2012 12:17:11 -0000 Received: (qmail 29590 invoked by uid 22791); 25 Apr 2012 12:17:02 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE,TW_BG,TW_DM,TW_OV,TW_VF,T_FRT_LOLITA1 X-Spam-Check-By: sourceware.org Received: from mail-lb0-f175.google.com (HELO mail-lb0-f175.google.com) (209.85.217.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 25 Apr 2012 12:16:48 +0000 Received: by lbjn8 with SMTP id n8so14959lbj.20 for ; Wed, 25 Apr 2012 05:16:46 -0700 (PDT) MIME-Version: 1.0 Received: by 10.152.105.19 with SMTP id gi19mr2428398lab.11.1335356206476; Wed, 25 Apr 2012 05:16:46 -0700 (PDT) Received: by 10.152.4.164 with HTTP; Wed, 25 Apr 2012 05:16:46 -0700 (PDT) Date: Wed, 25 Apr 2012 12:17:00 -0000 Message-ID: Subject: [ARM]Extra load store/instructions compared to gcc-3.4 From: Alexey Kravets To: gcc@gcc.gnu.org Content-Type: multipart/mixed; boundary=f46d040716e155ef4104be7fd818 X-IsSubscribed: yes Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org X-SW-Source: 2012-04/txt/msg00814.txt.bz2 --f46d040716e155ef4104be7fd818 Content-Type: text/plain; charset=ISO-8859-1 Content-length: 761 Hi guys, I have a test case (shell sort, see attached) compiled with different ARM compilers: GCC-4.6.3, GCC-3.4.6, and ARMCC. Both ARMCC and GCC-3.4.6 generate quite optimal assembly while GCC-4.6.3 inserts extra load/store instructions compared to the other compilers. Can the SSA representation usage in modern GCC be the reason for this? If so, has anyone tried to do something about it? The generated assembly codes are attached: sort-3.4.s: Assembly, generated by the GCC-3.4.6 sort-4.6.3.s: Assembly, generated by the GCC-4.6.3 sort-armcc.s: Assembly, generated by the ARMCC % armcc ARM C/C++ Compiler, 4.1 [Build 713] The file has been compiled with following options: for GCC: -O3 for ARMCC: -O3 -Otime -- Alexey Kravets mr.kayrick@gmail.com --f46d040716e155ef4104be7fd818 Content-Type: text/plain; charset=us-ascii; name="sort-3.4.s" Content-Disposition: attachment; filename="sort-3.4.s" Content-Transfer-Encoding: base64 X-Attachment-Id: 5c66b562c577e9a_0.2 Content-length: 1253 CS5maWxlCSJzb3J0LmkiDQoJLmdsb2JhbAlfX2RpdnNpMw0KCS50ZXh0DQoJ LmFsaWduCTINCgkuZ2xvYmFsCXNoZWxsX3NvcnQNCgkudHlwZQlzaGVsbF9z b3J0LCAlZnVuY3Rpb24NCnNoZWxsX3NvcnQ6DQoJQCBhcmdzID0gMCwgcHJl dGVuZCA9IDAsIGZyYW1lID0gMA0KCUAgZnJhbWVfbmVlZGVkID0gMCwgdXNl c19hbm9ueW1vdXNfYXJncyA9IDANCglzdG1mZAlzcCEsIHtyNCwgcjUsIHI2 LCByNywgcjgsIHI5LCBzbCwgZnAsIGxyfQ0KCW1vdglmcCwgcjENCglzdWIJ cjcsIHIwLCAjNA0KCW1vdglyOCwgIzENCi5MMjoNCglhZGQJcjMsIHI4LCBy OCwgYXNsICMxDQoJYWRkCXI4LCByMywgIzENCgljbXAJcjgsIGZwDQoJYmxl CS5MMg0KLkwxNzoNCgltb3YJcjAsIHI4DQoJbW92CXIxLCAjMw0KCWJsCV9f ZGl2c2kzDQoJYWRkCXI5LCByMCwgIzENCgljbXAJcjksIGZwDQoJbW92CXI4 LCByMA0KCWJndAkuTDE2DQouTDI2Og0KCWxkcglzbCwgW3I3LCByOSwgYXNs ICMyXQ0KCW1vdglyNCwgcjkNCgliCS5MMTENCi5MMjU6DQoJbGRyCXI1LCBb cjcsIHI2LCBhc2wgIzJdDQoJbW92CXIwLCByNQ0KCWJsCXN0cmNtcA0KCWNt cAlyMCwgIzANCglibGUJLkwxMg0KCXN0cglyNSwgW3I3LCByNCwgYXNsICMy XQ0KCW1vdglyNCwgcjYNCi5MMTE6DQoJY21wCXI0LCByOA0KCXJzYglyNiwg cjgsIHI0DQoJbW92CXIxLCBzbA0KCWJndAkuTDI1DQouTDEyOg0KCWFkZAly OSwgcjksICMxDQoJY21wCXI5LCBmcA0KCXN0cglzbCwgW3I3LCByNCwgYXNs ICMyXQ0KCWJsZQkuTDI2DQouTDE2Og0KCWNtcAlyOCwgIzENCgliZ3QJLkwx Nw0KCWxkbWZkCXNwISwge3I0LCByNSwgcjYsIHI3LCByOCwgcjksIHNsLCBm cCwgcGN9DQoJLnNpemUJc2hlbGxfc29ydCwgLi1zaGVsbF9zb3J0DQoJLmlk ZW50CSJHQ0M6IChHTlUpIDMuNC42Ig0K --f46d040716e155ef4104be7fd818 Content-Type: text/x-csrc; charset=us-ascii; name="shell_sort.c" Content-Disposition: attachment; filename="shell_sort.c" Content-Transfer-Encoding: base64 X-Attachment-Id: 5c66b562c577e9a_0.1 Content-length: 728 I2luY2x1ZGUgPHN0cmluZy5oPg0Kdm9pZCBzaGVsbF9zb3J0KGNoYXIgKnN0 cmluZ3NbXSwgaW50IG4pDQp7DQogICAgaW50IGgsIGksIGo7DQogICAgY2hh ciAqdjsNCg0KICAgIHN0cmluZ3MtLTsgICAgICAgIC8qIE1ha2UgYXJyYXkg MSBvcmlnaW4gKi8NCiAgICBoID0gMTsNCiAgICBkbyB7aCA9IGggKiAzICsg MTt9IHdoaWxlIChoIDw9IG4pOw0KICAgIGRvIHsNCiAgICAgICAgaCA9IGgg LyAzOw0KICAgICAgICBmb3IgKGkgPSBoICsgMTsgaSA8PSBuOyBpKyspIHsN CiAgICAgICAgICAgIHYgPSBzdHJpbmdzW2ldOw0KICAgICAgICAgICAgaiA9 IGk7DQogICAgICAgICAgICB3aGlsZSAoaiA+IGggJiYgc3RyY21wKHN0cmlu Z3Nbai1oXSwgdikgPiAwKSB7DQogICAgICAgICAgICAgICAgc3RyaW5nc1tq XSA9IHN0cmluZ3Nbai1oXTsNCiAgICAgICAgICAgICAgICBqID0gai1oOw0K ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgc3RyaW5nc1tqXSA9IHY7DQog ICAgICAgIH0NCiAgICB9DQogICAgd2hpbGUgKGggPiAxKTsNCn0NCg== --f46d040716e155ef4104be7fd818 Content-Type: text/plain; charset=us-ascii; name="sort-4.6.3.s" Content-Disposition: attachment; filename="sort-4.6.3.s" Content-Transfer-Encoding: base64 X-Attachment-Id: 5c66b562c577e9a_0.3 Content-length: 2758 CS5jcHUgY29ydGV4LWE5DQoJLmVhYmlfYXR0cmlidXRlIDI3LCAzDQoJLmZw dSB2ZnAzDQoJLmVhYmlfYXR0cmlidXRlIDIwLCAxDQoJLmVhYmlfYXR0cmli dXRlIDIxLCAxDQoJLmVhYmlfYXR0cmlidXRlIDIzLCAzDQoJLmVhYmlfYXR0 cmlidXRlIDI0LCAxDQoJLmVhYmlfYXR0cmlidXRlIDI1LCAxDQoJLmVhYmlf YXR0cmlidXRlIDI2LCAyDQoJLmVhYmlfYXR0cmlidXRlIDMwLCAyDQoJLmVh YmlfYXR0cmlidXRlIDM0LCAxDQoJLmVhYmlfYXR0cmlidXRlIDE4LCAyDQoJ LmZpbGUJInNoZWxsX3NvcnQuYyINCgkudGV4dA0KCS5hbGlnbgkyDQoJLmds b2JhbAlzaGVsbF9zb3J0DQoJLnR5cGUJc2hlbGxfc29ydCwgJWZ1bmN0aW9u DQpzaGVsbF9zb3J0Og0KCUAgYXJncyA9IDAsIHByZXRlbmQgPSAwLCBmcmFt ZSA9IDQwDQoJQCBmcmFtZV9uZWVkZWQgPSAwLCB1c2VzX2Fub255bW91c19h cmdzID0gMA0KCXN0bWZkCXNwISwge3I0LCByNSwgcjYsIHI3LCByOCwgcjks IHNsLCBmcCwgbHJ9DQoJbW92CXIzLCByMQ0KCW1vdglyOSwgIzENCglzdWIJ c3AsIHNwLCAjNDQNCglzdWIJcjIsIHIwLCAjNA0KCXN0cglyMCwgW3NwLCAj MjhdDQoJc3RyCXIxLCBbc3AsICMzMl0NCglzdHIJcjIsIFtzcCwgIzI0XQ0K LkwyOg0KCWFkZAlyOSwgcjksIHI5LCBhc2wgIzENCglhZGQJcjksIHI5LCAj MQ0KCWNtcAlyOSwgcjMNCglibGUJLkwyDQoJbGRyCXIyLCBbc3AsICMzMl0N Cgltb3Z3CXIzLCAjMjE4NDYNCgltb3Z0CXIzLCAyMTg0NQ0KCXN0cglyMywg W3NwLCAjMzZdDQoJYWRkCXIyLCByMiwgIzENCglzdHIJcjIsIFtzcCwgIzIw XQ0KLkw5Og0KCWxkcglyMiwgW3NwLCAjMzZdDQoJc211bGwJcjIsIHIzLCBy MiwgcjkNCglsZHIJcjIsIFtzcCwgIzMyXQ0KCXN1YglyOSwgcjMsIHI5LCBh c3IgIzMxDQoJYWRkCXIzLCByOSwgIzENCgljbXAJcjIsIHIzDQoJc3RyCXIz LCBbc3AsICM4XQ0KCWJsdAkuTDMNCglyc2IJcjMsIHI5LCByOSwgYXNsICMz MA0KCW1vdglyMiwgcjksIGFzbCAjMg0KCW1vdglyMywgcjMsIGFzbCAjMg0K CXN0cglyMiwgW3NwLCAjMF0NCglyc2IJZnAsIHI5LCAjMA0KCXN0cglyMywg W3NwLCAjNF0NCglsZHIJcjMsIFtzcCwgIzI4XQ0KCWFkZAlyMywgcjMsIHIy DQoJbGRyCXIyLCBbc3AsICMyOF0NCglzdHIJcjMsIFtzcCwgIzEyXQ0KCXN0 cglyMiwgW3NwLCAjMTZdDQouTDc6DQoJbGRyCXI4LCBbc3AsICMxMl0NCgls ZHIJcjMsIFtzcCwgIzhdDQoJbW92CXIyLCByOA0KCWxkcglzbCwgW3IyXSwg IzQNCgljbXAJcjksIHIzDQoJc3RyCXIyLCBbc3AsICMxMl0NCgliZ2UJLkw0 DQoJbGRyCXI0LCBbc3AsICMxNl0NCgltb3YJcjcsIHIzDQoJYgkuTDUNCi5M NjoNCglsZHIJcjMsIFtzcCwgIzBdDQoJY21wCXI5LCByNg0KCWxkcglyMiwg W3NwLCAjNF0NCgltb3YJcjcsIHI2DQoJc3RyCXI1LCBbcjQsIHIzXQ0KCWFk ZAlyNCwgcjQsIHIyDQoJYmdlCS5MNA0KLkw1Og0KCWxkcglyNSwgW3I0LCAj MF0NCgltb3YJcjEsIHNsDQoJYWRkCXI2LCByNywgZnANCgltb3YJcjgsIHI0 DQoJbW92CXIwLCByNQ0KCWJsCXN0cmNtcA0KCWNtcAlyMCwgIzANCgliZ3QJ Lkw2DQoJbGRyCXIzLCBbc3AsICMyNF0NCglhZGQJcjgsIHIzLCByNywgYXNs ICMyDQouTDQ6DQoJbGRyCXIyLCBbc3AsICM4XQ0KCWxkcglyMywgW3NwLCAj MjBdDQoJc3RyCXNsLCBbcjgsICMwXQ0KCWFkZAlyMiwgcjIsICMxDQoJc3Ry CXIyLCBbc3AsICM4XQ0KCWNtcAlyMiwgcjMNCglsZHIJcjIsIFtzcCwgIzE2 XQ0KCWFkZAlyMiwgcjIsICM0DQoJc3RyCXIyLCBbc3AsICMxNl0NCglibmUJ Lkw3DQouTDM6DQoJY21wCXI5LCAjMQ0KCWJndAkuTDkNCglhZGQJc3AsIHNw LCAjNDQNCglsZG1mZAlzcCEsIHtyNCwgcjUsIHI2LCByNywgcjgsIHI5LCBz bCwgZnAsIHBjfQ0KCS5zaXplCXNoZWxsX3NvcnQsIC4tc2hlbGxfc29ydA0K CS5pZGVudAkiR0NDOiAoVkRMaW51eC5SQzEpIDQuNi4zIDIwMTIwMTA1IChw cmVyZWxlYXNlKSINCgkuc2VjdGlvbgkubm90ZS5HTlUtc3RhY2ssIiIsJXBy b2diaXRzDQo= --f46d040716e155ef4104be7fd818 Content-Type: text/plain; charset=us-ascii; name="sort-armcc.s" Content-Disposition: attachment; filename="sort-armcc.s" Content-Transfer-Encoding: base64 X-Attachment-Id: 5c66b562c577e9a_0.4 Content-length: 2827 OyBnZW5lcmF0ZWQgYnkgQVJNIEMvQysrIENvbXBpbGVyLCA0LjEgW0J1aWxk IDcxM10NCjsgY29tbWFuZGxpbmUgYXJtY2MgWy1TIC0tY3B1PUNvcnRleC1B OSAtLWZwdT1WRlB2MyAtTzMgLU90aW1lIHNoZWxsX3NvcnQuY10NCiAgICAg ICAgQVJNDQogICAgICAgIFJFUVVJUkU4DQogICAgICAgIFBSRVNFUlZFOA0K DQogICAgICAgIEFSRUEgfHwudGV4dHx8LCBDT0RFLCBSRUFET05MWSwgQUxJ R049Mg0KDQpzaGVsbF9zb3J0IFBST0MNCiAgICAgICAgUFVTSCAgICAge3I0 LXIxMixscn0NCiAgICAgICAgTU9WICAgICAgcjEwLHIxDQogICAgICAgIFNV QiAgICAgIHI2LHIwLCM0DQogICAgICAgIE1PViAgICAgIHI1LCMxDQp8TDAu MTZ8DQogICAgICAgIEFERCAgICAgIHIwLHI1LHI1LExTTCAjMQ0KICAgICAg ICBBREQgICAgICByNSxyMCwjMQ0KICAgICAgICBDTVAgICAgICByNSxyMTAN CiAgICAgICAgQkxFICAgICAgfEwwLjE2fA0KICAgICAgICBMRFIgICAgICBy MTEsfEwwLjE0MHwNCnxMMC4zNnwNCiAgICAgICAgU01VTEwgICAgcjEscjAs cjExLHI1DQogICAgICAgIFNVQiAgICAgIHI1LHIwLHIwLEFTUiAjMzENCiAg ICAgICAgQUREICAgICAgcjgscjUsIzENCiAgICAgICAgQ01QICAgICAgcjgs cjEwDQogICAgICAgIEJHVCAgICAgIHxMMC4xMjh8DQp8TDAuNTZ8DQogICAg ICAgIExEUiAgICAgIHI5LFtyNixyOCxMU0wgIzJdDQogICAgICAgIE1PViAg ICAgIHI0LHI4DQogICAgICAgIEIgICAgICAgIHxMMC44MHwNCnxMMC42OHwN CiAgICAgICAgTERSICAgICAgcjAsW3I2LHI3LExTTCAjMl0NCiAgICAgICAg U1RSICAgICAgcjAsW3I2LHI0LExTTCAjMl0NCiAgICAgICAgTU9WICAgICAg cjQscjcNCnxMMC44MHwNCiAgICAgICAgQ01QICAgICAgcjQscjUNCiAgICAg ICAgQkxFICAgICAgfEwwLjExMnwNCiAgICAgICAgU1VCICAgICAgcjcscjQs cjUNCiAgICAgICAgTU9WICAgICAgcjEscjkNCiAgICAgICAgTERSICAgICAg cjAsW3I2LHI3LExTTCAjMl0NCiAgICAgICAgQkwgICAgICAgc3RyY21wDQog ICAgICAgIENNUCAgICAgIHIwLCMwDQogICAgICAgIEJHVCAgICAgIHxMMC42 OHwNCnxMMC4xMTJ8DQogICAgICAgIEFERCAgICAgIHI4LHI4LCMxDQogICAg ICAgIENNUCAgICAgIHI4LHIxMA0KICAgICAgICBTVFIgICAgICByOSxbcjYs cjQsTFNMICMyXQ0KICAgICAgICBCTEUgICAgICB8TDAuNTZ8DQp8TDAuMTI4 fA0KICAgICAgICBDTVAgICAgICByNSwjMQ0KICAgICAgICBCR1QgICAgICB8 TDAuMzZ8DQogICAgICAgIFBPUCAgICAgIHtyNC1yMTIscGN9DQogICAgICAg IEVORFANCg0KfEwwLjE0MHwNCiAgICAgICAgRENEICAgICAgMHg1NTU1NTU1 Ng0KDQogICAgICAgIEFSRUEgfHwuYXJtX3ZmZV9oZWFkZXJ8fCwgREFUQSwg UkVBRE9OTFksIE5PQUxMT0MsIEFMSUdOPTINCg0KICAgICAgICBEQ0QgICAg ICAweDAwMDAwMDAwDQoNCiAgICAgICAgRVhQT1JUIHNoZWxsX3NvcnQgW0NP REVdDQoNCiAgICAgICAgSU1QT1JUIHx8TGliJCRSZXF1ZXN0JCRhcm1saWJ8 fCBbQ09ERSxXRUFLXQ0KICAgICAgICBJTVBPUlQgc3RyY21wIFtDT0RFXQ0K DQogICAgICAgIEFUVFIgRklMRVNDT1BFDQogICAgICAgIEFUVFIgU0VUVkFM VUUgVGFnX0FCSV9QQ1Nfd2NoYXJfdCwyDQogICAgICAgIEFUVFIgU0VUVkFM VUUgVGFnX0FCSV9lbnVtX3NpemUsMQ0KICAgICAgICBBVFRSIFNFVFZBTFVF IFRhZ19BQklfb3B0aW1pemF0aW9uX2dvYWxzLDINCiAgICAgICAgQVRUUiBT RVRTVFJJTkcgVGFnX2NvbmZvcm1hbmNlLCIyLjA2Ig0KICAgICAgICBBVFRS IFNFVFZBTFVFIEFWLDE4LDENCg0KICAgICAgICBBU1NFUlQge0VORElBTn0g PSAibGl0dGxlIg0KICAgICAgICBBU1NFUlQge0lOVEVSfSA9IHtUUlVFfQ0K ICAgICAgICBBU1NFUlQge1JPUEl9ID0ge0ZBTFNFfQ0KICAgICAgICBBU1NF UlQge1JXUEl9ID0ge0ZBTFNFfQ0KICAgICAgICBBU1NFUlQge0lFRUVfRlVM TH0gPSB7RkFMU0V9DQogICAgICAgIEFTU0VSVCB7SUVFRV9QQVJUfSA9IHtG QUxTRX0NCiAgICAgICAgQVNTRVJUIHtJRUVFX0pBVkF9ID0ge0ZBTFNFfQ0K ICAgICAgICBFTkQNCg== --f46d040716e155ef4104be7fd818--