[LLVMbugs] [Bug 15584] New: Invalid optimization for 8-byte integers with -O2
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Mar 25 04:38:42 PDT 2013
http://llvm.org/bugs/show_bug.cgi?id=15584
Bug ID: 15584
Summary: Invalid optimization for 8-byte integers with -O2
Product: new-bugs
Version: 3.2
Hardware: PC
OS: MacOS X
Status: NEW
Severity: release blocker
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: rybalkin at ggasoftware.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 10237
--> http://llvm.org/bugs/attachment.cgi?id=10237&action=edit
example source code
Provided source code gives incorrect result with -O2 optimization flags.
It reports that number of one bits in 0xFFFFFFFFFFFFFFFFULL 64 without
optimizations and less then 64 (random results like 58, 59, 60) with -O2 flags.
This code computes number of common 'one' bits in two binary arrays:
1. bitGetOnesCountByte is a simple table lookup function to get number of one
bits in a single byte.
2. bitGetOnesCount method counts number of one bits in a binary array
3. bitCommonOnes method counts common one bits in two qword-arrays. It perform
bit and operation and count number of one bits in the result via
bitGetOnesCount method.
Compile inlines bitGetOnesCount in bitCommonOnes method and unroll loop because
number of bytes in qword is 8. Probably the bug is due to this step.
Clang version:
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
Reproduced on Mac OS X 10.7 and Mac OS X 10.8.
Not reproduced on Debian with clang 3.0.
--
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/20130325/0b87edf9/attachment.html>
More information about the llvm-bugs
mailing list