This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: optimization/10620: for(i=25000;i;i--) {} generates wrong assemblysource in avr-gcc with -O2


The following reply was made to PR optimization/10620; it has been noted by GNATS.

From: Nagy Endre <gumo@lucifer.kgt.bme.hu>
To: Dara Hazeghi <dhazeghi@yahoo.com>
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: <Pine.LNX.4.55.0305091050421.25817@lucifer.kgt.bme.hu>
 
 > 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: <Pine.LNX.4.55.0305091050390.25817@lucifer.kgt.bme.hu>
 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: <Pine.LNX.4.55.0305091050391.25817@lucifer.kgt.bme.hu>
 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--


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]