[LLVMbugs] [Bug 16041] New: SIGFPE generated for looping code at -O3

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Thu May 16 15:50:43 PDT 2013


http://llvm.org/bugs/show_bug.cgi?id=16041

            Bug ID: 16041
           Summary: SIGFPE generated for looping code at -O3
           Product: clang
           Version: trunk
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: LLVM Codegen
          Assignee: unassignedclangbugs at nondot.org
          Reporter: dhazeghi at yahoo.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following testcase is miscompiled by current clang trunk on
x86_64-unknown-linux-gnu at -O3 optimization level, crashing with a floating
point exception.

$ clang-trunk -v
clang version 3.4 (trunk 181995)
Target: x86_64-pc-linux-gnu
Thread model: posix
$ mv try2.c crash.c
$ clang-trunk -v
clang version 3.4 (trunk 181995)
Target: x86_64-pc-linux-gnu
Thread model: posix
$ clang-trunk -O2 crash.c 
$ ./a.out 
$ clang-trunk -O3 crash.c 
$ ./a.out 
Floating point exception (core dumped)

-------------------------------------------

short s;
int a;
int b, c;
volatile int v;
static int u[] = { 0, 0, 0, 0, 0, 1 };

void foo() {
  int i, j;
  for (; b <= 0; ++b) {
    int k, d = 0;
    for (; d <= 5; d++) {
      int *l = &c;
      int e = 0;
      for (; e <= 0; e++) {
        int *m = &k;
        unsigned int n = u[d];
        i = !a ? n : n / a;
        j = s ? 0 : (1 >> v);
        *m = j;
      }
      *l = k < i;
    }
  }
}
int main() {
  foo();
  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/20130516/fdba8ec5/attachment.html>


More information about the llvm-bugs mailing list