From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6954 invoked by alias); 9 May 2003 08:56:03 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 6872 invoked by uid 71); 9 May 2003 08:56:01 -0000 Date: Fri, 09 May 2003 08:56:00 -0000 Message-ID: <20030509085601.6871.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Nagy Endre Subject: Re: optimization/10620: for(i=25000;i;i--) {} generates wrong assembly source in avr-gcc with -O2 Reply-To: Nagy Endre X-SW-Source: 2003-05/txt/msg00713.txt.bz2 List-Id: The following reply was made to PR optimization/10620; it has been noted by GNATS. From: Nagy Endre To: Dara Hazeghi Cc: gcc-gnats@gcc.gnu.org Subject: Re: optimization/10620: for(i=25000;i;i--) {} generates wrong assembly source in avr-gcc with -O2 Date: Fri, 9 May 2003 10:53:41 +0200 (CEST) This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --1117258244-1711166521-1052470239=:25817 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: > could the submitter of this bug please include a full testcase that > demonstrates the bug (ie something that will compile without > additions). I cannot replicate the assembly in question using 3.3 > branch and: > void main(){int i;for(i=25000;i;i--){}} Yes, of course. The simplest case is: ================================= int main(void) { unsigned int i,j; for(j=500;j;j--) { for(i=25000;i;i--) {} } return 0; } ================================= So that i is allocated in narrow registers. The resulting asm code varies depending on the initial value of i, if it is less than 32768. The inner loop will be: .L10: subi r18,lo8(-(-25)) sbci r19,hi8(-(-25)) brne .L10 Where -25 varies depending on i. The compiler command: avr-gcc -g -Wall -O2 -mmcu=at90s8515 -S -o test2.S test2.c (see attachments) I've used the gcc-3.3 prerelease included in WinAVR: http://prdownloads.sourceforge.net/winavr/WinAVR-20030424-bin-install.exe?download Excuse me for being inaccurate. Thanks, Gumo --1117258244-1711166521-1052470239=:25817 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="test2.c" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="test2.c" aW50IG1haW4odm9pZCkgew0KICAgIHVuc2lnbmVkIGludCBpLGo7DQogICAg Zm9yKGo9NTAwO2o7ai0tKSB7DQogICAgICAgIGZvcihpPTI1MDAwO2k7aS0t KSB7fQ0KICAgIH0NCiAgICByZXR1cm4gMDsNCn0NCg== --1117258244-1711166521-1052470239=:25817 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="test2.S" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: ATTACHMENT; FILENAME="test2.S" CS5maWxlCSJ0ZXN0Mi5jIg0NCgkuYXJjaCBhdDkwczg1MTUNDQpfX1NSRUdf XyA9IDB4M2YNDQpfX1NQX0hfXyA9IDB4M2UNDQpfX1NQX0xfXyA9IDB4M2QN DQpfX3RtcF9yZWdfXyA9IDANDQpfX3plcm9fcmVnX18gPSAxDQ0KCS5nbG9i YWwgX19kb19jb3B5X2RhdGENDQoJLmdsb2JhbCBfX2RvX2NsZWFyX2Jzcw0N Cgkuc3RhYnMJIkM6XFxHVU1PXFxwcm9nXFxhdG1lbF9jXFxPUzg1MTUvIiwx MDAsMCwwLC5MdGV4dDANDQoJLnN0YWJzCSJ0ZXN0Mi5jIiwxMDAsMCwwLC5M dGV4dDANDQoJLnRleHQNDQouTHRleHQwOg0NCgkuc3RhYnMJImdjYzJfY29t cGlsZWQuIiw2MCwwLDAsMA0NCgkuc3RhYnMJImludDp0KDAsMSk9cigwLDEp Oy0zMjc2ODszMjc2NzsiLDEyOCwwLDAsMA0NCgkuc3RhYnMJImNoYXI6dCgw LDIpPXIoMCwyKTswOzEyNzsiLDEyOCwwLDAsMA0NCgkuc3RhYnMJImxvbmcg aW50OnQoMCwzKT1AczMyO3IoMCwzKTswMDIwMDAwMDAwMDAwOzAwMTc3Nzc3 Nzc3Nzc7IiwxMjgsMCwwLDANDQoJLnN0YWJzCSJ1bnNpZ25lZCBpbnQ6dCgw LDQpPXIoMCw0KTswMDAwMDAwMDAwMDAwOzAwMDAwMDAxNzc3Nzc7IiwxMjgs MCwwLDANDQoJLnN0YWJzCSJsb25nIHVuc2lnbmVkIGludDp0KDAsNSk9QHMz MjtyKDAsNSk7MDAwMDAwMDAwMDAwMDswMDM3Nzc3Nzc3Nzc3OyIsMTI4LDAs MCwwDQ0KCS5zdGFicwkibG9uZyBsb25nIGludDp0KDAsNik9QHM2NDtyKDAs Nik7MDEwMDAwMDAwMDAwMDAwMDAwMDAwMDA7MDc3Nzc3Nzc3Nzc3Nzc3Nzc3 Nzc3NzsiLDEyOCwwLDAsMA0NCgkuc3RhYnMJImxvbmcgbG9uZyB1bnNpZ25l ZCBpbnQ6dCgwLDcpPUBzNjQ7cigwLDcpOzAwMDAwMDAwMDAwMDA7MDE3Nzc3 Nzc3Nzc3Nzc3Nzc3Nzc3Nzc7IiwxMjgsMCwwLDANDQoJLnN0YWJzCSJzaG9y dCBpbnQ6dCgwLDgpPXIoMCw4KTstMzI3Njg7MzI3Njc7IiwxMjgsMCwwLDAN DQoJLnN0YWJzCSJzaG9ydCB1bnNpZ25lZCBpbnQ6dCgwLDkpPXIoMCw5KTsw MDAwMDAwMDAwMDAwOzAwMDAwMDAxNzc3Nzc7IiwxMjgsMCwwLDANDQoJLnN0 YWJzCSJzaWduZWQgY2hhcjp0KDAsMTApPUBzODtyKDAsMTApOy0xMjg7MTI3 OyIsMTI4LDAsMCwwDQ0KCS5zdGFicwkidW5zaWduZWQgY2hhcjp0KDAsMTEp PUBzODtyKDAsMTEpOzA7MjU1OyIsMTI4LDAsMCwwDQ0KCS5zdGFicwkiZmxv YXQ6dCgwLDEyKT1yKDAsMSk7NDswOyIsMTI4LDAsMCwwDQ0KCS5zdGFicwki ZG91YmxlOnQoMCwxMyk9cigwLDEpOzQ7MDsiLDEyOCwwLDAsMA0NCgkuc3Rh YnMJImxvbmcgZG91YmxlOnQoMCwxNCk9cigwLDEpOzQ7MDsiLDEyOCwwLDAs MA0NCgkuc3RhYnMJImNvbXBsZXggaW50OnQoMCwxNSk9czRyZWFsOigwLDEp LDAsMTY7aW1hZzooMCwxKSwxNiwxNjs7IiwxMjgsMCwwLDANDQoJLnN0YWJz CSJjb21wbGV4IGZsb2F0OnQoMCwxNik9UjM7ODswOyIsMTI4LDAsMCwwDQ0K CS5zdGFicwkiY29tcGxleCBkb3VibGU6dCgwLDE3KT1SMzs4OzA7IiwxMjgs MCwwLDANDQoJLnN0YWJzCSJjb21wbGV4IGxvbmcgZG91YmxlOnQoMCwxOCk9 UjM7ODswOyIsMTI4LDAsMCwwDQ0KCS5zdGFicwkiX19idWlsdGluX3ZhX2xp c3Q6dCgwLDE5KT0qKDAsMjApPSgwLDIwKSIsMTI4LDAsMCwwDQ0KCS5zdGFi cwkiX0Jvb2w6dCgwLDIxKT1Aczg7LTE2OyIsMTI4LDAsMCwwDQ0KCS5zdGFi cwkidGVzdDIuYyIsMTMwLDAsMCwwDQ0KCS5zdGFicwkibWFpbjpGKDAsMSki LDM2LDAsMSxtYWluDQ0KLmdsb2JhbAltYWluDQ0KCS50eXBlCW1haW4sIEBm dW5jdGlvbg0NCm1haW46DQ0KCS5zdGFibiA2OCwwLDEsLkxNMS1tYWluDQ0K LkxNMToNDQovKiBwcm9sb2d1ZTogZnJhbWUgc2l6ZT0wICovDQ0KCWxkaSBy MjgsbG84KF9fc3RhY2sgLSAwKQ0NCglsZGkgcjI5LGhpOChfX3N0YWNrIC0g MCkNDQoJb3V0IF9fU1BfSF9fLHIyOQ0NCglvdXQgX19TUF9MX18scjI4DQ0K LyogcHJvbG9ndWUgZW5kIChzaXplPTQpICovDQ0KCS5zdGFibiA2OCwwLDMs LkxNMi1tYWluDQ0KLkxNMjoNDQouTEJCMjoNDQoJbGRpIHIyNCxsbzgoNTAw KQ0NCglsZGkgcjI1LGhpOCg1MDApDQ0KLkwxMToNDQoJLnN0YWJuIDY4LDAs NCwuTE0zLW1haW4NDQouTE0zOg0NCglsZGkgcjE4LGxvOCgyNTAwMCkNDQoJ bGRpIHIxOSxoaTgoMjUwMDApDQ0KLkwxMDoNDQoJc3ViaSByMTgsbG84KC0o LTI1KSkNDQoJc2JjaSByMTksaGk4KC0oLTI1KSkNDQoJYnJuZSAuTDEwDQ0K CS5zdGFibiA2OCwwLDMsLkxNNC1tYWluDQ0KLkxNNDoNDQoJc2JpdyByMjQs MQ0NCglicm5lIC5MMTENDQoJLnN0YWJuIDY4LDAsNywuTE01LW1haW4NDQou TE01Og0NCi5MQkUyOg0NCi8qIGVwaWxvZ3VlOiBmcmFtZSBzaXplPTAgKi8N DQoJcmptcCBleGl0DQ0KLyogZXBpbG9ndWUgZW5kIChzaXplPTEpICovDQ0K LyogZnVuY3Rpb24gbWFpbiBzaXplIDE3ICgxMikgKi8NDQoJLnNpemUJbWFp biwgLi1tYWluDQ0KCS5zdGFicwkiaTpyKDAsNCkiLDY0LDAsMiwxOA0NCgku c3RhYnMJImo6cigwLDQpIiw2NCwwLDIsMjQNDQoJLnN0YWJuCTE5MiwwLDAs LkxCQjItbWFpbg0NCgkuc3RhYm4JMjI0LDAsMCwuTEJFMi1tYWluDQ0KLkxz Y29wZTA6DQ0KCS5zdGFicwkiIiwzNiwwLDAsLkxzY29wZTAtbWFpbg0NCgku dGV4dA0NCgkuc3RhYnMgIiIsMTAwLDAsMCxMZXRleHQNDQpMZXRleHQ6DQ0K LyogRmlsZSAidGVzdDIuYyI6IGNvZGUgICAxNyA9IDB4MDAxMSAoICAxMiks IHByb2xvZ3VlcyAgIDQsIGVwaWxvZ3VlcyAgIDEgKi8NDQo= --1117258244-1711166521-1052470239=:25817--