[LLVMbugs] [Bug 18715] New: clang produces bogus numbers with -ffast-math -mfma -O2
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Feb 3 14:16:11 PST 2014
http://llvm.org/bugs/show_bug.cgi?id=18715
Bug ID: 18715
Summary: clang produces bogus numbers with -ffast-math -mfma
-O2
Product: clang
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: -New Bugs
Assignee: unassignedclangbugs at nondot.org
Reporter: pdknsk at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
$ clang --version
Ubuntu clang version 3.5-1~exp1 (trunk) (based on LLVM 3.5)
Target: i386-pc-linux-gnu
Unfortunately I don't have a reduced case, but it takes less than a minute to
get and run the code.
$ wget http://llvm.org/img/LLVM-Logo-Derivative-5.png -O file.png
$ git clone https://github.com/pornel/mediancut-posterizer
$ cd mediancut-posterizer
Now add two lines to posterize.c as described below.
https://github.com/pornel/mediancut-posterizer/issues/4
Compile and run.
$ CC=clang make
$ ./posterize -d -Q 100 ../file.png file.png -v
MSE=6.392 (Q=79, 255 levels)
$ make clean
$ CC=clang CFLAGSADD=-mfma make
$ ./posterize -d -Q 100 ../file.png file.png -v
MSE=221.115 (Q=0, 255 levels)
The output is totally false (and so is the file).
The Makefile sets quite a few flags, but only those mentioned in the topic are
relevant. You can just set them as CFLAGS directly if you prefer.
Both GCC 4.8 and ICC 14.0 compile the file correctly with or without FMA.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140203/a05e632b/attachment.html>
More information about the llvm-bugs
mailing list