public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* optimization/2275: Bad optimization for simple sum loops. -O0 better than -O3
@ 2001-04-01  0:00 peter.rydesater
  0 siblings, 0 replies; 2+ messages in thread
From: peter.rydesater @ 2001-04-01  0:00 UTC (permalink / raw)
  To: gcc-gnats

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 6308 bytes --]

>Number:         2275
>Category:       optimization
>Synopsis:       Bad optimization for simple sum loops. -O0 better than -O3
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 13 08:26:00 PST 2001
>Closed-Date:
>Last-Modified:
>Originator:     (Peter Rydesäter)
>Release:        gcc version 2.95.3 19991030 (prerelease)
>Organization:
>Environment:
Mandrake Linux 7.2, glibc 2.1, kernel 2.2.17
>Description:
Optimization of the code with the -O3 option
actualy generates quite slower code than with
without -O0.  retlation ~730ms : ~430 ms.

The output is listed below. I also included
the output from an old version of gcc 2.7.2.3
and from this we can se that the the optimized
result was better at this old compiler version.

mailto:peter.rydesater@ite.mh.se

/Peter


======================================================
========== Output with gcc 2.95.3 ====================
======================================================
[petryd@petrydpc dotproj]$ gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux/2.95.3/specs
gcc version 2.95.3 19991030 (prerelease) 
[petryd@petrydpc dotproj]$ gcc -O0 -o test test.c ; ./test
=============CALC1================
double IM_TOC: 461 ms
float  IM_TOC: 435 ms
long   IM_TOC: 437 ms
short  IM_TOC: 425 ms
char   IM_TOC: 412 ms
==============
IM_TOC: 412 ms
IM_TOC: 249 ms
IM_TOC: 247 ms
=============CALC2================
double IM_TOC: 411 ms
double IM_TOC: 411 ms
[petryd@petrydpc dotproj]$
[petryd@petrydpc dotproj]$ gcc -O3 -o test test.c ; ./test
=============CALC1================
double IM_TOC: 752 ms
float  IM_TOC: 727 ms
long   IM_TOC: 752 ms
short  IM_TOC: 738 ms
char   IM_TOC: 727 ms
==============
IM_TOC: 753 ms
IM_TOC: 64 ms
IM_TOC: 101 ms
=============CALC2================
double IM_TOC: 421 ms
double IM_TOC: 411 ms


======================================================
========= Output with gcc 2.7.2.3 ====================
======================================================



[petryd@petrydpc dotproj]$ i486-linuxlibc5-gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linuxlibc5/2.7.2.3/specs
gcc version 2.7.2.3 
[petryd@petrydpc dotproj]$ i486-linuxlibc5-gcc -static -O0 -o test test.c ; ./test
=============CALC1================
double IM_TOC: 841 ms
float  IM_TOC: 909 ms
long   IM_TOC: 1161 ms
short  IM_TOC: 1352 ms
char   IM_TOC: 1339 ms
==============
IM_TOC: 1103 ms
IM_TOC: 252 ms
IM_TOC: 248 ms
=============CALC2================
double IM_TOC: 725 ms
double IM_TOC: 757 ms
[petryd@petrydpc dotproj]$ i486-linuxlibc5-gcc -static -O3 -o test test.c ; ./test
=============CALC1================
double IM_TOC: 313 ms
float  IM_TOC: 278 ms
long   IM_TOC: 279 ms
short  IM_TOC: 342 ms
char   IM_TOC: 342 ms
==============
IM_TOC: 253 ms
IM_TOC: 95 ms
IM_TOC: 101 ms
=============CALC2================
double IM_TOC: 253 ms
double IM_TOC: 252 ms
[petryd@petrydpc dotproj]$


>How-To-Repeat:
gcc -v
gcc -O0 -o test test.c ; ./test
gcc -O3 -o test test.c ; ./test
>Fix:

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

