i686 (PentiumPro) Optimizer Bug

Hans Dolfing Hans.Dolfing@home.ivm.de
Wed Dec 23 14:11:00 GMT 1998


>This is a patch for egcs 1.1.1 which fixes the bug
>
> http://www.cygnus.com/ml/egcs-bugs/1998-Nov/0476.html

[snip]

>If you are using floating point with Pentium Pro optimization, I
>strongly encourage you to give this patch a try.

Hi,

1. Just to provide another datapoint, I'd like to confirm
   that the patch reported in

 http://www.cygnus.com/ml/egcs-patches/1998-Dec/0400.html

   solved the problem reported as 

 http://www.cygnus.com/ml/egcs-bugs/1998-Nov/0476.html

  related to '-march=pentiumpro -O2' compiler options. 
  (Compiler details below)

2. However, the bug reported at

 http://www.cygnus.com/ml/egcs-bugs/1998-Nov/0169.html

  related to '-march=pentiumpro -O2 -funroll-loops' 
  is still there, even with the new patch :(

  (The combination of arch=pentiumpro AND unroll-loops
  seems to be the only combinations of options 
  to trigger the problem. Because the assembler code,
  generated with -S, contains cmovg/cmovle instructions,
  I have the feeling that HJ's patch almost solves the problem,
  except that 

 http://www.cygnus.com/ml/egcs-bugs/1998-Nov/0169.html

 does not use floating-point instructions like fcmov..)


Best regards,

 Hans

Compiler setup: --------------------------------------------------

1. Out-of-the box egcs1.1.1

     PLUS HJ's patch

 http://www.cygnus.com/ml/egcs-patches/1998-Dec/0400.html

2. Specs: gcc -v
Reading specs from
/usr/local/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.60/specs
gcc version egcs-2.91.60 19981201 (egcs-1.1.1 release)

3. config.guess: i686-pc-linux-gnulibc1
4. Configured with --enable-haifa --enable-shared



More information about the Gcc-bugs mailing list