https://llvm.org/bugs/show_bug.cgi?id=26350
Bug ID: 26350 Summary: wrong code on x86_64-linux-gnu at -O1 and above in 32-bit mode Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: -New Bugs Assignee: unassignedclangb...@nondot.org Reporter: chengnian...@gmail.com CC: llvm-bugs@lists.llvm.org Classification: Unclassified The following code is miscompiled by the trunk in 32-bit mode at -O1 and above. It also affects clang-3.2 and later versions. The compiled executable non-deterministically outputs "l_1845=0". $: clang-trunk -v clang version 3.9.0 (trunk 258824) (llvm/trunk 258823) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /usr/local/bin Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/4.9.3 Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.3.0 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.6.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.7.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.8.4 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9.3 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.3.0 Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3 Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.7.4 Found candidate GCC installation: /usr/local/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.8.2 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/4.9 Candidate multilib: .;@m64 Candidate multilib: 32;@m32 Candidate multilib: x32;@mx32 Selected multilib: .;@m64 $: $: clang-trunk -w -m32 -O0 small.c $: (for i in {1..1000} ; do ./a.out ; done) | wc -l 1000 $: clang-trunk -w -m32 -O1 small.c $: (for i in {1..1000} ; do ./a.out ; done) | wc -l 474 $: clang-trunk -w -m32 -O2 small.c $: (for i in {1..1000} ; do ./a.out ; done) | wc -l 502 $: clang-trunk -w -m32 -O3 small.c $: (for i in {1..1000} ; do ./a.out ; done) | wc -l 516 $: $: cat small.c int printf(const char*, ...); volatile char a, h; long long b; int d; long long fn1_p; int main() { unsigned j = 9, m; int k = -1L, o; long long n = -1L; o = m = ~fn1_p; b = -(-n ^ (j | d)) * ~ - k; if (m > b) printf("l_1845=%llu\n", (long long)h); o || a; return 0; } $: -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs