Re: Optimization bug with floating-point?

From: Steve Kargl <sgk_at_troutmask.apl.washington.edu>
Date: Wed, 13 Mar 2019 08:05:49 -0700
On Tue, Mar 12, 2019 at 07:45:41PM -0700, Steve Kargl wrote:
> All,
> 
> There seems to an optimization bug with clang on
> 
> % uname -a
> FreeBSD mobile 13.0-CURRENT FreeBSD 13.0-CURRENT r344653 MOBILE  i386
> 
> IOW, if you do numerica work on i386, you may want to check your
> results.
> 
> The program demonstrating the issue is at the end of this email.
> 
> gcc8 --version
> gcc8 (FreeBSD Ports Collection) 8.3.0
> 
> gcc8 -fno-builtin -o z a.c -lm && ./z
> gcc8 -O -fno-builtin -o z a.c -lm && ./z
> gcc8 -O2 -fno-builtin -o z a.c -lm && ./z
> gcc8 -O3 -fno-builtin -o z a.c -lm && ./z
> 
> Max ULP: 2.297073
> Count: 0           (# of ULP that exceed 21)
> 

The above results do not change if one add -ffloat-store to
the command line.


> cc -O -fno-builtin -o z a.c -lm && ./z
> cc -O2 -fno-builtin -o z a.c -lm && ./z
> cc -O3 -fno-builtin -o z a.c -lm && ./z
> 
> Max ULP: 23.061242
> Count: 39          (# of ULP that exceeds 21)

Clang doesn't support -ffloat-store, so the above does not change.

-- 
Steve
Received on Wed Mar 13 2019 - 14:05:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:20 UTC