i686 (PentiumPro) Optimizer Bug

Hans Dolfing Hans.Dolfing@home.ivm.de
Tue Nov 17 14:00:00 GMT 1998


Gerhard Heinzel (ghh@mpq.mpg.de) wrote:
>I believe I have found a bug in the PentiumPro optimizer of
>
> gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
>
>built for i686-pc-linux-gnulibc1 without any options or modifications.
>
>The program below should multipliy a matrix with its inverse and compare
>elementwise the result to the unity matrix, recording the maximum absolute
>difference between the expected result and the unity matrix.
>
>I have simplified the program as much as possible, using unity matrices as
>operands. The result should be 0.

Hi,

Just to provide another datapoint: I see exactly the
problems you describe with the given testcase. I'am just
reporting this because there was another message on the list 
from somebody who was unable to reproduce the problem.

(Of course the interesting question is: why? Maybe the difference
is with or without haifa?)

My config is i686-pc-linux-gnulibc1, Redhat 4.0, ppro200. Specs are:

Reading specs from
/usr/local/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.58/specs
gcc version egcs-2.91.58 19981101 (egcs-1.1.1 pre-release)

Haifa scheduler enabled. /proc/cpuinfo is the same as yours.

>Since I regularily compile programs for lengthy numerical mathematics for
>our GNU/Linux PentiumPro machines I would be very pleased to learn that I
>can continue to optimize for that machine.

Same here. However, the problems with -march=pentiumpro are a real
showstopper
for me. I hope the other two bug reports & testcases I contributed on 
i686 problems (with -mieee-fp and '-march=pentiumpro -O2 -funroll-loops'
combinations (Nov06)) are helpful to track down the problem :)

Best regards,

  Hans Dolfing



More information about the Gcc-bugs mailing list