--- 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
--
--- 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
--- 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
--- 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
movl40(%esp), %edx
m
--- 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 proble
--
jsm28 at gcc dot gnu dot org changed:
What|Removed |Added
Summary|Optimizer regression: |[4.0/4.1/4.2 Regression]
|SciMark sparse matrix
--- 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
-
--- 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 mainl
--- 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 cha