public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
@ 2006-06-04 19:59 ` jsm28 at gcc dot gnu dot org
2006-06-04 20:06 ` pinskia at gcc dot gnu dot org
` (19 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2006-06-04 19:59 UTC (permalink / raw)
To: gcc-bugs
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Optimizer regression: |[4.0/4.1/4.2 Regression]
|SciMark sparse matrix |Optimizer regression:
|benchmark |SciMark sparse matrix
| |benchmark
Target Milestone|--- |4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
2006-06-04 19:59 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark jsm28 at gcc dot gnu dot org
@ 2006-06-04 20:06 ` pinskia at gcc dot gnu dot org
2006-06-06 11:46 ` gcc at pdoerfler dot com
` (18 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-06-04 20:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #2 from pinskia at gcc dot gnu dot org 2006-06-04 20:06 -------
It would be nice if we could get 4.1.x numbers.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
GCC host triplet|i686-pc-linux-gnu |
GCC target triplet| |i686-pc-linux-gnu
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
2006-06-04 19:59 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark jsm28 at gcc dot gnu dot org
2006-06-04 20:06 ` pinskia at gcc dot gnu dot org
@ 2006-06-06 11:46 ` gcc at pdoerfler dot com
2006-07-10 12:45 ` rguenth at gcc dot gnu dot org
` (17 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: gcc at pdoerfler dot com @ 2006-06-06 11:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #3 from gcc at pdoerfler dot com 2006-06-06 11:22 -------
I get the following with -O3 -march=pentium4 -fomit-frame-pointer on a pentium4
gentoo machine:
gcc-3.4.6 gcc-4.0.2 gcc-4.1.1
2.69s 4.14s 3.26s
These are all with gentoo's patches.
Also, current mainline is the same as gcc-4.1.1
I can confirm that the difference without -fomit-frame-pointer is much smaller.
In fact, 3.4.6 and 4.1.1 are almost the same without it.
--
gcc at pdoerfler dot com changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |gcc at pdoerfler dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (2 preceding siblings ...)
2006-06-06 11:46 ` gcc at pdoerfler dot com
@ 2006-07-10 12:45 ` rguenth at gcc dot gnu dot org
2006-08-16 6:50 ` pinskia at gcc dot gnu dot org
` (16 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2006-07-10 12:45 UTC (permalink / raw)
To: gcc-bugs
------- Comment #4 from rguenth at gcc dot gnu dot org 2006-07-10 12:45 -------
I get on a Pentium 4, -O3 -march=pentium4 -fomit-frame-pointer -o bench
Random.i SparseCompRow.i array.i kernel.i main.i
3.4.6: 3.48s
4.0.3: 4.44s
4.1.1: 4.12s
4.2.0: 4.13s
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (3 preceding siblings ...)
2006-07-10 12:45 ` rguenth at gcc dot gnu dot org
@ 2006-08-16 6:50 ` pinskia at gcc dot gnu dot org
2006-08-16 12:16 ` uros at kss-loka dot si
` (15 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-16 6:50 UTC (permalink / raw)
To: gcc-bugs
------- Comment #5 from pinskia at gcc dot gnu dot org 2006-08-16 06:50 -------
Can someone try the mainline again after Paolo B.'s patch?
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |missed-optimization
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (4 preceding siblings ...)
2006-08-16 6:50 ` pinskia at gcc dot gnu dot org
@ 2006-08-16 12:16 ` uros at kss-loka dot si
2006-08-17 7:21 ` uros at kss-loka dot si
` (14 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: uros at kss-loka dot si @ 2006-08-16 12:16 UTC (permalink / raw)
To: gcc-bugs
------- Comment #6 from uros at kss-loka dot si 2006-08-16 12:15 -------
IMO the problem here is in IVopts. Using gcc-3.x, the innermost loop compiles
to:
.L15:
movl (%edi,%edx,4), %eax
fldl (%ebp,%edx,8)
addl $1, %edx
fmull (%esi,%eax,8)
cmpl %ecx, %edx
faddp %st, %st(1)
jl .L15
and with current SVN gcc-4.2 into:
.L12:
movl (%ecx), %eax
fldl (%ebp,%eax,8)
fmull (%edx)
faddp %st, %st(1)
addl $1, %ebx
addl $4, %ecx
addl $8, %edx
cmpl %esi, %ebx
jne .L12
Adding -fno-ivopts, this loop gets compiled into:
.L12:
movl (%edi,%edx,4), %eax
fldl (%esi,%eax,8)
fmull (%ebp,%edx,8)
faddp %st, %st(1)
addl $1, %edx
cmpl %edx, %ecx
jg .L12
Timings (-O3 -march=pentium4 -fomit-frame-pointer):
gcc-3.2: 0m2.301s
gcc-4.2: 0m2.713s
gcc-4.2 + -fno-ivopts: 0m2.473s
with:
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
gcc version 4.2.0 20060816 (experimental)
I think that remaining time difference is due to strange loop above innermost:
gcc-3.2:
fld %st(0)
.L16:
movl 36(%esp), %eax
fld %st(0)
movl 4(%eax,%ebx,4), %ecx
movl (%eax,%ebx,4), %edx
cmpl %ecx, %edx
jge .L23
.L15:
movl (%edi,%edx,4), %eax
fldl (%ebp,%edx,8)
addl $1, %edx
fmull (%esi,%eax,8)
cmpl %ecx, %edx
faddp %st, %st(1)
jl .L15
.L23:
movl 28(%esp), %eax
fstpl (%eax,%ebx,8)
addl $1, %ebx
cmpl 24(%esp), %ebx
jl .L16
========
gcc-4.2:
.L8:
movl 36(%esp), %edx
movl (%edx,%edi,4), %eax
movl 4(%edx,%edi,4), %esi
fldz
cmpl %esi, %eax
jge .L11
fstp %st(0)
movl 40(%esp), %ebx
leal (%ebx,%eax,4), %ecx
movl 32(%esp), %ebx
leal (%ebx,%eax,8), %edx
fldz
xorl %ebx, %ebx
subl %eax, %esi
.L12:
movl (%ecx), %eax
fldl (%ebp,%eax,8)
fmull (%edx)
faddp %st, %st(1)
addl $1, %ebx
addl $4, %ecx
addl $8, %edx
cmpl %esi, %ebx
jne .L12
.L11:
movl 28(%esp), %eax
fstpl (%eax,%edi,8)
addl $1, %edi
cmpl 24(%esp), %edi
jne .L8
========
and gcc-4.2 -fno-ivopts:
.L8:
leal (%ebx,%ebx), %eax
movl 40(%esp), %edx
movl (%edx,%eax,2), %edx
movl %edx, (%esp)
movl 40(%esp), %edx
movl 4(%edx,%eax,2), %ecx
fldz
cmpl %ecx, (%esp)
jge .L11
fstp %st(0)
movl (%esp), %edx
fldz
.L12:
movl (%edi,%edx,4), %eax
fldl (%esi,%eax,8)
fmull (%ebp,%edx,8)
faddp %st, %st(1)
addl $1, %edx
cmpl %edx, %ecx
jg .L12
.L11:
movl 32(%esp), %ecx
fstpl (%ecx,%ebx,8)
addl $1, %ebx
cmpl %ebx, 28(%esp)
jg .L8
--
uros at kss-loka dot si changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |uros at kss-loka dot si
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2006-08-16 12:15:56
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (5 preceding siblings ...)
2006-08-16 12:16 ` uros at kss-loka dot si
@ 2006-08-17 7:21 ` uros at kss-loka dot si
2006-08-17 7:46 ` uros at kss-loka dot si
` (13 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: uros at kss-loka dot si @ 2006-08-17 7:21 UTC (permalink / raw)
To: gcc-bugs
------- Comment #7 from uros at kss-loka dot si 2006-08-17 07:21 -------
(In reply to comment #6)
> I think that remaining time difference is due to strange loop above innermost:
... due to strange _header_ above innermost loop ...
The problem is that we load zero in both arms of "if".
This is what I get in .099t.optimized (using gcc-4.2 -O2 -fno-ivopts):
<L1>:;
r.0 = (unsigned int) r;
D.1556 = r.0 * 4;
rowR = *((int *) D.1556 + row);
rowRp1 = *((int *) D.1556 + row + 4B);
if (rowR < rowRp1) goto <L41>; else goto <L42>;
<L42>:;
sum = 0.0;
goto <bb 5> (<L4>);
<L41>:;
i = rowR;
sum = 0.0;
Assignment to sum should be moved before if...
SSE is able to somehow CSE zero load during RTL:
.L8:
movl 20(%ebp), %edx
movapd %xmm2, %xmm1
movl (%edx,%ebx,4), %eax
movl 4(%edx,%ebx,4), %ecx
cmpl %ecx, %eax
jge .L11
movl %eax, %edx
.p2align 4,,7
.L12:
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (6 preceding siblings ...)
2006-08-17 7:21 ` uros at kss-loka dot si
@ 2006-08-17 7:46 ` uros at kss-loka dot si
2006-08-29 5:24 ` [Bug rtl-optimization/21676] [4.0/4.1 " pinskia at gcc dot gnu dot org
` (12 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: uros at kss-loka dot si @ 2006-08-17 7:46 UTC (permalink / raw)
To: gcc-bugs
------- Comment #8 from uros at kss-loka dot si 2006-08-17 07:45 -------
Also interesting is, that -march=pentium4 produces following "de-optimized"
code, adding a couple more instructions and wasting %eax register:
.L8:
leal (%ebx,%ebx), %eax
movl 40(%esp), %edx
movl (%edx,%eax,2), %edx
movl %edx, (%esp)
movl 40(%esp), %edx
movl 4(%edx,%eax,2), %ecx
movapd %xmm2, %xmm1
cmpl %ecx, (%esp)
jge .L11
movl (%esp), %edx
.L12:
Some additiona timing can be shown (gcc-4.2 -O2 -fomit-frame-pointer):
-march=pentium4: 0m2.756s
-march=pentium4 -fno-ivopts: 0m2.500s
-march=pentium4 -fno-ivopts -mfpmath=sse: 0m2.461s
-msse2 -fno-ivopts -mfmpath=sse: 0m2.311s
In the last case, the generated code is equal to gcc-3.2 generated one:
.L8:
movl 36(%esp), %edx
movapd %xmm2, %xmm1
movl (%edx,%ebx,4), %eax
movl 4(%edx,%ebx,4), %ecx
cmpl %ecx, %eax
jge .L11
movl %eax, %edx
.p2align 4,,7
.L12:
movl (%edi,%edx,4), %eax
movsd (%esi,%eax,8), %xmm0
mulsd (%ebp,%edx,8), %xmm0
addl $1, %edx
cmpl %edx, %ecx
addsd %xmm0, %xmm1
jg .L12
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (7 preceding siblings ...)
2006-08-17 7:46 ` uros at kss-loka dot si
@ 2006-08-29 5:24 ` pinskia at gcc dot gnu dot org
2006-08-29 6:13 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 " uros at kss-loka dot si
` (11 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2006-08-29 5:24 UTC (permalink / raw)
To: gcc-bugs
------- Comment #9 from pinskia at gcc dot gnu dot org 2006-08-29 05:24 -------
Fixed on the mainline by:
http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01036.html
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.0/4.1/4.2 Regression] |[4.0/4.1 Regression]
|Optimizer regression: |Optimizer regression:
|SciMark sparse matrix |SciMark sparse matrix
|benchmark |benchmark
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (8 preceding siblings ...)
2006-08-29 5:24 ` [Bug rtl-optimization/21676] [4.0/4.1 " pinskia at gcc dot gnu dot org
@ 2006-08-29 6:13 ` uros at kss-loka dot si
2007-02-14 9:11 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
` (10 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: uros at kss-loka dot si @ 2006-08-29 6:13 UTC (permalink / raw)
To: gcc-bugs
------- Comment #10 from uros at kss-loka dot si 2006-08-29 06:12 -------
(In reply to comment #9)
> Fixed on the mainline by:
> http://gcc.gnu.org/ml/gcc-patches/2006-08/msg01036.html
Not really, the above patch fixed only one of three problems. The other two
remains, that is:
- ivopts problem (see comment #6)
- -march=pentium4 (see comment #8)
I'll try to see which option causes problems, described in #8.
--
uros at kss-loka dot si changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.0/4.1 Regression] |[4.0/4.1/4.2 Regression]
|Optimizer regression: |Optimizer regression:
|SciMark sparse matrix |SciMark sparse matrix
|benchmark |benchmark
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (9 preceding siblings ...)
2006-08-29 6:13 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 " uros at kss-loka dot si
@ 2007-02-14 9:11 ` mmitchel at gcc dot gnu dot org
2007-12-16 23:17 ` steven at gcc dot gnu dot org
` (9 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: mmitchel at gcc dot gnu dot org @ 2007-02-14 9:11 UTC (permalink / raw)
To: gcc-bugs
--
mmitchel at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|4.1.2 |4.1.3
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (10 preceding siblings ...)
2007-02-14 9:11 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
@ 2007-12-16 23:17 ` steven at gcc dot gnu dot org
2007-12-16 23:49 ` ubizjak at gmail dot com
` (8 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu dot org @ 2007-12-16 23:17 UTC (permalink / raw)
To: gcc-bugs
------- Comment #11 from steven at gcc dot gnu dot org 2007-12-16 23:17 -------
Open regression with no activity since February 14. Ping?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (11 preceding siblings ...)
2007-12-16 23:17 ` steven at gcc dot gnu dot org
@ 2007-12-16 23:49 ` ubizjak at gmail dot com
2008-01-12 15:29 ` steven at gcc dot gnu dot org
` (7 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2007-12-16 23:49 UTC (permalink / raw)
To: gcc-bugs
------- Comment #12 from ubizjak at gmail dot com 2007-12-16 23:49 -------
(In reply to comment #11)
> Open regression with no activity since February 14. Ping?
Current 4.3 SVN produces (-O3 -march=pentium4):
.L8:
movl (%ebx), %eax #* ivtmp.33, tmp84
fldl (%edi,%eax,8) #
fmull (%ecx) #* ivtmp.35
faddp %st, %st(1) #,
addl $1, %edx #, i
addl $4, %ebx #, ivtmp.33
addl $8, %ecx #, ivtmp.35
cmpl %edx, %esi # i, rowRp1
jg .L8 #,
(+ -fno-ivopts):
.L8:
movl (%esi,%edx,4), %eax #, tmp76
fldl (%edi,%eax,8) #* x
movl 16(%ebp), %eax # val, <-----here
fmull (%eax,%edx,8) #
faddp %st, %st(1) #,
addl $1, %edx #, i
cmpl %edx, %ecx # i, rowRp1
jg .L8 #,
We regressed vs. 4.2 in this case; "val" is loaded inside the loop.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (12 preceding siblings ...)
2007-12-16 23:49 ` ubizjak at gmail dot com
@ 2008-01-12 15:29 ` steven at gcc dot gnu dot org
2008-02-06 11:06 ` ubizjak at gmail dot com
` (6 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu dot org @ 2008-01-12 15:29 UTC (permalink / raw)
To: gcc-bugs
------- Comment #13 from steven at gcc dot gnu dot org 2008-01-12 14:34 -------
Re. comment #7, "Assignment to sum should be moved before if..."
This is called code hoisting, and it is not performed in GCC except with -Os.
See bug 24001, bug 33315, and other reports about the same issue in Bugzilla.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (13 preceding siblings ...)
2008-01-12 15:29 ` steven at gcc dot gnu dot org
@ 2008-02-06 11:06 ` ubizjak at gmail dot com
2008-07-04 16:54 ` [Bug rtl-optimization/21676] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
` (5 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: ubizjak at gmail dot com @ 2008-02-06 11:06 UTC (permalink / raw)
To: gcc-bugs
------- Comment #14 from ubizjak at gmail dot com 2008-02-06 11:05 -------
We still generate:
.L8:
movl (%ebx), %eax
addl $1, %edx
addl $4, %ebx
fldl (%edi,%eax,8)
fmull (%ecx)
addl $8, %ecx
cmpl %edx, %esi
faddp %st, %st(1)
jg .L8
This could IMO be optimized on RTL level, to use %edx as a count variable:
.L8:
movl (%ebx,%edx,4), %eax
fldl (%edi,%eax,8)
fmull (%ecx,%edx,8)
addl $1, %edx
cmpl %edx, %esi
faddp %st, %st(1)
jg .L8
This would be optimal code for this loop.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.2/4.3/4.4 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (14 preceding siblings ...)
2008-02-06 11:06 ` ubizjak at gmail dot com
@ 2008-07-04 16:54 ` jsm28 at gcc dot gnu dot org
2008-11-22 10:33 ` steven at gcc dot gnu dot org
` (4 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2008-07-04 16:54 UTC (permalink / raw)
To: gcc-bugs
------- Comment #15 from jsm28 at gcc dot gnu dot org 2008-07-04 16:53 -------
Closing 4.1 branch.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.1/4.2/4.3/4.4 Regression]|[4.2/4.3/4.4 Regression]
|Optimizer regression: |Optimizer regression:
|SciMark sparse matrix |SciMark sparse matrix
|benchmark |benchmark
Target Milestone|4.1.3 |4.2.5
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug rtl-optimization/21676] [4.2/4.3/4.4 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (15 preceding siblings ...)
2008-07-04 16:54 ` [Bug rtl-optimization/21676] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
@ 2008-11-22 10:33 ` steven at gcc dot gnu dot org
2009-02-05 8:03 ` [Bug tree-optimization/21676] " bonzini at gnu dot org
` (3 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: steven at gcc dot gnu dot org @ 2008-11-22 10:33 UTC (permalink / raw)
To: gcc-bugs
------- Comment #16 from steven at gcc dot gnu dot org 2008-11-22 10:31 -------
See comment #7 and comment #13.
--
steven at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |23286
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/21676] [4.2/4.3/4.4 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (16 preceding siblings ...)
2008-11-22 10:33 ` steven at gcc dot gnu dot org
@ 2009-02-05 8:03 ` bonzini at gnu dot org
2009-02-16 9:04 ` [Bug tree-optimization/21676] [4.2/4.3 " bonzini at gnu dot org
` (2 subsequent siblings)
20 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2009-02-05 8:03 UTC (permalink / raw)
To: gcc-bugs
------- Comment #17 from bonzini at gnu dot org 2009-02-05 08:03 -------
Confirmed:
3.3 -O2 3.11s
4.1 -O2 3.44s
4.4 -O2 3.36s
4.4 -O2 -fno-ivopts 3.00s
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bonzini at gnu dot org
Component|rtl-optimization |tree-optimization
Last reconfirmed|2006-08-16 12:15:56 |2009-02-05 08:03:22
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/21676] [4.2/4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (17 preceding siblings ...)
2009-02-05 8:03 ` [Bug tree-optimization/21676] " bonzini at gnu dot org
@ 2009-02-16 9:04 ` bonzini at gnu dot org
2009-03-31 18:47 ` [Bug tree-optimization/21676] [4.3 " jsm28 at gcc dot gnu dot org
2009-04-22 15:10 ` rguenth at gcc dot gnu dot org
20 siblings, 0 replies; 21+ messages in thread
From: bonzini at gnu dot org @ 2009-02-16 9:04 UTC (permalink / raw)
To: gcc-bugs
------- Comment #18 from bonzini at gnu dot org 2009-02-16 09:04 -------
For whatever reason, we're now faster than GCC 3.3.
-O2 -fno-ivopts is still faster than -O2, will open an enhancement request for
that.
--
bonzini at gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.4.0
Summary|[4.2/4.3/4.4 Regression] |[4.2/4.3 Regression]
|Optimizer regression: |Optimizer regression:
|SciMark sparse matrix |SciMark sparse matrix
|benchmark |benchmark
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/21676] [4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (18 preceding siblings ...)
2009-02-16 9:04 ` [Bug tree-optimization/21676] [4.2/4.3 " bonzini at gnu dot org
@ 2009-03-31 18:47 ` jsm28 at gcc dot gnu dot org
2009-04-22 15:10 ` rguenth at gcc dot gnu dot org
20 siblings, 0 replies; 21+ messages in thread
From: jsm28 at gcc dot gnu dot org @ 2009-03-31 18:47 UTC (permalink / raw)
To: gcc-bugs
------- Comment #19 from jsm28 at gcc dot gnu dot org 2009-03-31 18:47 -------
Closing 4.2 branch.
--
jsm28 at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[4.2/4.3 Regression] |[4.3 Regression] Optimizer
|Optimizer regression: |regression: SciMark sparse
|SciMark sparse matrix |matrix benchmark
|benchmark |
Target Milestone|4.2.5 |4.3.4
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
* [Bug tree-optimization/21676] [4.3 Regression] Optimizer regression: SciMark sparse matrix benchmark
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
` (19 preceding siblings ...)
2009-03-31 18:47 ` [Bug tree-optimization/21676] [4.3 " jsm28 at gcc dot gnu dot org
@ 2009-04-22 15:10 ` rguenth at gcc dot gnu dot org
20 siblings, 0 replies; 21+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2009-04-22 15:10 UTC (permalink / raw)
To: gcc-bugs
------- Comment #20 from rguenth at gcc dot gnu dot org 2009-04-22 15:10 -------
WONTFIX on the 4.3 branch.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Known to fail|4.0.4 |4.0.4 4.3.3
Resolution| |FIXED
Target Milestone|4.3.4 |4.4.0
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21676
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2009-04-22 15:10 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <bug-21676-10607@http.gcc.gnu.org/bugzilla/>
2006-06-04 19:59 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 Regression] Optimizer regression: SciMark sparse matrix benchmark jsm28 at gcc dot gnu dot org
2006-06-04 20:06 ` pinskia at gcc dot gnu dot org
2006-06-06 11:46 ` gcc at pdoerfler dot com
2006-07-10 12:45 ` rguenth at gcc dot gnu dot org
2006-08-16 6:50 ` pinskia at gcc dot gnu dot org
2006-08-16 12:16 ` uros at kss-loka dot si
2006-08-17 7:21 ` uros at kss-loka dot si
2006-08-17 7:46 ` uros at kss-loka dot si
2006-08-29 5:24 ` [Bug rtl-optimization/21676] [4.0/4.1 " pinskia at gcc dot gnu dot org
2006-08-29 6:13 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2 " uros at kss-loka dot si
2007-02-14 9:11 ` [Bug rtl-optimization/21676] [4.0/4.1/4.2/4.3 " mmitchel at gcc dot gnu dot org
2007-12-16 23:17 ` steven at gcc dot gnu dot org
2007-12-16 23:49 ` ubizjak at gmail dot com
2008-01-12 15:29 ` steven at gcc dot gnu dot org
2008-02-06 11:06 ` ubizjak at gmail dot com
2008-07-04 16:54 ` [Bug rtl-optimization/21676] [4.2/4.3/4.4 " jsm28 at gcc dot gnu dot org
2008-11-22 10:33 ` steven at gcc dot gnu dot org
2009-02-05 8:03 ` [Bug tree-optimization/21676] " bonzini at gnu dot org
2009-02-16 9:04 ` [Bug tree-optimization/21676] [4.2/4.3 " bonzini at gnu dot org
2009-03-31 18:47 ` [Bug tree-optimization/21676] [4.3 " jsm28 at gcc dot gnu dot org
2009-04-22 15:10 ` rguenth at gcc dot gnu dot org
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).