[llvm-bugs] [Bug 26734] New: wrong code at -O2, -O3 (NOT -Os) on x86-64-linux-gnu (in 32- and 64-bit modes)

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Feb 25 02:35:41 PST 2016


https://llvm.org/bugs/show_bug.cgi?id=26734

            Bug ID: 26734
           Summary: wrong code at -O2, -O3 (NOT -Os) on x86-64-linux-gnu
                    (in 32- and 64-bit modes)
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: -New Bugs
          Assignee: unassignedclangbugs at nondot.org
          Reporter: chengniansun at gmail.com
                CC: llvm-bugs at lists.llvm.org
    Classification: Unclassified

The following code is miscompiled by the trunk on x86_64-linux-gnu at -O2 and
above in both 32-bit and 64-bit modes. 

$: clang-trunk -v
clang version 3.9.0 (trunk 261722) (llvm/trunk 261721)
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.5
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 -O3 small.c ; ./a.out
2
$: clang-trunk -w -O0 small.c ; ./a.out
0
$: 
$: cat small.c
int printf(const char*, ...);
short a, e;
int b = 3, c, d;
int main() {
  for (; d != 21; ++d) {
    b &= c;
    e = a - 6;
    c = e;
  }
  printf("%d\n", b);
  return 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/20160225/94df9a3a/attachment.html>


More information about the llvm-bugs mailing list