public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* optimization/8112: gcc 3.2 sparc-sun-solaris2.8: -O2 != -O1
@ 2002-10-01 14:16 rrh
  0 siblings, 0 replies; 2+ messages in thread
From: rrh @ 2002-10-01 14:16 UTC (permalink / raw)
  To: gcc-gnats; +Cc: nathan


>Number:         8112
>Category:       optimization
>Synopsis:       gcc 3.2 sparc-sun-solaris2.8: -O2 != -O1
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Tue Oct 01 14:16:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     rrh@cray.com
>Release:        gcc 3.2
>Organization:
>Environment:
sparc-sun-solaris2.8
>Description:
gcc -v shows:
Reading specs from /sw/gen/sparc-sun-solaris2.8/gcc/3.2/lib/gcc-lib/sparc-sun-solaris2.8/3.2/specs
Configured with: /export/data01/build/cpkg/programs/gcc/3.2/work.korsakoff.wc.cray.com/gcc-3.2/configure --with-gnu-as --with-as=/sw/gen/sparc-sun-solaris2.8/binutils/2.12.1/bin/as --with-gnu-ld --with-ld=/sw/gen/sparc-sun-solaris2.8/binutils/2.12.1/bin/ld --enable-languages=c++,f77,objc --with-local-prefix=/sw/gen/sparc-sun-solaris2.8/gcc/3.2 --prefix=/sw/gen/sparc-sun-solaris2.8/gcc/3.2
Thread model: posix
gcc version 3.2

Compile the attached program using "g++ -O1"; execute;
see the correct answer
result=1 expect=1

Compile the attached program using "g++ -O2"; execute;
see the incorrect answer
result=0 expect=1
g++ -O3 also fails the same way as g++ -O2

The code uses a template to encapsulate operations on
unsigned long long.  Changing the liveness of some of the
automatics (for example to print the intermediate results)
will make the code do the right thing.

This problem is not repeatable on gcc3.2 on i686-pc-linux.
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="x64.cc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="x64.cc"

I2luY2x1ZGUgPHN0ZGlvLmg+CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVpbnQ2NDsKY2xh
c3MgQ29tbW9uQXNpY1NjYW5FbGVtZW50OwpjbGFzcyBQcmludGY7CgplbnVtIHsKICBDUl9MQVNU
ID0gOCwKICBTQ19DT05GSUcgPSAwLAogIFNDX0ZPUkNFID0gMSwKICBTQ19MQVNUID0gOAp9OwoK
dGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIEJUPgpjbGFzcyBUU21hbGxTZXQgewpwcml2YXRlOgog
IFQgdmFsdWU7CnB1YmxpYzoKICBUU21hbGxTZXQodm9pZCkge3ZhbHVlID0gMHgwTEw7fQogIFRT
bWFsbFNldChjb25zdCBUU21hbGxTZXQgJngpIHt2YWx1ZSA9IHgudmFsdWU7fQogIHZvaWQgb3Bl
cmF0b3I9KGNvbnN0IFRTbWFsbFNldCAmeCkge3ZhbHVlID0geC52YWx1ZTt9CiAgdm9pZCBzZXRf
ZnJvbV92YWx1ZShjb25zdCB1aW50NjQgdmFsdWUpIHt0aGlzLT52YWx1ZSA9IHZhbHVlO30KICB2
b2lkIHNldF96ZXJvKHZvaWQpIHt2YWx1ZSA9IDB4MExMO30KICB2b2lkIHNldF9hbGwodm9pZCkg
e3ZhbHVlID0gfjB4MExMO30KICB2b2lkIHNldF9pdGVtKGNvbnN0IEJUIGl0ZW0pIHt2YWx1ZSB8
PSAoMUxMPDxpbnQoaXRlbSkpO30KICB2b2lkIGNscl9pdGVtKGNvbnN0IEJUIGl0ZW0pIHt2YWx1
ZSAmPSB+KDFMTDw8aW50KGl0ZW0pKTt9CiAgdm9pZCBhbmRfaXRlbShjb25zdCBCVCBpdGVtKSB7
dmFsdWUgJj0gKDFMTDw8aW50KGl0ZW0pKTt9CiAgaW50IGdldF9pdGVtKGNvbnN0IEJUIGl0ZW0p
IGNvbnN0IHtyZXR1cm4gKHZhbHVlPj5pbnQoaXRlbSkpICYgMHgxO30KICBUU21hbGxTZXQgb3Bl
cmF0b3J8KGNvbnN0IFRTbWFsbFNldCAmeCkgY29uc3QKICAgIHsgVFNtYWxsU2V0PFQsQlQ+IGJh
Y2s7IGJhY2sudmFsdWUgPSB0aGlzLT52YWx1ZSB8IHgudmFsdWU7IHJldHVybiBiYWNrOyB9CiAg
VFNtYWxsU2V0IG9wZXJhdG9yJihjb25zdCBUU21hbGxTZXQgJngpIGNvbnN0CiAgICB7IFRTbWFs
bFNldDxULEJUPiBiYWNrOyBiYWNrLnZhbHVlID0gdGhpcy0+dmFsdWUgJiB4LnZhbHVlOyByZXR1
cm4gYmFjazsgfQogIFRTbWFsbFNldCBvcGVyYXRvcn4odm9pZCkgY29uc3QKICAgIHsgVFNtYWxs
U2V0PFQsQlQ+IGJhY2s7IGJhY2sudmFsdWUgPSB+dGhpcy0+dmFsdWU7IHJldHVybiBiYWNrOyB9
CiAgdm9pZCBvcGVyYXRvcnw9KGNvbnN0IFRTbWFsbFNldCAmeCkge3RoaXMtPnZhbHVlIHw9IHgu
dmFsdWU7fQogIHZvaWQgb3BlcmF0b3ImPShjb25zdCBUU21hbGxTZXQgJngpIHt0aGlzLT52YWx1
ZSAmPSB4LnZhbHVlO30KICBUIGFzX3ByaW50YWJsZSh2b2lkKSBjb25zdCB7cmV0dXJuIHZhbHVl
O30KICBib29sIGlzX3plcm8odm9pZCkgY29uc3Qge3JldHVybiAodmFsdWUgPT0gMHgwTEwpO30K
fTsKCnR5cGVkZWYgVFNtYWxsU2V0PHVpbnQ2NCxpbnQ+IENvbmZpZ1JlZ1ZhbHVlOwoKY2xhc3Mg
Q29uZmlnUmVnU3RhdGVWYWx1ZSB7CmZyaWVuZCBjbGFzcyBDb25maWdSZWdTdGF0ZTsKcHJpdmF0
ZToKICBpbnQgY3I7CiAgQ29uZmlnUmVnVmFsdWUgdmFsdWU7CiAgYm9vbCBzZXQ7CiAgQ29tbW9u
QXNpY1NjYW5FbGVtZW50ICphc2U7CiAgdm9pZCB0cmFjZW1vZChjb25zdCBjaGFyICp3aGVuY2Us
IENvbmZpZ1JlZ1ZhbHVlIHgpOwpwdWJsaWM6CiAgQ29uZmlnUmVnU3RhdGVWYWx1ZSh2b2lkKTsK
ICB2b2lkIG9wZXJhdG9yPShjb25zdCBDb25maWdSZWdTdGF0ZVZhbHVlICZydmFsKTsKICBDb25m
aWdSZWdWYWx1ZSBnZXRjcih2b2lkKSBjb25zdDsKICBDb25maWdSZWdWYWx1ZSBvcmNyIChDb25m
aWdSZWdWYWx1ZSB4KTsKICBDb25maWdSZWdWYWx1ZSBhbmRjcihDb25maWdSZWdWYWx1ZSB4KTsK
ICBDb25maWdSZWdWYWx1ZSBzZXRjcihDb25maWdSZWdWYWx1ZSB4KTsKICB2b2lkIHVuc2V0Y3Io
dm9pZCk7CiAgYm9vbCB3YXNzZXQodm9pZCk7Cn07CgpjbGFzcyBDb25maWdSZWdTdGF0ZSAvKjog
cHVibGljIFRMaXN0RWxlbWVudDxDb25maWdSZWdTdGF0ZT4qLyB7CnB1YmxpYzoKICBDb21tb25B
c2ljU2NhbkVsZW1lbnQgKnBhcmVudDsKcHVibGljOgogIENvbmZpZ1JlZ1N0YXRlVmFsdWUgY3Jb
Q1JfTEFTVF07CiAgQ29uZmlnUmVnU3RhdGVWYWx1ZSBjcl9zY1tTQ19MQVNUXTsKcHVibGljOgog
IENvbmZpZ1JlZ1N0YXRlKENvbW1vbkFzaWNTY2FuRWxlbWVudCAqb3duZXIpOwogIHZpcnR1YWwg
fkNvbmZpZ1JlZ1N0YXRlKCk7CnB1YmxpYzoKICB2b2lkIG9wZXJhdG9yPShjb25zdCBDb25maWdS
ZWdTdGF0ZSAmcnZhbCk7CnB1YmxpYzoKICB2b2lkIGR1bXAodm9pZCkgY29uc3Q7CiAgdm9pZCBw
cmludChQcmludGYgKmZwLCBpbnQgcHJpbnRfbGV2ZWw9MTApIGNvbnN0Owp9OwoKY2xhc3MgQ29t
bW9uQXNpY1NjYW5FbGVtZW50IHsKcHVibGljOgogIENvbmZpZ1JlZ1N0YXRlIHN0YXRlOwogIENv
bW1vbkFzaWNTY2FuRWxlbWVudCh2b2lkKTsKfTsKCmNsYXNzIEFzaWNTY2FuRWxlbWVudCA6IHB1
YmxpYyBDb21tb25Bc2ljU2NhbkVsZW1lbnQgewpwcml2YXRlOgogIGludCBzY19wb3J0OwogIENv
bW1vbkFzaWNTY2FuRWxlbWVudCAqc2NfcDsKcHVibGljOgogIGJvb2wgaXNfY29uZmlndXJlX2lu
X3NjKHZvaWQpIGNvbnN0OwogIEFzaWNTY2FuRWxlbWVudCh2b2lkKTsKfTsKCmJvb2wgQXNpY1Nj
YW5FbGVtZW50Ojppc19jb25maWd1cmVfaW5fc2Modm9pZCkgY29uc3QKewogICAgICAgIENvbmZp
Z1JlZ1ZhbHVlIHBvcnRfbWFzazsgcG9ydF9tYXNrLnNldF9pdGVtKHNjX3BvcnQpOwoKICBjb25z
dCBDb25maWdSZWdWYWx1ZSBjb25maWdfbWFzawogICAgPSBzY19wLT5zdGF0ZS5jcl9zY1tTQ19D
T05GSUddLmdldGNyKCkgJiBwb3J0X21hc2s7CiAgY29uc3QgQ29uZmlnUmVnVmFsdWUgZm9yY2Vf
bWFzawogICAgPSBzY19wLT5zdGF0ZS5jcl9zY1tTQ19GT1JDRSBdLmdldGNyKCkgJiBwb3J0X21h
c2s7CgogIENvbmZpZ1JlZ1ZhbHVlIGNvbmZpZ19mb3JjZSA9IGNvbmZpZ19tYXNrICYgZm9yY2Vf
bWFzazsKCiNpZiAwCi8vCi8vIGlmIHRoaXMgaXMgaW5jbHVkZWQsIHRoZW4gd2UgZ2V0IHRoZSBy
aWdodCBhbnN3ZXIKLy8gcHJlc3VtYWJseSB0aGUgdXNlIG9mIHBvcnRfbWFzaywgY29uZmlnX21h
c2sgYW5kIGZvcmNlX21hc2sKLy8ga2VlcHMgdGhlIG9wdGltaXplciBmcm9tIHNjcmV3aW5nIHVw
Ci8vCnByaW50ZigicG9ydF9tYXNrPTB4JTA4eCBjb25maWc9MHglMDh4IGZvcmNlPTB4JTA4eFxu
IiwKICB1bnNpZ25lZChwb3J0X21hc2suYXNfcHJpbnRhYmxlKCkpLAogIHVuc2lnbmVkKGNvbmZp
Z19tYXNrLmFzX3ByaW50YWJsZSgpKSwKICB1bnNpZ25lZChmb3JjZV9tYXNrLmFzX3ByaW50YWJs
ZSgpKQopOwojZW5kaWYKCiAgaWYgKCFjb25maWdfZm9yY2UuaXNfemVybygpKSB7CiAgICBwcmlu
dGYoImZhdWx0XG4iKTsKICB9OwogIHJldHVybighY29uZmlnX21hc2suaXNfemVybygpKTsKfQoK
QXNpY1NjYW5FbGVtZW50OjpBc2ljU2NhbkVsZW1lbnQodm9pZCkKewogIHNjX3BvcnQgPSAwOwog
IHNjX3AgPSBuZXcgQ29tbW9uQXNpY1NjYW5FbGVtZW50KCk7CiAgQ29uZmlnUmVnVmFsdWUgdjsK
ICB2LnNldF9mcm9tX3ZhbHVlKDB4ZmZmKTsKICBzY19wLT5zdGF0ZS5jcl9zY1tTQ19DT05GSUdd
LnNldGNyKHYpOwp9CkNvbmZpZ1JlZ1ZhbHVlIENvbmZpZ1JlZ1N0YXRlVmFsdWU6OnNldGNyKENv
bmZpZ1JlZ1ZhbHVlIHgpCnsKICB2YWx1ZSA9IHg7CiAgc2V0ID0gdHJ1ZTsKICByZXR1cm4gZ2V0
Y3IoKTsKfQoKQ29tbW9uQXNpY1NjYW5FbGVtZW50OjpDb21tb25Bc2ljU2NhbkVsZW1lbnQodm9p
ZCkKICA6IHN0YXRlKHRoaXMpCnsKfQpDb25maWdSZWdWYWx1ZSBDb25maWdSZWdTdGF0ZVZhbHVl
OjpnZXRjcih2b2lkKSBjb25zdAp7CiAgcmV0dXJuIHZhbHVlOwp9CkNvbmZpZ1JlZ1N0YXRlVmFs
dWU6OkNvbmZpZ1JlZ1N0YXRlVmFsdWUodm9pZCkKewogIGNyID0gQ1JfTEFTVDsKICB2YWx1ZS5z
ZXRfemVybygpOwogIHNldCA9IGZhbHNlOwogIGFzZSA9IDA7Cn0KQ29uZmlnUmVnU3RhdGU6OkNv
bmZpZ1JlZ1N0YXRlKENvbW1vbkFzaWNTY2FuRWxlbWVudCAqb3duZXIpCnsKICBmb3IgKGludCBp
ID0gMDsgaSA8IFNDX0xBU1Q7IGkrKykgewogICAgY3Jfc2NbaV0uY3IgPSBpOwogICAgY3Jfc2Nb
aV0uYXNlID0gb3duZXI7CiAgfQogIGZvciAoaW50IGkgPSAwOyBpIDwgQ1JfTEFTVDsgaSsrKSB7
CiAgICBjcltpXS5jciA9IGk7CiAgICBjcl9zY1tpXS5hc2UgPSBvd25lcjsKICB9Cn0KCkNvbmZp
Z1JlZ1N0YXRlOjp+Q29uZmlnUmVnU3RhdGUoKQp7Cn0KCmludCBtYWluKHZvaWQpCnsKICBBc2lj
U2NhbkVsZW1lbnQgKmFzZSA9IG5ldyBBc2ljU2NhbkVsZW1lbnQoKTsKICBwcmludGYoInJlc3Vs
dD0lZCBleHBlY3Q9MVxuIiwgaW50KGFzZS0+aXNfY29uZmlndXJlX2luX3NjKCkpKTsKICByZXR1
cm4gMDsKfQo=


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: optimization/8112: gcc 3.2 sparc-sun-solaris2.8: -O2 != -O1
@ 2003-03-14 14:12 ebotcazou
  0 siblings, 0 replies; 2+ messages in thread
From: ebotcazou @ 2003-03-14 14:12 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nathan, nobody, rrh

Synopsis: gcc 3.2 sparc-sun-solaris2.8: -O2 != -O1

State-Changed-From-To: open->closed
State-Changed-By: ebotcazou
State-Changed-When: Fri Mar 14 14:12:40 2003
State-Changed-Why:
    Can't reproduce with gcc 3.2.1 and gcc 3.2.2 on sparc-sun-solaris2.8
    and sparc-sun-solaris2.9 so very likely fixed in the meantime.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8112


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-03-14 14:12 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-10-01 14:16 optimization/8112: gcc 3.2 sparc-sun-solaris2.8: -O2 != -O1 rrh
2003-03-14 14:12 ebotcazou

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).