Bug#515949: Simple test case for gcc -ffast-math bug
Kurt Roeckx
kurt at roeckx.be
Thu Mar 19 17:53:45 UTC 2009
On Thu, Mar 19, 2009 at 05:22:11PM +1100, Erik de Castro Lopo wrote:
>
> The following test case shows the failure when compiling with -ffast-math
> gives a different result than when compiling with out it.
>
> More explanation in the comments at the top of the file.
>
> Cheers,
> Erik
>
> /*
> ** This file is in the Public Domain.
> **
> ** This program demonstrates a bug in the -ffast-math option of the gcc
> ** armel compiler : gcc version 4.3.2 (Debian 4.3.2-1.1)
> **
> ** This works as expected:
> **
> ** > gcc -Wall -O3 gcc-test.c -o gcc-test && ./gcc-test
> ** min : 0.0000 max : 0.0000
> **
> ** Compile with -ffast-math and things goes screwy.
> **
> ** > gcc -Wall -O3 -ffast-math gcc-test.c -o gcc-test && ./gcc-test
> ** min : 99999.0000 max : 0.0000
> */
I get the following results:
(sid)kroeckx at agricola:~$ gcc -O1 -ffinite-math-only tst.c -o tst
(sid)kroeckx at agricola:~$ ./tst
min : 99999.0000 max : -99999.0000
(sid)kroeckx at agricola:~$ gcc -O3 -ffinite-math-only tst.c -o tst
(sid)kroeckx at agricola:~$ ./tst
min : 99999.0000 max : 0.0000
With gcc version 4.3.3 (Debian 4.3.3-5)
agricola is an armel running on a Thecus N2100:
Processor : XScale-80219 rev 0 (v5l)
BogoMIPS : 593.10
Features : swp half thumb fastmult edsp
CPU implementer : 0x69
CPU architecture: 5TE
CPU variant : 0x0
CPU part : 0x2e3
CPU revision : 0
I've also tried this on ia64, hppa, mips, mipsel and arm, they all
gave the expected output.
I will clone this bug to gcc and file a bug upstream.
Kurt
More information about the pkg-xiph-maint
mailing list