This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: x86 regression: optimizer bug in 1.1 and dev


Mumit Khan <khan@xraylith.wisc.edu> said:
> Versions affected: 1.1 and development snapshots. REGRESSION from 1.0.3.
> 
> The following optimizer bug shows up on i686-pc-linux-gnu, i386-*win32 
> (and possibly other x86) ports when using -Ox, x >= 2.
> 
> Thanks to Peter Kabal <Kabal@ece.mcgill.ca> for the report and attached 
> testcase.
> 
> To reproduce on i686-pc-linux-gnu:
>   
>   $ gcc -O2 -D__NO_MATH_INLINES -o floor-bug floor-bug.c
>   $ ./floor-bug
>   AV = 20, AV - floor(AV) = -1.11022e-15
>                             ^^^^^^^^^^^^ should always be >= 0
> 
> Note that -D__NO_MATH_INLINES is necessary to reproduce the bug on glibc2.

This is i586, egcs-1.1, linux-2.1.127arca12, binutils-2.9.1.0.15,
glibc-2.0.100

I see the exact same result here, but I had to add -lm to link in the math
library.  You sure it's not a glibc bug (no -D__NO_MATH_INLINES gives:

AV = 20, AV - floor(AV) = 1

and libm is _not_ used). 
-- 
Horst von Brand                             vonbrand@sleipnir.valparaiso.cl
Casilla 9G, Viņa del Mar, Chile                               +56 32 672616


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]