I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1lLmg+CiNpbmNsdWRlIDxzeXMvdGltZS5o
PgojaW5jbHVkZSA8dW5pc3RkLmg+IAoKI2RlZmluZSBTSSAoMTAqMTAyNCoxMDI0KQoKZG91Ymxl
IGRkYXRhW1NJXTsKZmxvYXQgIGZkYXRhW1NJXTsKbG9uZyAgIGxkYXRhW1NJXTsKc2hvcnQgIHNk
YXRhW1NJXTsKY2hhciAgIGNkYXRhW1NJXTsKCmRvdWJsZSBjYWxjMShkb3VibGUgKmRwLGZsb2F0
ICpmcCxsb25nICpscCxzaG9ydCAqc3AsY2hhciAqY3ApOwpkb3VibGUgY2FsYzIoZG91YmxlICpk
cCxmbG9hdCAqZnAsbG9uZyAqbHAsc2hvcnQgKnNwLGNoYXIgKmNwKTsKZG91YmxlIHRpY3RvYyhp
bnQgbW9kZSk7CgoKCmlubGluZSBkb3VibGUgY2FsYzIoZG91YmxlICpkcCxmbG9hdCAqZmQsbG9u
ZyAqbHAsc2hvcnQgKnNwLGNoYXIgKmNwKQp7CiAgZG91YmxlIHN1bTsKICBsb25nIGxzdW07CiAg
aW50IGk7CgogIHN1bT0wOwogIGxzdW09MDsKCiAgcHJpbnRmKCI9PT09PT09PT09PT09Q0FMQzI9
PT09PT09PT09PT09PT09XG4iKTsKICBwcmludGYoImRvdWJsZSAiKTsKICB0aWN0b2MoMSk7CiAg
Zm9yKGk9MDtpPFNJO2krKykKICAgIHN1bSs9ZHBbaV07CiAgdGljdG9jKDApOwoKICB0aWN0b2Mo
MSk7CiAgcHJpbnRmKCJkb3VibGUgIik7CiAgZm9yKGk9MDtpPFNJO2krKykKICAgIHN1bSs9ZGRh
dGFbNTEyK2NkYXRhW2ldXTsKICB0aWN0b2MoMCk7CgogIHJldHVybiBzdW0qKGRvdWJsZSlsc3Vt
Owp9CgoKaW5saW5lIGRvdWJsZSBjYWxjMShkb3VibGUgKmRwLGZsb2F0ICpmcCxsb25nICpscCxz
aG9ydCAqc3AsY2hhciAqY3ApCnsKICByZWdpc3RlciBkb3VibGUgc3VtOwogIGxvbmcgbHN1bTsK
ICBpbnQgaTsKCiAgc3VtPTA7CiAgbHN1bT0wOwoKICBwcmludGYoIj09PT09PT09PT09PT1DQUxD
MT09PT09PT09PT09PT09PT1cbiIpOwogIHByaW50ZigiZG91YmxlICIpOwogIHRpY3RvYygxKTsK
ICBmb3IoaT0wO2k8U0k7aSsrKQogICAgc3VtKz1kcFtpXTsKICB0aWN0b2MoMCk7CgogIHByaW50
ZigiZmxvYXQgICIpOwogIHRpY3RvYygxKTsKICBmb3IoaT0wO2k8U0k7aSsrKQogICAgc3VtKz1m
cFtpXTsKICB0aWN0b2MoMCk7CgogIHByaW50ZigibG9uZyAgICIpOwogIHRpY3RvYygxKTsKICBm
b3IoaT0wO2k8U0k7aSsrKQogICAgc3VtKz0oKGRvdWJsZSlscFtpXSkgLygyNTYqMjU2KTsKICB0
aWN0b2MoMCk7CgogIHByaW50Zigic2hvcnQgICIpOwogIHRpY3RvYygxKTsKICBmb3IoaT0wO2k8
U0k7aSsrKQogICAgc3VtKz0oKGRvdWJsZSlzcFtpXSkgLygyNTYpOwogIHRpY3RvYygwKTsKCiAg
cHJpbnRmKCJjaGFyICAgIik7CiAgdGljdG9jKDEpOwogIGZvcihpPTA7aTxTSTtpKyspCiAgICBz
dW0rPSgoZG91YmxlKXNwW2ldKSAvKDE2KTsKICB0aWN0b2MoMCk7CgogIHByaW50ZigiPT09PT09
PT09PT09PT1cbiIpOwoKICB0aWN0b2MoMSk7CiAgZm9yKGk9MDtpPFNJO2krKykKICAgIHN1bSs9
c3BbaV07CiAgdGljdG9jKDApOwoKICB0aWN0b2MoMSk7CiAgZm9yKGk9MDtpPFNJO2krKykKICAg
IGxzdW0rPWxwW2ldOwogIHRpY3RvYygwKTsKCiAgdGljdG9jKDEpOwogIGZvcihpPTA7aTxTSTtp
KyspCiAgICBsc3VtKz1jcFtpXTsKICB0aWN0b2MoMCk7CgogIHJldHVybiBzdW0qKGRvdWJsZSls
c3VtOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgZG91YmxlIHN1bT0wOwogIHN1bSs9Y2FsYzEoZGRh
dGEsZmRhdGEsbGRhdGEsc2RhdGEsY2RhdGEpOwogIHN1bSs9Y2FsYzIoZGRhdGEsZmRhdGEsbGRh
dGEsc2RhdGEsY2RhdGEpOwogIHJldHVybiAoaW50KXN1bTsKfQoKZG91YmxlIHRpY3RvYyhpbnQg
bW9kZSkKewogICAgc3RhdGljIHN0cnVjdCB0aW1ldmFsIHRpbWV2YWxBOwogICAgc3RhdGljIHN0
cnVjdCB0aW1ldmFsIHRpbWV2YWxCOwogICAgaW50IGV0aW1lOwogICAgaWYobW9kZSkKICAgIHsK
CWdldHRpbWVvZmRheSgmdGltZXZhbEEsTlVMTCk7CglyZXR1cm4gMDsKICAgIH0KICAgIGdldHRp
bWVvZmRheSgmdGltZXZhbEIsTlVMTCk7CiAgICBldGltZT0odGltZXZhbEIudHZfc2VjLXRpbWV2
YWxBLnR2X3NlYykqMTAwMDsKICAgIGV0aW1lPSgodGltZXZhbEIudHZfdXNlYy8xMDAwKS0odGlt
ZXZhbEEudHZfdXNlYy8xMDAwKSkrZXRpbWU7CiAgICBwcmludGYoIklNX1RPQzogJWQgbXNcbiIs
ZXRpbWUpOwogICAgcmV0dXJuICgoZG91YmxlKWV0aW1lKS8xMDAwOwp9Cgo=


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

* Re: optimization/2275: Bad optimization for simple sum loops. -O0 better than -O3
@ 2002-04-01 22:39 rth
  0 siblings, 0 replies; 2+ messages in thread
From: rth @ 2002-04-01 22:39 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nobody, peter.rydesater

Synopsis: Bad optimization for simple sum loops. -O0 better than -O3

State-Changed-From-To: open->closed
State-Changed-By: rth
State-Changed-When: Mon Apr  1 22:39:13 2002
State-Changed-Why:
    Appears to be fixed for gcc 3.1.

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


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

end of thread, other threads:[~2002-04-02  6:39 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-04-01  0:00 optimization/2275: Bad optimization for simple sum loops. -O0 better than -O3 peter.rydesater
2002-04-01 22:39 rth

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).